Presentation is loading. Please wait.

Presentation is loading. Please wait.


Similar presentations

Presentation on theme: "S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A."— Presentation transcript:


2 Intentions A first attempt has been made to define an S-100 portrayal model keeping in mind the following four points: 1.Define the S-100 portrayal model as a candidate to handle the digital part of a portrayal specification (text document). 2.Define this portrayal model as also a candidate for the IHO portrayal register. The main objective is to provide a flexible means to define new portrayal catalogues either for new S-100 product specifications or for an existing product specification. 3.Define a portrayal model as a profile of the abstract standard ISO The future S-52 specification (define to portray S-101 datasets in an ECDIS context => IMO Requirements) relies on a portrayal catalog issued from the S-100 portrayal model. We also have taken this opportunity to improve some portrayal aspects of the current presentation library, but with keeping in mind not to introduce regressions. For example, by mapping diagram conditional procedure to digital portrayal function. 2

3 S-100 PORTRAYAL PACKAGE S-100 Portrayal Specification (document) Generality Definition of symbols (addendum) Conditionals Procedures (text description and or Diagram description) Definition of the content of the associated S-100 Portrayal Catalog S-100 Portrayal Catalog (digital form) Catalogs of description of symbols (XML form) Catalogs of Portrayal function (XML form) Catalog of Conditionals Procedures (XML form) Is associated with 3


5 The S-100 Portrayal Model in conformance with ISO will organize portrayal information in two sub models: the S-100 Symbol Model. the S-100 Portrayal Function Model. The implementation of this model will be an XML schema application. An S-100 portrayal catalog will group digital portrayal information necessary to portray S-100 products taking a specific context into account (e.g. Navigation). The S-100 Portrayal Model as a profile of ISO

6 The S-100 Portrayal Catalog The S-100 Portrayal Catalog contains the portrayal function that contains all necessary elements (rules, functions, parameters) for mapping feature instances to symbols taking into account a specific context. The portrayal function is mandatory in a portrayal catalog. Optionally, the catalog supplies the symbols pointed to by portrayal rules defined in the portrayal function. 6

7 The S-100 Portrayal Function The S-100 Portrayal Function contains mainly the catalog portrayal functions. A Catalog Portrayal Function is associated with a product feature catalog and in turn supplies portrayal rules for feature types defined in this product feature catalog. The portrayal function also collects the function declarations. These basic functions are called from portrayal rules. There are specific context functions (e.g., setViewingGroup, setRaderLevel) or graphic functions (e.g., drawSectorLine) or conditional procedures (e.g., Restrn01, Lights05,..) The portrayal function collects the portrayal parameters declarations associated with the context, such as safetyContourValue. 7

8 The S-100 Catalog Portrayal Function The S-100 Catalog Portrayal Function is first linked to a product feature catalog by designed the product feature catalog name. This means that the feature portrayal functions collected in the feature portrayal function list concerns feature types defined in the associated product feature catalog. Note that the catalog portrayal function may be limited to a geometry delineation (point, line or area). This means that this catalog portrayal function is defined for feature types for which the selected geometry delineation is allowed by the product specification (e.g., PaperChart catalog portrayal function is restricted to point feature type). 8

9 Example Portrayal Function Example implementation with the current S-52 Presentation Library in which the S-100 portrayal function element supplies: 5 catalog portrayal functions (i.e., five look up tables) 2 conditional procedure declarations (used by rules defined in the catalog portrayal functions). 2 basic function declarations (e.g., setViewingGroup) 9

10 The Feature Portrayal Function List The feature portrayal function list mainly collects feature portrayal functions and could propose default portrayal instructions in cases where no feature portrayal function matched the current feature instance. The list is also defined by a process match rule type: matchAllRules means that the application must evaluated each feature portrayal function and accumulate portrayal instructions for functions that match the current feature instance. matchTheBestRule means that the application must break the loop as soon as a feature portrayal function match the current feature instance. 10

11 Example default portrayal instructions at the feature portrayal list level 11

12 The Feature Portrayal Function The feature portrayal function proposes portrayal rules for one or a set of feature types. Portrayal rules are organized by geometry delineation (S-100 Portrayal delineation types). The feature portrayal function element is an abstract element. It is mainly implemented as a feature type portrayal function, which is associated with one feature type. Occasionally, it could be implemented as a feature filter portrayal function, which allows the selection of a set of feature instances by defining more than one feature type and potentially by defining a semantic (attribute) filter." 12

13 Example Feature Type Portrayal Function Feature Filter Portrayal Function 13

14 The Portrayal Delineation The portrayal delineation associates a set of portrayal rules (S-100_PortrayalRuleSet) and potentially a geometry delineation. The portrayal rule set could supply a set of portrayal rules and default portrayal instructions in cases where no portrayal rule matchs the current feature instance. Each Portrayal Rule has a rule priority. 14

15 The Portrayal Rule The portrayal rule is qualified by a filter. This filter must be evaluated to true through the current feature instance (calling object) If yes, the portrayal instructions set must be associated with the current feature with the display priority defined in the rule. If there are some function calls they also must be executed on the current objet. (setViewingGroup or conditional procedure). 15

16 Example with beacon cardinal feature type 16

17 The Portrayal Instructions and symbol references 17

18 Example 18

19 How to call a conditional procedure from portrayal rules. The RESTRN01 conditional procedure is called from portrayal rules and must include or append to the existing portrayal instructions already set by the rule. 19

20 How to declare a conditional procedure. You need to declare the conditional procedures used by portrayal rules and point their definition path (may point to the specification documentation). 20

21 How to define a conditional procedure. We choose to isolate conditional procedure in a stand alone xml file (in conformance with the S-100 portrayal model). 21

22 Points for considering CSPs A flat portrayal rule is based on one condition (operator is equal to) which is based itself on attribute values. A flat portrayal rule could be defined in a digital form and in turn could be ingested directly by system. A CSP is a portrayal rule defined with a lot of conditions (if, elseif else, loop) or / and under the influence of external parameters (as context parameters). We have with the current presentation library to deal with 1.Either very simple portrayal rules (flat portrayal rule). 2.Or very complex portrayal rules (CSPs). For some feature types the CSP is the only way to portray feature instances. The current way to define a CSP is Nassi & Sheinderman Diagram (not digital form). This kind of diagram is efficient and comprehensive for humans, especially developers. There is no tool to create or update Nassi & Sheinderman Diagrams. 22

23 The points for considering CSPs For the S-100 Portrayal project, the goal is to supply the complete portrayal catalog (flat and CSP portrayal rules) in a digital form. In order to achieve this goal, we have defined an S-100 Portrayal Model (based on ISO 19117). This model offers the possibility to define more than one condition (if elseif else) and for each condition to use more operators (ogc:filter) We now have the possibility to extend (digital) portrayal rules to some simple or complex portrayal rules. In parallel to the S-100 portrayal model, NOAA-ENVITIA have proposed specific XML grammar to define CSPs. We have realized a combination of the S-100 portrayal model and the work of ENVITIA in order to give more consistency between a portrayal rule and a conditional procedure. The result is the last version of S-100 portrayal model. Even, if we will succeed to map all CSP to the S-100 portrayal model, we know at this stage that it will be impossible to ingest these XML CSP on the fly in ECDIS systems. The intention is to generate diagram conditional procedure as the current presentation library does. Ultimately, the choice will be left to the manufacturers to implement conditional procedures from diagrams or to integrate them directly. 23

24 Classification of portrayal rules ComplexityVery SimpleSimpleComplexVery Complex DefinitionOne condition (« is equal » simple operator to and logic « and » operator.) More operators (greater than,..) and « or » logic operator. More than one condition (If, ElseIf and Else) and each condition could rely one the panel of operators. A lot of conditions, and the use of specific loops. Definition of panel Based OnAttributes values Attributes values and context parameters Example in S-52 PLNo Example LIGHTS05, DEPARE03, RESTRN01, … Difficulties to be defined in Digital Form NO YES Difficulties to be defined in the portrayal catalog (at the same level of flat portrayal rule) NO ????YES Difficulties to ingested directly by system NO ????YES MAPPING 24

25 How to simplify CSP The aim is to try to map the as many CSPs to simple or complex portrayal rules as possible. There is a need to go trough each CSP and make a proposal for the mapping or for clarification and or simplification. Before we go through each conditional procedure, we can define some global principles. 1.Avoid in CSP to test the visibility (the state) of a viewing group. Example in LIGHTS05 25

26 How to simplify CSP 2. It would be nice if Data Producer filled attributes values when it is necessary: Example of in DEPAREnn Example of in LIGHTnn 26

Download ppt "S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A."

Similar presentations

Ads by Google