Presentation on theme: "S-100 PORTRAYAL MODEL DIPWG-2 May 2010"— Presentation transcript:
1S-100 PORTRAYAL MODEL DIPWG-2 May 2010 TSMAD20/DIPWG2-08.1AS-100 PORTRAYAL MODEL DIPWG-2 May 2010
2IntentionsA first attempt has been made to define an S-100 portrayal model keeping in mind the following four points:Define the S-100 portrayal model as a candidate to handle the digital part of a portrayal specification (text document).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.Define a portrayal model as a profile of the abstract standard ISOThe 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.
3S-100 PORTRAYAL PACKAGE S-100 Portrayal Specification (document) GeneralityDefinition of symbols (addendum)Conditionals Procedures (text description and or Diagram description)Definition of the content of the associated S-100 Portrayal CatalogIs associated withS-100 Portrayal Catalog (digital form)Catalogs of description of symbols (XML form)Catalogs of Portrayal function (XML form)Catalog of Conditionals Procedures (XML form)
4GENERATION OF A PORTRAYAL PACKAGE FROM THE PORTRAYAL REGISTER IHO PORTRAYAL REGISTRYMANGETIRFCPORTRAYALFUNCTIONSSUB-REGISTRYPORTRAYALINFORMATIONREGISTERSXML CSPSYMBOLSPECIFICATIONSSUB-REGISTRYSYMBOLSACCESS INTERFACESymbols and CSPPortrayal SpecificationSpecific Process (XSLT) to generate “human readable” version.Symbol Addendum… textDiagram CSPSymbols , CSP and flat rulesPortrayal Catalog
5The S-100 Portrayal Model as a profile of ISO 19117 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).
6The 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.
7The 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.
8The 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).
9Example 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)
10The 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.
11Example default portrayal instructions at the feature portrayal list level
12The 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."
13Example Feature Type Portrayal Function Feature Filter Portrayal Function
14The 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.
15The 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).
19How 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.
20How 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).
21How 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).
22Points 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 withEither very simple portrayal rules (flat portrayal rule).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.
23The 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.
24MAPPING Classification of portrayal rules Complexity Very Simple Very ComplexDefinitionOne 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 panelBased OnAttributes valuesAttributes values and context parametersExample in S-52 PLNo ExampleLIGHTS05, DEPARE03,RESTRN01, …Difficulties to be defined in Digital FormNOYESDifficulties to be defined in the portrayal catalog (at the same level of flat portrayal rule)????Difficulties to ingested directly by system
25How to simplify CSPThe 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.Avoid in CSP to test the visibility (the state) of a viewing group.Example in LIGHTS05
26How to simplify CSP2. It would be nice if Data Producer filled attributes values when it is necessary:Example of in DEPAREnnExample of in LIGHTnn