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

26
S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A

Transcript of S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

Page 1: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

S-100 PORTRAYAL MODEL

DIPWG-2May 2010

1

TSMAD20/DIPWG2-08.1A

Page 2: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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 19117.

4.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

Page 3: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

S-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 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

Page 4: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

GENERATION OF A PORTRAYAL PACKAGE FROM THE PORTRAYAL REGISTER

PORTRAYAL

INFORMATION

REGISTERS

M

A

N

A

G

E

M

E

N

T

I

N

T

E

R

F

A

C

E ACCESS INTERFACE

IHO PORTRAYAL REGISTRY

PORTRAYAL

FUNCTIONS

SUB-REGISTRY SYMBOL

SPECIFICATIONS

SUB-REGISTRY

XML CSP

SYMBOLS

Diagram CSP

Symbol Addendum… text

Portrayal Catalog

Specific Process (XSLT) to generate “human

readable” version.

Portrayal SpecificationSymbols and CSP

Symbols , CSP and flat rules

4

Page 5: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

The S-100 Portrayal Model in conformance with ISO 19117 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 Modelas a profile of ISO 19117

5

pol
Mapping, Rule ???
pol
necessary is not correct as some information will still be defined uniquely in the text specification. (example some conditional procedure)
Page 6: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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

Page 7: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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

pol
Note that a portrayal function could contain more tha one catalog portrayal function in case of the portrayal context concerns more than one product or if the context proposes for a product more than one mapping function (eg simplified, paperChart)
Page 8: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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

Page 9: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

Example Portrayal Function

Example implementation with the current S-52 Presentation Library in which theS-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

Page 10: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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

pol
matchTheFirstRule is more correct
Page 11: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

Example default portrayal instructionsat the feature portrayal list level

11

pol
Note : there exists a default portrayal instructions at the portrayal rule set level.
Page 12: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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

pol
we have the choice for no portray a feature type :either we supply any portrayal delineation element (0)either we suplly one with one default portrayal rule but with no portrayal instructions.
pol
The reason for specify a feature type include filter level is that historicaly it existed a feature type exclude filter level.Exclude and Include were introduced to map RESTRNnn conditional procedure to xml rules.
Page 13: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

Example

Feature Type Portrayal Function

Feature Filter Portrayal Function

13

Page 14: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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

Page 15: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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

pol
displayPriority will be apply to all portrayal instructions called from this rule, except if display priority is override at the symbol instruction levels (ex for text)note that display priority could also be set by a basic function "setDisplayPriority" (as it is for setViewingGroup). The difference is that diplay priority is common to all portrayal specifications and viewing group is specific to S52 Navigation.
Page 16: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

Example with beacon cardinal feature type

16

Page 17: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

The Portrayal Instructions and symbol references

17

Page 18: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

Example

18

Page 19: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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

Page 20: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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

Page 21: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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

Page 22: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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 with1. 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

Page 23: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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

Page 24: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

Classification of portrayal rules

Complexity Very Simple Simple Complex Very Complex

Definition One 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 On Attributes values Attributes values Attributes values Attributes values and context parameters

Example in S-52 PL No Example No Example LIGHTS05, DEPARE03,RESTRN01, …

Difficulties to be defined in Digital Form

NO NO NO YES

Difficulties to be defined in the portrayal catalog (at the same level of flat portrayal rule)

NO NO ???? YES

Difficulties to ingested directly by system

NO NO ???? YES

MAPPING

24

Page 25: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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

Page 26: S-100 PORTRAYAL MODEL DIPWG-2 May 2010 1 TSMAD20/DIPWG2-08.1A.

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