Geographic information - Portrayal

ISO 19117:2005 defines a schema describing the portrayal of geographic information in a form understandable by humans. It includes the methodology for describing symbols and mapping of the schema to an application schema. It does not include standardization of cartographic symbols, and their geometric and functional description.

Information géographique — Présentation

General Information

Status
Withdrawn
Publication Date
14-Jun-2005
Withdrawal Date
14-Jun-2005
Current Stage
9599 - Withdrawal of International Standard
Start Date
06-Dec-2012
Completion Date
13-Dec-2025
Ref Project

Relations

Standard
ISO 19117:2005 - Geographic information -- Portrayal
English language
39 pages
sale 15% off
Preview
sale 15% off
Preview

Frequently Asked Questions

ISO 19117:2005 is a standard published by the International Organization for Standardization (ISO). Its full title is "Geographic information - Portrayal". This standard covers: ISO 19117:2005 defines a schema describing the portrayal of geographic information in a form understandable by humans. It includes the methodology for describing symbols and mapping of the schema to an application schema. It does not include standardization of cartographic symbols, and their geometric and functional description.

ISO 19117:2005 defines a schema describing the portrayal of geographic information in a form understandable by humans. It includes the methodology for describing symbols and mapping of the schema to an application schema. It does not include standardization of cartographic symbols, and their geometric and functional description.

ISO 19117:2005 is classified under the following ICS (International Classification for Standards) categories: 35.240.70 - IT applications in science. The ICS classification helps identify the subject area and facilitates finding related standards.

ISO 19117:2005 has the following relationships with other standards: It is inter standard links to ISO 20844:2015, ISO 19117:2012. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.

You can purchase ISO 19117:2005 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.

Standards Content (Sample)


INTERNATIONAL ISO
STANDARD 19117
First edition
2005-06-01
Geographic information — Portrayal
Information géographique — Présentation

Reference number
©
ISO 2005
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.

©  ISO 2005
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO 2005 – All rights reserved

Contents Page
Foreword. iv
Introduction . v
1 Scope. 1
2 Conformance. 1
3 Normative references. 1
4 Terms and definitions. 1
5 Abbreviated terms. 4
6 Unified Modeling Language (UML). 4
6.1 Notations. 4
6.2 UML model stereotypes. 5
7 Portrayal mechanism. 5
7.1 Introduction. 5
7.2 Priority attribute. 6
7.3 Portray nothing. 6
7.4 Default portrayal specification. 6
7.5 Annotation. 7
7.6 Overview of portrayal . 7
8 Portrayal schema. 8
8.1 Overview. 8
8.2 Portrayal service. 9
8.3 Portrayal catalogue package. 9
8.4 Portrayal specification package. 13
8.5 Complex symbols. 16
8.6 Portrayal of textual data . 17
8.7 Default portrayal specification. 18
8.8 Representation of symbols. 19
Annex A (normative) Abstract test suite. 20
Annex B (informative) Examples. 22

Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies
(ISO member bodies). The work of preparing International Standards is normally carried out through ISO
technical committees. Each member body interested in a subject for which a technical committee has been
established has the right to be represented on that committee. International organizations, governmental and
non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the
International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of technical committees is to prepare International Standards. Draft International Standards
adopted by the technical committees are circulated to the member bodies for voting. Publication as an
International Standard requires approval by at least 75 % of the member bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO shall not be held responsible for identifying any or all such patent rights.
ISO 19117 was prepared by Technical Committee ISO/TC 211, Geographic information/Geomatics.
iv © ISO 2005 – All rights reserved

Introduction
This International Standard is an abstract document and is not intended for direct implementation. It gives
general guidelines to the application developers about the mechanism to be used to portray the feature
instances of a dataset. The portrayal mechanism described makes it possible to have general rules valid for
the whole dataset, and at the same time rules valid for a specific value of a feature attribute only. Different
computer graphics standards use different attributes to visualize geometric primitives. For example, a line can
be distinguished by thickness, width, colour, stippling, anti-aliasing, etc. This International Standard therefore
includes a mechanism for declaring portrayal attributes as part of the portrayal specification.
In some cases whole feature classes have to be referenced and portrayed in a specific way, e.g. as symbols
on nautical charts. Several symbol standards exist, and without a portrayal standard the application would
have to set up a separate interface to each of these standards. With this International Standard all the
supported symbol standards can be handled in a uniform way.
INTERNATIONAL STANDARD ISO 19117:2005(E)

Geographic information — Portrayal
1 Scope
This International Standard defines a schema describing the portrayal of geographic information in a form
understandable by humans. It includes the methodology for describing symbols and mapping of the schema to
an application schema. It does not include standardization of cartographic symbols, and their geometric and
functional description.
2 Conformance
Any portrayal catalogue and portrayal schema describing the portrayal of geographic information claiming
conformance with this International Standard shall pass all the requirements of the abstract test suite
presented in Annex A.
3 Normative references
The following referenced documents are indispensable for the application of this document. For dated
references, only the edition cited applies. For undated references, the latest edition of the referenced
document (including any amendments) applies.
ISO 19101, Geographic information — Reference model
1)
ISO/TS 19103:— , Geographic information — Conceptual schema language
ISO 19107:2003, Geographic information — Spatial schema
1)
ISO 19109:— , Geographic information — Rules for application schema
ISO 19115:2003, Geographic information — Metadata
ISO/IEC 19501:2005, Information technology — Open Distributed Processing — Unified Modeling Language
(UML) Version 1.4.2
4 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
4.1
annotation
any marking on illustrative material for the purpose of clarification
NOTE Numbers, letters, symbols, and signs are examples of annotation.

1) To be published.
4.2
class
description of a set of objects that share the same attributes, operations, methods, relationships, and
semantics
[ISO/TS 19103]
NOTE A class may use a set of interfaces to specify collections of operations it provides to its environment.
4.3
curve
1-dimensional geometric primitive, representing the continuous image of a line
[ISO 19107]
NOTE The boundary of a curve is the set of points at either end of the curve. The first point is called the start point,
and the last is the end point.
4.4
dataset
identifiable collection of data
[ISO 19115]
NOTE The principles which apply to datasets may also be applied to dataset series and reporting groups.
4.5
external function
function not part of the application schema
NOTE The electronic map in a car navigation system has to be displayed so that the up-direction of the map is
always in the direction the car is moving. To be able to specify the rotation of the map, the current position of the car must
be retrieved continuously from an external position device using an external function.
4.6
feature
abstraction of real world phenomena
[ISO 19101]
NOTE A feature may occur as a type or an instance. Feature type or feature instance should be used when only one
is meant.
4.7
feature attribute
characteristic of a feature
[ISO 19101]
EXAMPLE 1 A feature attribute named ‘colour’ may have an attribute value ‘green’ which belongs to the data type
‘text’.
EXAMPLE 2 A feature attribute named ‘length’ may have an attribute value ‘82.4’ which belongs to the data type ‘real’.
NOTE 1 A feature attribute has a name, a data type, and a value domain associated with it. A feature attribute for a
feature instance also has an attribute value taken from the value domain.
NOTE 2 In a feature catalogue, a feature attribute may include a value domain but does not specify attribute values for
feature instances.
2 © ISO 2005 – All rights reserved

4.8
feature portrayal rule set
collection of portrayal rules that apply to a feature instance
4.9
geographic information
information concerning phenomena implicitly or explicitly associated with a location relative to the Earth
[ISO 19101]
4.10
geometric primitive
geometric object representing a single, connected, homogenous element of space
[ISO 19107]
4.11
instance
object that realizes a class
[ISO 19107]
4.12
metadata
data about data
[ISO 19115]
4.13
point
0-dimensional geometric primitive, representing a position
[ISO 19107]
4.14
portrayal
presentation of information to humans
4.15
portrayal catalogue
collection of all defined portrayals
4.16
portrayal rule
rule that is applied to the feature to determine what portrayal specification to use
4.17
portrayal service
generic interface used to portray features
4.18
portrayal specification
collection of operations applied to the feature instance to portray it
4.19
spatial attribute
feature attribute describing the spatial representation of the feature by coordinates, mathematical functions
and/or boundary topology relationships
4.20
surface
2-dimensional geometric primitive, locally representing a continuous image of a region of a plane
[ISO 19107]
5 Abbreviated terms
OCL Object Constraint Language
UML Unified Modeling Language
URL Uniform Resource Locator (also called URI – Uniform Resource Identifier)
6 Unified Modeling Language (UML)
6.1 Notations
The diagrams that appear in this International Standard are presented using the UML static structure diagram
with the basic types defined in ISO/TS 19103. The UML notations used in this International Standard are
described in Figure 1.
Figure 1 — UML notations used in this International Standard
4 © ISO 2005 – All rights reserved

6.2 UML model stereotypes
A UML stereotype is an extension mechanism for existing UML concepts. It is a model element that is used to
classify (or mark) other UML elements so that they in some respect behave as if they were instances of new
virtual or pseudo metamodel classes whose form is based on existing base metamodel classes. Stereotypes
augment the classification mechanisms on the basis of the built-in UML metamodel class hierarchy. Below are
brief descriptions of the stereotypes used in this International Standard; for more detailed descriptions consult
ISO/TS 19103.
In this International Standard the following stereotypes are used.
 Interface – definition of a set of operations that is supported by objects having this interface.
 Type – stereotyped class used for specification of a domain of instances (objects), together with the
operations applicable to the objects. A type may have attributes and associations.
 MetaClass – class whose instances are classes. Metaclasses are typically used in the construction of
metamodels.
 Leaf – package that contains definitions, without any sub-packages.
7 Portrayal mechanism
7.1 Introduction
This International Standard defines a feature-centred rule-based portrayal mechanism. Instances of features
are portrayed based on rules, which make use of geometry and attribute information. The relationship
between the feature instances, attributes and the underlying spatial geometry is specified in an application
schema according to ISO 19109. Spatial geometry and associated topological relationships are defined in
ISO 19107.
Portrayal information is needed to portray a dataset containing geographic data. The portrayal information is
handled as portrayal specifications applied according to specific portrayal rules (see Clause 8). The portrayal
mechanism makes it possible to portray the same dataset in different ways without altering the dataset itself.
The portrayal mechanism is illustrated by Figure 2.

Figure 2 — Portrayal mechanism without priority attributes
The portrayal specifications and portrayal rules shall not be part of the dataset. The portrayal rules shall be
stored in a portrayal catalogue. The portrayal specifications shall be stored separately from the dataset and
referenced from the portrayal rules. The portrayal rules shall be specified for the feature class or feature
instances they will be applied on. The portrayal specifications may be stored externally and referenced using a
universal reference standard such as a network based URL.
Portrayal information may be specified either by sending a portrayal catalogue and portrayal specifications
with the dataset, or by referencing an existing portrayal catalogue and portrayal specifications from Metadata.
In addition, the user may want to apply a user defined portrayal catalogue and portrayal specification. The
model in Figure 3 shows how the portrayal catalogue is referenced by the dataset metadata. Only the
metadata reference is shown and not the contents of the portrayal catalogue (see ISO 19115).

Figure 3 — UML model of the portrayal part of ISO 19115
The portrayal rules shall be expressed using UML, as defined in ISO/IEC 19501. The portrayal rule
mechanism may be used to handle portrayal issues that have to be solved as they happen, such as how to
automatically place text on maps, and special representations of the feature instances according to, for
example, time of day or scale. The value of external functions (see 8.3.5), such as time of day or scale, may
be included in the portrayal rules.
The portrayal rules in the portrayal catalogue shall be tested on the attributes of the feature instances in the
dataset. The portrayal rule shall be applied as a query statement that returns TRUE or FALSE. The portrayal
specification associated with that particular portrayal rule shall then be applied. If no portrayal rule returns
TRUE then the default portrayal specification shall be used.
A portrayal service is used to portray a feature instance or instances. The portrayal service applies operations
using the parameters defined in a portrayal specification (see 8.4.2).
7.2 Priority attribute
An optional priority attribute may be added to the portrayal rules. The attribute gives an integer value deciding
in which order portrayal rules shall be applied if more than one returns TRUE for one feature instance. A
portrayal rule with a high priority number takes precedence over one with a lower number. If two portrayal
rules returning TRUE have the same priority value, then the application shall decide which one takes
precedence. If priority attributes are used, all the portrayal rules shall have a priority attribute.
7.3 Portray nothing
For a feature instance that is not to be portrayed, a portrayal rule shall return TRUE with an associated
portrayal specification that is empty when tested on the attributes of the feature instance (see 8.3.4). If no
portrayal rule returns TRUE then the default portrayal specification shall be applied.
7.4 Default portrayal specification
The default portrayal specification shall be applied according to at least one of the spatial attributes of the
feature instance, and shall only be applied when no portrayal rule returns TRUE for a feature instance.
6 © ISO 2005 – All rights reserved

A default portrayal specification shall be present to ensure that no feature instance is left unportrayed by
mistake, and the provider of the dataset shall specify its values. External functions shall not be used in the
default portrayal specification.
If the application fails to portray the data for some reason, the failure shall be handled by the application.
7.5 Annotation
The information that is to be portrayed shall be defined in an application schema. Typically there are two types
of information included in a dataset: geographic information and annotation. Annotation includes text, grids,
legends and special features such as a compass rose.
7.6 Overview of portrayal
Portrayal is illustrated by Figure 4. The diagram is not part of the portrayal schema and not for implementation.
It is intended as an explanatory aid only.

Figure 4 — Overview of portrayal
The portrayal catalogue consists of the feature portrayal, portrayal rule and external function, as shown in
Figure 4. To produce different products, several portrayal catalogues may exist, portraying one or more
datasets. Dataset is explained in ISO 19109. The portrayal catalogue relates to one or more portrayal
specifications, and one portrayal specification may be used in one or more portrayal catalogues. A portrayal
rule consists of two parts: a query statement that can use one or more external functions, and one or more
action statements.
EXAMPLE 1 A dataset contains instances of the feature class Road. The feature class Road contains two attributes:
classification and segment. The classification attribute is of string data type, and may have the value “country road” or
“town road”. The segment attribute is of GM_Curve type and contains the spatial description of the road. The portrayal
specification used is called N50_specification. The two portrayal rules in this example look like this ( “quotes” are used to
show the contents of a string):
IF (Road.classification EQ “country road”) THEN drawCurve (“N50_specification.Solid_red_line”, Road.segment)
IF (Road.classification EQ “town road”) THEN drawCurve (“N50_specification.Solid_yellow_line”, Road.segment)
In this example, the THEN separates the query and action statements. The drawCurve is an action statement drawing an
actual curve using geometry from Road.segment and colour, line width, etc. information from
N50_specification.Solid_red_line and N50_specification.Solid_yellow_line.
EXAMPLE 2 If the portrayal varies with the scale, an external function is needed as part of the query statement. One
of the portrayal rules then may look like this ( “quotes” are used to show the contents of a string):
IF (Road.classification EQ “country road” AND Scale (<=20000)) THEN drawCurve
(“N50_specification.Solid_thin_red_line”, Road.segment)
Here Scale is a function that gets the display scale from the display device.
The portrayal rule shall refer to the appropriate attributes, functions and relationships defined in an application
schema. The portrayal catalogue shall also list the external functions used, including the parameters and
returned values.
EXAMPLE 3 In the following cases, external functions are necessary.
 The electronic map in a car navigation system has to be displayed so that the up-direction of the map is always in the
direction the car is moving. To be able to specify the rotation of the map, the current position of the car must be
retrieved continuously from an external position device using an external function.
 For electronic chart displays onboard a vessel, some of the symbols are only valid for certain scale-intervals. To be
able to turn the symbols on and off, the system must be told what scale the map is displayed in by the display part of
the chart system. A danger zone is defined spatially as a surface. Below a certain scale the danger zone is better
displayed by a point symbol. An external function may be used to compute the centroid of the area and the
coordinates of the centroid used to position the point symbol.
 An external function may be used to avoid visual conflicts between text and symbols placed on a map, or to handle
the placement of text along curves.
8 Portrayal schema
8.1 Overview
The portrayal schema consists of three main parts:
 portrayal service, which defines the portrayal operations;
 portrayal catalogue package, which defines portrayal rules for the feature classes defined in an
application schema;
 portrayal specification package, which defines the underlying parameters that are required by the
portrayal service.
The portrayal catalogue and portrayal specification are described in separate packages, see Figure 5.
8 © ISO 2005 – All rights reserved

Figure 5 — Portrayal information and portrayal service
8.2 Portrayal service
The portrayal service is a service that is used to portray a feature instance or instances. Portrayal shall not be
limited to visual rendering, but may include audio, tactile and other media. PF_PortrayalService (see Figure 6)
has one operation (portrayFeature). The operation refers to one or more feature instances, and a
portrayalCatalogue.
Figure 6 — Details of the portrayal service
8.3 Portrayal catalogue package
8.3.1 Overview
The portrayal catalogue package defines the following classes: PF_PortrayalCatalogue, PF_FeaturePortrayal,
PF_PortrayalRule, PF_ExternalFunction and PF_AttributeDefinition.
PF_PortrayalCatalogue organizes a set of portrayal rules. The feature portrayal holds the portrayal rules
associated with a particular feature class. A portrayal rule consists of a query statement and portrayal action.
The portrayal action specifies operations that shall be invoked on the portrayal service. See Figure 7.
Figure 7 — Portrayal catalogue package
8.3.2 Portrayal catalogue
A portrayal catalogue class consists of a set of feature portrayal objects; many may exist for each feature type
that may occur in the dataset. Each feature portrayal object has assigned a set of portrayal rules. The
portrayal catalogue also has a relationship to the external function objects that may be used in the portrayal
rules.
Class name: PF_PortrayalCatalogue
Attributes:
+queryLanguage: Specifies the notation for the queries performed.
+actionLanguage: Specifies the notation for the action performed.
+defaultPortrayalSpec: Identifies the default portrayal specification.

Associations:
+featurePortrayal: A set of feature portrayal objects; many may exist for each feature type that may occur
in the dataset.
+externalFunction: A set of external functions.

Constraints: None
10 © ISO 2005 – All rights reserved

8.3.3 Feature portrayal
PF_FeaturePortrayal object refers to a feature type through its feature name attribute. The feature type shall
be defined in the feature catalogue and further specified in the application schema. For each feature class
there can be a number of portrayal rules.
Class name: PF_FeaturePortrayal
Attributes:
+priority: Priority of portrayal.
+description: A textual description of the feature class and its portrayal rules.

Associations:
+portrayalRule: A list of portrayal rule objects.
+definedFor: A reference to the feature class name of the feature classes that are specified in the
application schema.
+externalFunction: A list of external functions.
+definedForInst A list of feature instances.

Constraints: None
8.3.4 Portrayal rule
PF_PortrayalRule describes one particular portrayal rule. It has a name, a textual description, a formal
definition of rule statement and a portrayal action association. If the formal definition of the rule evaluates to
TRUE, the corresponding portrayal action shall be invoked.
If no portrayal action is required, no portrayal action shall be specified.
The portrayal rule is invoked by evaluating the expression in the +queryStatement attribute. If the expression
evaluates to TRUE, the +portrayalAction shall be performed. If the expression evaluates to FALSE, the
+portrayalAction shall not be performed.
Class name: PF_PortrayalRule
Attributes:
+ruleName: A name of the rule; this must be unique for the feature portrayal.
+priority: Priority between rules.
+description: A general description of what this portrayal rule does.
+queryStatement: A formal specification expressed in the stated query language which evaluates to
TRUE or FALSE.
Associations:
+portrayalAction: A formal specification expressed in UML which involves pre-processing statements
and calls to portrayal operations.
+externalFunction: A list of external functions.
+propertyName: A list of property types.

Constraints: None
8.3.5 External function
PF_ExternalFunctions are used to perform computations that sometimes are needed to evaluate the query
statements and/or perform the portrayal actions of the portrayal rules. See 8.6 for examples.
As long as an external function is declared according to the PF_ExternalFunction class, there are no
limitations to the operations it can perform or the return types it can have. External functions shall be modeled
as operations, as described in ISO 19109. External functions shall not be used in the default portrayal
specification.
Class name: PF_ExternalFunction
Attributes:
+functionName: The name of the function. It shall contain no spaces and always start with a letter or
underscore character.
+returnType: The return type of the function.
+description: A textual description of the function’s behaviour and functionality.

Associations:
+formalParameters: A list of formal parameters that the external function takes.

Constraints: None
EXAMPLE How an external function is used.
In the portrayal catalogue below, we define the feature class that will use an external function by using a rule definition.
pr6: PortrayalRule
{
rule_name="Moving Vehicle",
priority="1",  'display with priority one.
description="Moving automobile used for displaying current location on map",
query_statement=("TYPE=mvehicle and geometry=POINT"),
portrayal_action=("Dynamics.Automobile(calcBearing(plat,plong, clat,clong))")
},
We then describe the external functions and its parameters needed to invoke the function.
External_Function_Sets=
ef2:PF_ExternalFunction
{
+functionName="calcBearing",
+returnType="real",
+description="Determine the bearing based on previous position and new position and return a real number
representing the bearing in degrees",
formal_parameters=
{
ad21: AttributeDefinition
(
name="prev_lat_position",
description="Previous Latitude in decimal degrees",
type="real"
),
ad22: AttributeDefinition
(
name="prev_long_position",
description="Previous Longitude in decimal degrees",
type="real"
),
12 © ISO 2005 – All rights reserved

ad23: AttributeDefinition
(
name="curr_lat_position",
description="Current Latitude in decimal degrees",
type="real"
),
ad24: AttributeDefinition
(
name="curr_long_position",
description="Current Longitude in decimal degrees",
type="real"
)
}
}
When the rule returns TRUE, the portrayal action is executed and the calcBearing function is invoked.
8.3.6 Parameter definition
PF_AttributeDefinition is used to define the formal parameters of external functions and the underlying
rendering operations of the portrayal service. This is invoked by specifying the name, description, basic type
and default value of the attributes.
Class name: PF_AttributeDefinition
Attributes:
+name: Defines the name of the attribute definition. It shall be a legal name.
+description: Describes the usage of this attribute definition.
+type: Identifies the data type of this attribute definition. It shall be of legal basic data type.
+defaultValue: An optional value of the attribute definition.

Associations: None
Constraints: None
8.4 Portrayal specification package
8.4.1 Overview
The PF_PortrayalSpecification package defines the following classes: PF_PortrayalSpecification,
PF_PortrayalOperation, PF_ParameterSet and PF_AttributeValue. It uses the PF_AttributeDefinition class
and PF_ExternalFunction defined in the PF_PortrayalCatalogue package. The classes are shown in Figure 8.
Figure 8 — Portrayal specification package
The PF_PortrayalSpecification is the root object of a portrayal specification, and it provides the header
information about the portrayal specification. It also consists of the operations supported by the portrayal
specification.
The PF_PortrayalOperation holds the name and a description of the portrayal operation. Further on, it
contains two important aggregations. The first aggregation (formalParameter) contains the formal parameters
associated with the operation and is a list of attribute definitions. The second aggregation (parameterSet)
contains a list of pre-defined parameter sets.
The PF_ParameterSet is responsible for holding a list of actual parameter values and is identified by a label
and a description. An instance of a PF_ParameterSet shall only contain actual parameters that are defined in
the formal parameter list of its corresponding PF_PortrayalOperation.
The PF_AttributeValue is responsible for storing an actual parameter value. It has an association to its
attribute type.
8.4.2 Portrayal specification
PF_PortrayalSpecification holds the instances of the portrayal specification, one for each
PF_PortrayalOperation.
Class name: PF_PortrayalSpecification
Attributes:
+citation: Citation information. See ISO 19115.

14 © ISO 2005 – All rights reserved

Associations:
+symbol: Association to a portrayal operation specification.

Constraints: None
8.4.3 Portrayal operation
PF_PortrayalOperation holds the details for a particular portrayal operation. It declares a set of formal
parameters that are needed when invoking the underlying rendering functions. It has associations to the
formal parameter values for the operation.
There shall be one instance of the portrayal specification class for each operation defined by the portrayal
service.
Class name: PF_PortrayalOperation
Attributes:
+name: The name of the operation that is further specified.
+description: A description of the portrayal operation that is given by this object.

Associations:
+formalParameter: A list of the formal parameters that are needed to properly invoke the rendering
functions of the underlying portrayal service operation.
+parameterSet: The parameter set used by the operations.
+externalFunction: A list of functions not part of the application schema, used to perform computations
that sometimes are needed to evaluate the query statements and/or perform the
portrayal actions of the portrayal rules.

Constraints:
1) All necessary parameters used by the rendering operation shall be defined by the
+formalParameters association.

8.4.4 Parameter set
The PF_ParameterSet holds a list of actual parameter values. The actual values shall correspond to the
formal parameters associated with PF_PortrayalOperation. The PF_ParameterSet has a label that is referred
from the portrayal catalogue. It also has a textual description.
PF_ParameterSet objects are used to predefine specific portrayal operations. The label could for example be
“thick_red_line”, where the actual parameter values are colour=RED, thickness=5, brush=SOLID.
Class name: PF_ParameterSet
Attributes:
+label: A short label used to identify the portrayal specification data from the portrayal
catalogue.
+description: A textual description of the role and purpose of this predefined operation.

Associations:
+actualParameter: A list of attribute value objects that hold the values of the actual parameters.

Constraints:
1) The elements of the +actualParameters association shall correspond to the
list of +formalParameters defined by the PF_PortrayalOperation.

8.4.5 Attribute value
PF_AttributeValue holds attribute values encoded into a string type. An attribute value always shall be
associated with an attribute definition.
Class name: PF_AttributeValue
Attributes:
+value: A value of the data type identified by attributeType.

Associations:
+attributeType: The attribute type of the attribute value.

Constraints: None
8.4.6 Parameter definition
PF_ParameterDefinition is defined in the portrayal catalogue package (see 8.3).
8.5 Complex symbols
External functions (see 8.3.5) can be used to portray geometry that is computed out of other geometry, like
point symbols along lines or within surfaces, or to draw complex line types along computed parallels to curves.
EXAMPLE In the portrayal catalogue, it is specified that the feature class will use an external function by using a rule
definition.
pr6: PortrayalRule
{
rule_name="Small city",
priority="1",  'display with priority one.
description="A city that is too small to display as an area",
query_statement=("FACC_Code=AL020 and geometry=AREA and calcSize(geometry) < 50" ),
portrayal_action=(" VMAP Level 1.small_city(calcCentroid(geometry))")
},
We then describe the external functions and their parameters needed to correctly operate.
External_Function_Sets=
Ef1:PF_ExternalFunction
{
+functionName="calcSize",
+returnType="real",
+description="Determine the size of a given surface and return a real number representing the square kilometers",
formal_parameters=
{
ad21: AttributeDefinition
(
name="geometry",
description="Area geometry of surface",
type="geometry"
)
16 © ISO 2005 – All rights reserved

}
},
ef2:PF_ExternalFunction
{
+functionName="calcCentroid",
+returnType="real",
+description="Determine the centroid of a surface, return a coordinate value for portrayal and change the geometry
type to point",
formal_parameters=
{
ad21: AttributeDefinition
(
name="geometry",
description="geometry of surface",
type="geometry"
)
}
}
In the portrayal specification, the label small city is invoked by the rule and it is passed the new geometry from the external
function.
ps2: ParameterSet
{
label=" small_city ", description=" a small city or built up area",
actual_parameters=
{
AttributeValue ( value="http://www.iso.org/vmap1v1/jog/symbols", attribute_type="ad1" ),
AttributeValue ( value="builtup_area.cgm", attribute_type="ad2" ),
AttributeValue ( value="color", attribute_type="ad3"),
AttributeValue ( value="beige", attribute_type="ad4")
}
},
8.6 Portrayal of textual data
Textual data may be handled as an attribute of a feature or by an annotation application schema. The
geometric primitives to which a feature makes reference determine how the text may be displayed.
NOTE If the geometric primitive referred to is of type point, then the text can only be related to this point. If the
geometric primitive is of type curve the text can be related to the curve (e.g. follow the curve) or to one or more points on
the curve. If the geometric primitive is of type surface the text can be related to the surface (e.g. fill the surface),
associated with a point inside the boundary of a surface (such as the centroid), its boundary, or one or more points on a
curve defining its boundary.
EXAMPLE Figure 9 shows a string of text following a curve. The point at the start of the line defines the start of the
string of text. The shape of the line defines the path the text follows.

Figure 9 — Example of text following a curve
The character string that defines the textual content can be stored as an attribute of the feature class or it can
be associated by reference or generated by rule. For example, a feature class City might have the city name
stored as an attribute. The text string can also be generated by rule. For example, a sounding depth
measurement could be represented as a real number attribute, but be portrayed as text.
8.7 Default portrayal specification
Below is an example of a default portrayal specification.
EXAMPLE Feature classes are defined by the application schema and referenced in the portrayal catalogue.
Feature_Portrayal_Sets=
{
fp1: FeaturePortrayal
{
feature_name="AP030", 'curve
priority="",
description="Transportation - An open way maintained for vehicular use"  'curve
},
fp2: FeaturePortrayal
{
feature_name="AL015", 'point
priority="",
description="A relatively permanent structure, roofed and usually walled and designed for some particular use"
},
….
The rules necessary to validate the feature instances and select a portrayal specification are defined.

Portrayal_Rule_Sets=
{
pr1: PortrayalRule
{
rule_name="Prov_Hwy",
priority="",
description="Provincial Highway",
query_statement=("FACC_CODE='AP030' and exs=28 and rst=1 and rtt=14 and geometry=CURVE"),
'exs=28 identifies the state or condition of the highway to be operational
'rst=1 identifies the physical surface composition of the road to be Hard/Paved
'rtt=14 identifies the intended use of the route to be Primary route
portrayal_action=("VMAP Level 1.Prov Highway")
' format is Portrayal specification name.Parameter Set(external function)
},
}
….
This is the default part of the portrayal specification.

pr9: PortrayalRule
{
rule_name="DefaultCurve",
priority="",
description="Any curve that does not have an associated rule will be captured",
query_statement=("geometry=CURVE"),
portrayal_action=(“VMAP Level 1.Default Curve")
},
….
18 © ISO 2005 – All rights reserved

8.8 Representation of symbols
A parameter set (see 8.4.4) shall be used to represent symbols. Symbols shall be referenced by the name of
the symbol library they are part of, and the identifier the symbol library uses to identify the symbol within the
library. If one or many attributes of the symbol are modified as part of the portrayal process (e.g. scale,
rotation, colour), the attribute and attribute value shall be stated.
EXAMPLE The following example shows the specification of a symbol library and the parameter set. In this example
only the symbol library and symbol reference are included.
ps1: PortrayalSpecification
(
name="VMAP Level 1", version="1.0 March 1996", producer="ISOCorp",
point= o1: PF_PortrayalOperation
(
name="portrayPoint", description="Portrays a point on any display",
formal_parameters=
{
ad1: AttributeDefinition ( name="plib_id", description="Name of point library to use or URL", type="String"),
ad2: AttributeDefinition ( name="psym_id", description="Name or ID of Point symbol to use", type="String")

parameter_sets=
{
ps1: ParameterSet
(
label='Military_Symbol", description="",
actual_parameters=
{
AttributeValue ( value="http://www.iso.org/vmap1v1/jog/symbols", attribute_type="ad1" ),
AttributeValue ( value="milsymb", attribute_type="ad2" )
}
……
Annex A
(normative)
Abstract test suite
A.1 Portrayal schema
a) Test purpose: To verify conformance to the portrayal schema.
b) Test method: Verify that the portrayal specifications and portrayal rules are not part of the dataset to be
portrayed, and that the portrayal specifications are stored separately and referenced fr
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...