ISO 19118:2011
(Main)Geographic information - Encoding
Geographic information - Encoding
ISO 19118:2011 specifies the requirements for defining encoding rules for use for the interchange of data that conform to the geographic information in the set of International Standards known as the "ISO 19100 series". ISO 19118:2011 specifies requirements for creating encoding rules based on UML schemas, requirements for creating encoding services, and requirements for XML-based encoding rules for neutral interchange of data. ISO 19118:2011 does not specify any digital media, does not define any transfer services or transfer protocols, nor does it specify how to encode inline large images.
Information géographique — Codage
L'ISO 19118:2011 spécifie les exigences pour la définition des règles de codage à utiliser pour l'échange de données conformes à l'ensemble de Normes internationales relatives à l'information géographique connu sous le nom de «série ISO 19100». L'ISO 19118:2011 spécifie les exigences de création des règles de codage basées sur les schémas UML, les exigences de création des services de codage, et les exigences en matière de règles de codage XML pour l'échange neutre de données. L'ISO 19118:2011 ne spécifie pas les média numériques, ne définit aucun service de transfert ou de protocole de transfert, ni ne spécifie la façon d'encoder les grandes images en ligne.
General Information
- Status
- Published
- Publication Date
- 09-Oct-2011
- Technical Committee
- ISO/TC 211 - Geographic information/Geomatics
- Drafting Committee
- ISO/TC 211/WG 4 - Geospatial services
- Current Stage
- 9093 - International Standard confirmed
- Start Date
- 23-Sep-2022
- Completion Date
- 13-Dec-2025
Relations
- Effective Date
- 15-Apr-2008
Overview
ISO 19118:2011 - Geographic information - Encoding defines requirements for creating encoding rules used to interchange geographic information across systems. Part of the ISO 19100 series, it specifies how application schemas (typically modelled in UML) are turned into system‑independent data structures suitable for storage and transport. The standard covers requirements for UML‑based encoding rules, encoding services, and an XML‑based encoding rule intended for neutral data interchange. It does not prescribe digital media, transfer protocols, or inline large image encoding.
Key topics and technical requirements
- Encoding rules: Defines what an encoding rule must specify - types of data, syntax, structure and coding schemes for the output data structure.
- UML schemas and instance models: Requirements for mapping UML application schemas to a generic instance model used for interchange.
- Conversion rules: Guidance on converting input instances and/or schemas into the output data structure (instance conversion and schema conversion).
- Encoding services: Requirements for software components that implement encoding rules (encode, decode, generate output schema). Conformance classes cover generic services and services that encode, decode, or produce schemas.
- Character repertoire and data types: Use of ISO/IEC 10646 (UCS) and conformance with standards like ISO 8601 for dates/times.
- Conformance and testing: Abstract test suites (Annex B) define test cases for encoding rules and encoding services.
- XML-based rule (Annex A): Normative requirements for an XML encoding profile intended for neutral interchange; Annex C gives informative examples of community use.
Applications and users
ISO 19118:2011 is directly applicable to:
- GIS software developers and library implementers building encoding services for reading/writing geospatial data.
- Standards architects and data stewards designing application schemas and interoperability workflows.
- System integrators, national mapping agencies, and data providers exchanging geospatial datasets across platforms.
- Organizations needing a neutral, standards‑based XML encoding to ensure long‑term interoperability and machine‑readable interchange.
Practical uses include creating platform‑neutral exports/imports of geospatial datasets, defining conversion chains between schema versions, and validating encoding implementations against the abstract test suite for conformance.
Related standards
- ISO 19100 series (overall framework)
- ISO 19101 (fundamental concepts)
- ISO/TS 19103 (conceptual schema language)
- ISO 19109 (rules for application schema)
- ISO/IEC 10646 (UCS character set)
- ISO 8601 (date/time) and W3C XML 1.0
Keywords: ISO 19118:2011, geographic information, encoding, encoding rules, XML-based encoding, UML schemas, encoding services, geospatial interoperability, data interchange.
Frequently Asked Questions
ISO 19118:2011 is a standard published by the International Organization for Standardization (ISO). Its full title is "Geographic information - Encoding". This standard covers: ISO 19118:2011 specifies the requirements for defining encoding rules for use for the interchange of data that conform to the geographic information in the set of International Standards known as the "ISO 19100 series". ISO 19118:2011 specifies requirements for creating encoding rules based on UML schemas, requirements for creating encoding services, and requirements for XML-based encoding rules for neutral interchange of data. ISO 19118:2011 does not specify any digital media, does not define any transfer services or transfer protocols, nor does it specify how to encode inline large images.
ISO 19118:2011 specifies the requirements for defining encoding rules for use for the interchange of data that conform to the geographic information in the set of International Standards known as the "ISO 19100 series". ISO 19118:2011 specifies requirements for creating encoding rules based on UML schemas, requirements for creating encoding services, and requirements for XML-based encoding rules for neutral interchange of data. ISO 19118:2011 does not specify any digital media, does not define any transfer services or transfer protocols, nor does it specify how to encode inline large images.
ISO 19118:2011 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 19118:2011 has the following relationships with other standards: It is inter standard links to ISO 19118:2005. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO 19118:2011 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 19118
Second edition
2011-10-15
Geographic information — Encoding
Information géographique — Codage
Reference number
©
ISO 2011
© ISO 2011
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 2011 – All rights reserved
Contents Page
Foreword . iv
Introduction . v
1 Scope . 1
2 Conformance . 1
2.1 Introduction . 1
2.2 Conformance classes related to encoding rules . 1
2.3 Conformance classes related to encoding services . 1
3 Normative references . 2
4 Terms and definitions . 2
5 Symbols and abbreviated terms . 6
6 Fundamental concepts and assumptions . 7
6.1 Concepts . 7
6.2 Data interchange . 7
6.3 Application schema . 8
6.4 Encoding rule . 9
6.5 Encoding service . 10
6.6 Transfer service . 10
7 Character repertoire . 11
8 Generic instance model . 11
8.1 Introduction . 11
8.2 Relation between UML and the instance model . 14
9 Encoding rules . 14
9.1 Introduction . 14
9.2 General encoding requirements . 15
9.3 Input data structure . 17
9.4 Output data structure . 17
9.5 Conversion rules . 18
9.6 Examples . 18
10 Encoding service . 18
Annex A (normative) XML-based encoding rule . 20
Annex B (normative) Abstract test suit . 21
Annex C (informative) XML-based encoding rule in use by communities . 25
Bibliography . 68
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 19118 was prepared by Technical Committee ISO/TC 211, Geographic information/Geomatics.
This second edition cancels and replaces the first edition (ISO 19118:2005), which has been technically
revised.
iv © ISO 2011 – All rights reserved
Introduction
This International Standard specifies the requirements for defining encoding rules used for interchange of
geographic data within the set of International Standards known as the “ISO 19100 series”. An encoding rule
allows geographic information defined by application schemas and standardized schemas to be coded into a
system-independent data structure suitable for transport and storage. The encoding rule specifies the types of
data being coded and the syntax, structure and coding schemes used in the resulting data structure. The
resulting data structure can be stored on digital media or transferred using transfer protocols. It is intended
that the data be read and interpreted by computers, but data can be in a form that is human readable.
The choice of one encoding rule for application-independent data interchange does not exclude application
domains and individual nations from defining and using their own encoding rules that can be platform
dependent or more effective with regard to data size or processing complexity. XML is a subset of
ISO/IEC 8879 and has been chosen because it is independent of computing platform and interoperable with
the World Wide Web.
This International Standard is divided into three logical sections. The requirements for creating encoding rules
based on UML schemas are specified in Clauses 6 to 9. The requirements for creating encoding service are
specified in Clause 10, and the requirements for XML-based encoding rules are specified in Annex A.
The XML-based encoding rule is intended for use as a neutral data interchange. It relies on the Extensible
Markup Language (XML) and the ISO/IEC 10646 character set standards.
The geographic information standards are organized within the set of International Standards known as the
“ISO 19100 series”. The background and the overall structure of this series of International Standards and the
fundamental description techniques are defined in ISO 19101, ISO/TS 19103 and ISO/TS 19104.
Users of this International Standard can develop application schemas to formally describe geographic
information. An application schema is compiled by integrating elements from other standardized conceptual
schemas (e.g. ISO 19107). How this integration takes place is described in ISO 19109. The set of
International Standards known as the “ISO 19100 series” also defines a set of common services that are
available when developing geographic information applications. The common services are generally defined in
ISO 19119 and cover access to, and processing of, geographic information according to the common
information model. This International Standard covers implementation issues.
INTERNATIONAL STANDARD ISO 19118:2011(E)
Geographic information — Encoding
1 Scope
This International Standard specifies the requirements for defining encoding rules for use for the interchange
of data that conform to the geographic information in the set of International Standards known as the
“ISO 19100 series”.
This International Standard specifies
requirements for creating encoding rules based on UML schemas,
requirements for creating encoding services, and
requirements for XML-based encoding rules for neutral interchange of data.
This International Standard does not specify any digital media, does not define any transfer services or
transfer protocols, nor does it specify how to encode inline large images.
2 Conformance
2.1 Introduction
Two sets of conformance classes are defined for this International Standard.
2.2 Conformance classes related to encoding rules
All encoding rules shall pass all test cases of the abstract test suite in B.1. All encoding rules shall pass all test
cases of the abstract test suite in B.2 and/or B.3.
Table 1 — Conformance classes related to encoding rules
Subclause of the
Conformance class
abstract test suite
All encoding rules B.1
Encoding rule with instance conversion B.2
Encoding rule with schema conversion B.3
2.3 Conformance classes related to encoding services
All encoding services shall pass all test cases of the abstract test suite in B.4. Depending on the capabilities of
the encoding service, it shall pass all test cases of additional conformance classes in accordance with Table 2.
Table 2 — Conformance classes related to encoding services
Subclause of the
Conformance class
abstract test suite
All encoding services B.4
Generic encoding service B.5
Service that encodes data B.6
Service that decodes data B.7
Service that generates an output data structure schema B.8
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 8601:2004, Data elements and interchange formats — Information interchange — Representation of
dates and times
ISO/IEC 10646:2011, Information technology — Universal Coded Character Set (UCS)
ISO/TS 19103:2005, Geographic information — Conceptual schema language
ISO 19109:2005, Geographic information — Rules for application schema
Extensible Markup Language (XML) 1.0, W3C Recommendation. Available at
4 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
4.1
application schema
conceptual schema (4.5) for data (4.8) required by one or more applications
[ISO 19101:2002, 4.2]
NOTE An application schema describes the content, the structure and the constraints applicable to information
(4.22) in a specific application domain.
4.2
character
member of a set of elements that is used for the representation, organization, or control of data (4.8)
[ISO/IEC 2382-1:1993, 01.02.11]
4.3
code
representation of a label according to a specified scheme
2 © ISO 2011 – All rights reserved
4.4
conceptual model
model (4.27) that defines concepts of a universe of discourse (4.33)
[ISO 19101:2002, 4.4]
4.5
conceptual schema
formal description of a conceptual model (4.4)
[ISO 19101:2002, 4.5]
4.6
conceptual schema language
formal language based on a conceptual formalism for the purpose of representing conceptual schemas (4.5)
[ISO 19101:2002, 4.6]
EXAMPLES UML, EXPRESS, IDEF1X.
NOTE A conceptual schema language may be lexical or graphical.
4.7
conversion rule
rule for converting instances in the input data (4.8) structure to instances in the output data structure
4.8
data
reinterpretable representation of information (4.22) in a formalized manner suitable for communication,
interpretation, or processing
[ISO/IEC 2382-1:1993, 01.01.02]
4.9
data interchange
delivery, receipt and interpretation of data (4.8)
4.10
data transfer
movement of data (4.8) from one point to another over a medium (4.26)
NOTE Transfer of information (4.22) implies transfer of data.
4.11
data type
specification of a value domain (4.34) with operations allowed on values in this domain
[ISO/TS 19103:2005, 4.1.5]
EXAMPLES Integer, Real, Boolean, String and Date.
NOTE A data type is identified by a term, e.g. Integer. Values of the data types are of the specified value domain, e.g.
all integer numbers between –65537 and 65536. The set of operations can be +, -, * and / and is semantically well defined.
A data type can be simple or complex. A simple data type defines a value domain where values are considered atomic in
a certain context, e.g. Integer. A complex data type is a collection of data types that are grouped together. A complex data
type may represent an object and can, thus, have identity.
4.12
dataset
identifiable collection of data (4.8)
[ISO 19115:2003, 4.2]
4.13
encoding
conversion of data (4.8) into a series of codes (4.3)
4.14
encoding rule
identifiable collection of conversion rules (4.7) that define the encoding (4.13) for a particular data (4.8)
structure
EXAMPLES XML, ISO 10303-21, ISO/IEC 8211.
NOTE An encoding rule specifies the types of data being converted as well as the syntax, structure and codes (4.3)
used in the resulting data structure.
4.15
encoding service
software component that has an encoding rule (4.14) implemented
4.16
feature
abstraction of real world phenomena
[ISO 19101:2002, 4.11]
NOTE A feature may occur as a type or an instance. Feature type or feature instance is used when only one is meant.
4.17
file
named set of records stored or processed as a unit
[ISO/IEC 2382-1:1993, 01.08.06]
4.18
geographic data
data (4.8) with implicit or explicit reference to a location relative to the Earth
[ISO 19109:2005, 4.12]
4.19
geographic information
information (4.22) concerning phenomena implicitly or explicitly associated with a location relative to the
Earth
[ISO 19101:2002, 4.16]
4.20
identifier
linguistically independent sequence of characters (4.2) capable of uniquely and permanently identifying that
with which it is associated
[ISO 19135:2005, 4.1.5]
4 © ISO 2011 – All rights reserved
4.21
identification convention
set of rules for creating identifiers (4.20)
4.22
information
knowledge concerning objects, such as facts, events, things, processes, or ideas, including concepts, that
within a certain context has a particular meaning
[ISO/IEC 2382-1:1993, 01.01.01]
4.23
instance model
representation model (4.27) for storing data (4.8) according to an application schema (4.1)
4.24
interface
UML named set of operations that characterize the behaviour of an element
[ISO/IEC 19501]
4.25
interoperability
capability to communicate, execute programs, or transfer data (4.8) among various functional units in a
manner that requires the user to have little or no knowledge of the unique characteristics of those units
[ISO/IEC 2382-1:1993, 01.01.47]
4.26
medium
substance or agency for storing or transmitting data (4.8)
[1]
EXAMPLES Compact disc, internet , radio waves, etc.
4.27
model
abstraction of some aspects of reality
[ISO 19109:2005, 4.14]
4.28
schema
formal description of a model (4.27)
[ISO 19101:2002, 4.25]
4.29
schema model
representation model (4.27) for storing schemas (4.28)
EXAMPLE Representation model for a schema repository.
4.30
stereotype
UML new type of modelling element that extends the semantics of the metamodel
[ISO/IEC 19501]
NOTE It is necessary that stereotypes be based on certain existing types or classes in the metamodel. Stereotypes
may extend the semantics, but not the structure, of pre-existing types and classes. Certain stereotypes are predefined in
the UML, others may be user-defined. Stereotypes are one of three extensibility mechanisms in UML; the others are
constraint and tagged value.
4.31
transfer protocol
common set of rules for defining interactions between distributed systems
4.32
transfer unit
collection of data (4.8) for the purpose of a data transfer (4.10)
NOTE A transfer unit does not have to be identifiable like a dataset (4.12).
4.33
universe of discourse
view of the real or hypothetical world that includes everything of interest
[ISO 19101:2002, 4.29]
4.34
value domain
set of accepted values
[ISO/TS 19103:2005, 4.1.15]
EXAMPLE The range 3-28, all integers, any character, enumeration of all accepted values (green, blue, white).
5 Symbols and abbreviated terms
DCE Distributed computing environment
DUID Domain unique identifier
HTML Hypertext markup language
MODIS Moderate resolution imaging spectroradiometer
POSC Petroleum Open Standards Consortium
TIFF Tagged image file format
UCS Universal multiple-octet coded character set
UML Unified modelling language
UTF UCS Transfer format
UUID Universally unique identifier
XML Extensible markup language
6 © ISO 2011 – All rights reserved
6 Fundamental concepts and assumptions
6.1 Concepts
The purpose of the set of International Standards known as the “ISO 19100 series” is to enable interoperability
between heterogeneous geographic information systems. To achieve interoperability between heterogeneous
systems, it is necessary to determine two fundamental issues. The first issue is to define the semantics of the
content and the logical structures of geographic data. This shall be done in an application schema. The
second issue is to define a system- and platform-independent data structure that can represent data
corresponding to the application schema.
The fundamental concepts of data interchange, i.e. the procedure based on the application schema for
encoding, delivery, receipt and interpretation of geographic data, are described in 6.2 to 6.6. An overview of
the data interchange process is described in 6.2; 6.3 introduces application schemas that allow interpretation
of geographic data; 6.4 describes the importance of the encoding rule for producing system-independent data
structures; 6.5 describes a software component, called the encoding service, for executing the encoding rule;
and 6.6 describes the procedure for delivery and receipt, called the transfer service.
6.2 Data interchange
An overview of a data interchange is shown in Figure 1. System A wants to send a dataset to system B. To
ensure a successful interchange, it is necessary that A and B decide on three things: i.e. a common
application schema I, which encoding rule R to apply, and what kind of transfer protocol to use. The
application schema is the basis of a successful data transfer and defines the possible content and structure of
the transferred data, whereas the encoding rule defines the conversion rules for how to code the data into a
system-independent data structure.
System A System B
Application
schema
Internal Internal
I
schema schema
A B
Internal Internal
i i
M M
A B
AI IB
database database
Encoding
Encoding
service
service
(Decoding)
R
-1
R
d
d
File Transfer Transfer File
system services services system
Defines
Data transfer
Data flow
System boundary System boundary
Figure 1 — Overview of data interchange between two systems
Both systems, A and B, store data in an internal database according to an internal schema, but the schemas
are usually different, i.e. schema A is not equal to schema B. It is necessary to take the following logical steps
in order to transfer a dataset from A's internal database to B's internal database.
a) The first step for system A is to translate its internal data into a data structure that is in accordance with
the common application schema I. Here, this is done by defining a mapping from the concepts of the
internal schema to the concepts defined in the application schema and by writing appropriate mapping
software to translate the data instances. In Figure 1, this mapping is denoted as M . The result is an
AI
application-schema-specific data structure, i . The data structure is stored in memory or on an
A
intermediate file and is system-dependent and, thus, is not suitable for transfer.
b) The next step is to use an encoding service, which applies the encoding rule R to create a data structure
that is system independent and, therefore, suitable for transfer. This encoded dataset is called d and may
be stored in a file system or transferred using a transfer service.
c) System A then invokes a transfer service to send the encoded dataset d to system B. The transfer service
follows a transfer protocol for how to do packaging and how the actual transportation over an on-line or
off-line communication medium should take place. It is necessary that both parties agree on the transfer
protocol used.
d) The transfer service on system B receives the transferred dataset, and according to the protocol the
dataset is unpacked and stored as an encoded dataset d, e.g. on an intermediate file.
e) In order to get an application-schema-specific data structure i , system B applies the inverse encoding
B
1
rule R to interpret the encoded data.
f) To use the dataset, it is necessary that B translate the application-schema-specific data structure i into
B
its internal database. This is done by defining a mapping from the application schema into its internal
schema and by writing software that does the actual translation. In Figure 1 this mapping is denoted M .
IB
This International Standard specifies only the requirements for creating encoding rules and the encoding
services and not the whole data interchange process. Thus, only steps b) and e) are standardized. Steps a),
c), d) and f) use general information technology services.
6.3 Application schema
An application schema is a conceptual schema for applications with similar data requirements. The application
schema is the basis of a successful data interchange and defines the possible content and structure of the
data. It is also the basis for implementing application-schema-specific data structures for local storage of data.
The application schema used for encoding in compliance with this International Standard shall be written in
the UML conceptual schema language, in accordance with ISO/TS 19103 and ISO 19109. These International
Standards specify a framework for how to write application schemas. The rules include specifications on how
to use standardized schemas to define feature types. It is necessary that both a sender and a receiver of data
have access to the application schema.
The application schema shall be accessible to both ends of a data interchange to ensure a successful result. It
is necessary that the application schema be transferred before data interchange takes place, so that both the
receiver and sender can prepare their systems by implementing mappings and data structures according to
the application schema. It may be transferred together with the dataset, or it may be stored in a public place
and referenced from the dataset.
The application schema may be interchanged by paper- or electronic-based methods.
8 © ISO 2011 – All rights reserved
6.4 Encoding rule
6.4.1 Concept
An encoding rule is an identifiable collection of conversion rules that defines the encoding for a particular data
structure. The encoding rule specifies the data types being converted, as well as the syntax, structure and
coding schemes used in the resulting data structure. An encoding rule is applied to application-schema-
specific data structures to produce system-independent data structures suitable for transport or storage. In
order to define an encoding rule, it is necessary that three important aspects be specified: the input data
structure, the output data structure and the conversion rules between the elements of the input and the output
data structures. Both the input and output data structures are written using a conceptual schema language
and the concepts in the languages are used to define the encoding rule.
6.4.2 Input data structure
The input data structure is an application-schema-specific data structure. The data structure can be thought of
as a set of data instances, i.e. i {i , ., i }; see Figure 1. Each data instance, i , is an instance of a concept,
1 p k
I, defined in an application schema. The application schema defines a set of concepts defined in the
l
application schema I {I , ., I }.
1 m
The application schema is a conceptual schema, c, written in a conceptual schema language, C. The
conceptual schema defines a set of concepts c {c , ., c } by instantiating the concepts of the conceptual
1 m
schema language C {C , ., C }. Since the application schema is a conceptual schema, c I.
1 r
6.4.3 Output data structure
The output data structure is defined by a schema, D {D , ., D }. D is the schema for the output structure
1 s
and is not shown in Figure 1. The output data structure can be thought of as a set of data instances, i.e.
d {d , ., d } where each data instance, d , is an instance of a concept, D .
1 q k l
The schema, D, defines the syntax, structure and coding schemes of the output data structure.
6.4.4 Conversion rules
A conversion rule specifies how a data instance in the input data structure shall be converted to zero, one, or
more instances in the output data structure. The conversion rules are defined and based on the concepts of
the conceptual schema language, C, and on the concepts of the output data structure schema, D. It is
necessary to specify a conversion rule, R , for each of the legal combinations of concepts in the conceptual
i
schema language. The set of conversion rules are R {R , ., R }, where R is the i-th conversion rule and C
1 n i i
is the i-th legal combination of instances from the schema language. A conversion table for all possible C can
i
be set up, where each C maps to a production of instances in the output data structure, D. Figure 2 shows the
i
relationship between the input and output conceptual schema language and the encoding rule.
Output data
Conceptual
structure
schema
schema
language
language
C
D
Encoding
input output
rule
concepts concepts
R
Figure 2 — The encoding rule defines conversion rules from input concepts to output concepts
NOTE The conversion rules are defined based on the two schema languages and not on any particular application
schema. This is a generic approach that allows developers to write application-schema-independent encoding services,
which can be used for different application schemas as long as the schemas are defined in the same conceptual schema
language.
6.5 Encoding service
An encoding service is a software component that has implemented the encoding rule and provides an
interface to encoding and decoding functionality. It is an integrated part of data interchange.
Figure 3 presents the details of an encoding service and its relationships to important specification schemas.
The encoding service shall be able to read the input data structure and convert the instances to an output data
structure and vice versa. It shall also be able to read the application schema declarations and write the
corresponding output data structure schema. The input data structure is defined by an application schema.
The application schema is defined using concepts of the conceptual schema language. The output data
structure is also described with a schema, called the data structure schema, which defines the possible
content, structure and coding schemes of the output data structure. The data structure schema is described
with a schema language. The encoding rule specifies conversion rules at two levels: the first is at the schema
level and the second is at the instance level. At the schema level, the conversion rules define a mapping for
each of the concepts defined in the application schema to corresponding concepts in the data structure
schema. At the instance level, the conversion rules define a mapping for each of the instances in the input
data structure to corresponding instances in the output data structure. The instance conversion rules are
normally deduced from the schema conversion rules.
Data
Application
structure
Schema
schema
schema
I
D
Encoding
service
Instances
id
input output
Defines
Data flow
Figure 3 — Overview of the encoding process
An encoding service shall at least provide interfaces for encoding and decoding functionality. Examples of
such interfaces are for encoding d encode (i, I) and for decoding i decode (d, I). Here, i is a reference to
an application-schema-specific data structure; I is a reference to the application schema; and d is a reference
to the system independent data structure.
6.6 Transfer service
A transfer service is a software component that has implemented one or more transfer protocols that allows
data transfer between distributed information systems over off-line or on-line communication media. To
successfully transfer data between two systems, it is necessary that the sender and receiver agree on the
transfer protocol being used.
Different transfer protocols can be defined. One example is off-line transfer protocols where data are stored
on optical or magnetic media and delivered using postal services or other dedicated delivery services. Another
example is on-line transfer protocols where data are compressed and included as an email attachment,
delivered using a file transfer protocol or transferred using other distributed information technology services
which rely on an underlying network service.
This International Standard does not prescribe any preferred transfer protocols.
10 © ISO 2011 – All rights reserved
7 Character repertoire
ISO/IEC 10646 defines an internationally recognized repertoire of characters called the Universal Character
Set (UCS) and its character-encoding schemes. The international character set standards defined in
ISO/IEC 10646 shall be used in implementing this International Standard.
The character-encoding schemes that can be supported by international profiles of this International Standard
are the following:
a) 8-bit variable size UCS Transfer Format UTF-8;
b) 16-bit variable size UCS Transfer Format UTF-16;
c) 16-bit fixed size Universal Character Set UCS-2 (deprecated);
d) 32-bit fixed size Universal Character Set UCS-4.
International encoding rules that claim conformance with this International Standard shall support one or more
of these character-encoding schemes. Within national profiles and system implementations, different
character-encoding schemes may be used. The fixed-size character-encoding schemes are often used in
database implementations and the variable-size is often used for data interchange purposes.
ISO/IEC 10646 specifies only the repertoire of characters and gives no indication of which language is actually
used.
NOTE 1 In cases where it is important to distinguish between different languages in text strings, special mechanisms to
indicate the language used can be used.
ISO/IEC 10646 defines mechanisms for creating composite characters. Composite characters are characters
produced by superimposing one or more additional characters on a base character. ISO/IEC 10646 defines a
set of precomposed characters and their defined decomposition. Since mixing composite characters with their
precomposed equivalents can lead to interpretation problems, the use of a composite character if a
precomposed character exists is deprecated, i.e. the precomposed character shall always be used.
To summarize, an encoding rule shall
support one or more character-encoding schemes, and
not use composite characters if equivalent precomposed characters exist.
EXAMPLE The precomposed character ö has the defined decomposition o¨.
NOTE 2 For a more detailed description of character normalization, see http://www.unicode.org/reports/tr15/
and http://www.w3.org/TR/charmod-norm/.
NOTE 3 UTF-16, UCS-2 and UCS-4 require information on how to deal with byte ordering,
see http://www.unicode.org/faq/utf_bom.html.
8 Generic instance model
8.1 Introduction
A generic instance model is defined in Clause 8. The instance model is a convenient common representation
of data when developing encoding services. The instance model is capable of representing data described by
application schemas expressed in UML. The instance model represents the application-schema-specific data
structure defined in Clause 6 (data structures i and i in Figure 1). The instance model consists of a dataset
A B
(IM_Dataset) that contains a sequence of objects (IM_Object), where an object consists of a sequence of
properties (IM_Property). Properties in this context are either attributes or associations; operations are not
included in the general instance model. Each property is encoded according to its data type. The instance
model is shown in Figures 4 and 5.
The application schema defines a number of classes and their attributes and associations and it is the basis
for generating data representations. A data representation (dataset) contains one or more objects that are
structured and encoded according to their class definitions. Clause 8 describes the principles of how to
represent objects, their attributes and associations between objects.
The basic unit of information in a dataset is the object. An object shall be an instance of a single concrete
class. There are no instances of abstract classes and classes stereotyped as interface. Thus, properties
defined by such classes are encoded as part of concrete classes inheriting or realizing them. Each class shall
have a unique name within the application schema. The application schema may refer to or use classes
defined in standardized schemas or other application schemas. The declaration of these classes shall either
be included in the UML model that contains the application schema or accompany the application schema as
a separate file.
An object shall contain a set of property values. The object's class defines the properties and they can either
be inherited through the “class” supertypes or defined within the class itself. In order to differentiate between
the different properties, each property shall have a name that is unique within its class. The property's data
type governs the possible values and the multiplicity statement indicates the number of instances of the
attribute in an instantiated object.
An object has a corresponding class, defined in an application schema or standardized schema, which defines
the possible attributes and associations that are necessary to represent the state of the object. An IM_Object
refers to its class by the “class” attribute, it shall be identified within the context of a dataset by its unique
identifier “id”, and may be universally uniquely identified within a defined universe, application domain or name
space, by its “duid” attribute.
<>
<>
Instance Model::IM_Object
Instance Model::IM_DataSet
object
+ id: CharacterString
+ id: CharacterString
+ duid: CharacterString
0.* 0.*
+ duid: CharacterString
+ /uuid: CharacterString
+ /uuid: CharacterString
+ type: GenericName
constraints
constraints
{uuid = duid}
{uuid = duid}
property 0.*
<>
Instance Model::IM_Property
+ name: GenericName
+ value: IM_Value [0.*] {ordered}
Figure 4 — Instance model — Dataset, object and property
The attributes defined by the class and the association ends navigable from the class are mapped to a set of
properties. A property (IM_Property) represents a name with an ordered collection of values. It can represent
an attribute or association end. The property name shall correspond to the attribute name or the target role
name of an association. A value (IM_Value) represents a property value.
Null values may be given either explicitly or implicitly. An explicit null value shall be indicated by an instance of
the corresponding IM_Property with a given nilReason value. An implicit null value is indicated if the
corresponding IM_Property instance is missing.
12 © ISO 2011 – All rights reserved
<>
Instance Model::IM_Value
+ id: CharacterString [0.1]
+ duid: CharacterString [0.1]
+ /uuid: CharacterString [0.1]
constraints
{uuid = duid}
<> <> <>
Instance Model:: Instance Model::IM_Reference Instance Model::
IM_SimpleValue IM_StructuredValue
+ id_ref: CharacterString [0.1]
+ value: CharacterString
+ duid_ref: CharacterString [0.1] + type: GenericName
+ type: GenericName
constraints
0.1
{id_ref->notEmpty() or duid_ref->notEmpty()}
{id->isEmpty()}
{duid>isEmpty()}
property 0.*
<>
Instance Model::IM_Property
+ name: GenericName
+ value: IM_Value [0.*] {ordered}
Figure 5 — Instance model — Value types
The three value types are defined as follows.
IM_SimpleValue represents a value of simple content.
EXAMPLE An integer or a character string.
IM_Reference represents a link or reference to a target object. The target object may be located in the
same transfer unit or another one. A unique identifier (id_ref) targets an object located within the same
transfer unit. A domain unique identifier (duid_ref) targets an object located within the context of an
application domain.
IM_StructuredValue represents a data type value with complex content [a sequence of properties
(IM_Property)].
An object may, through its associations, be linked (or refer) to one or more objects. UML defines three
different types of associations, called association, aggregation and composition, with different semantics; see
ISO/TS 19103 for further details. There are, in general, two strategies for representing associations: either
encapsulated as a part of the objects or detached from the objects as separate association objects or
relational tables.
The encapsulated representation strategy splits an association into a source object property and a target
object property. These two link properties then each point to the other object. The link property contains
references to its target objects or, in the case of a composition, the target objects themselves. A link property
is identified by the role name close to the target class and has a corresponding multiplicity. If the role name is
missing or if the association is not navigable from the source object, then there shall be no link property. The
two link property values should be consistent in that the referential integrity constraint is enforced. That is, if a
source object is referring to another target object through a link property and the target object has a bi-
directional association to the source object, the target object shall have a corresponding link property that is
referring back to the source object. If a link property is encoded as a reference or an embedded object or not
encoded at all, it is defined by a concrete encoding rule (such as Annex A).
8.2 Relation between UML and the instance model
Table 3 gives a summary of the relation between UML and the instance model.
Objects based on classes that have supertypes shall contain all the properties and association ends of their
class and of their supertypes. Thus, all attributes and association ends shall be copied from the supertypes
and are considered to be a part of the object. Attribute and association end names shall be the way of
accessing the values of the attributes and they shall therefore be unique within the class.
Operations and constraints shall not be mapped to the instance model.
Table 3 — Summary of relationship between UML and the instance model
UML concept Instance model
a
Package N/A
Class
Stereotype
<> IM_Object
<> IM_SimpleValue or IM_StructuredValue
<> IM_StructuredValue
<> IM_SimpleValue
<> IM_SimpleValue or IM_StructuredValue
<> IM_Object
<> IM_Object
NONE IM_Object
any other stereotype as defined as defined by the encoding rule specification
by the UML profile used
Attribute IM_Property with IM_Value according to attribute type; either
IM_SimpleValue, IM_Reference or IM_StructuredValue
Association IM_Property with IM_Reference
Aggregation IM_Property with IM_Reference
Composition IM_Property with IM_Value according to target type; either
IM_Reference (target type is a class) or IM_SimpleValue or
IM_StructuredValue (target type is a data type)
Generalization The object according to the sub-class carries all the properties that
the sub-class inherits from the super-classes.
Operation N/A
Constraint N/A
a
N/A stands for not applicable.
9 Encoding rules
9.1 Introduction
The requirements for specifying encoding rules are defined in 9.2 to 9.6. An encoding rule describes
conversion rules for transforming data from an input data structure to an output data structure. Schemas shall
be described for both the input and the output data structure. The schema for the input data structure is called
an application schema.
An encoding rule shall in general specify the follo
...
NORME ISO
INTERNATIONALE 19118
Deuxième édition
2011-10-15
Information géographique — Codage
Geographic information — Encoding
Numéro de référence
©
ISO 2011
DOCUMENT PROTÉGÉ PAR COPYRIGHT
© ISO 2011
Droits de reproduction réservés. Sauf prescription différente, aucune partie de cette publication ne peut être reproduite ni utilisée sous
quelque forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie et les microfilms, sans l'accord écrit
de l'ISO à l'adresse ci-après ou du comité membre de l'ISO dans le pays du demandeur.
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
Publié en Suisse
ii © ISO 2011 – Tous droits réservés
Sommaire Page
Avant-propos . iv
Introduction . v
1 Domaine d'application . 1
2 Conformité . 1
2.1 Introduction . 1
2.2 Classes de conformité relatives aux règles de codage . 1
2.3 Classes de conformité relatives aux services de codage . 1
3 Références normatives . 2
4 Termes et définitions . 2
5 Symboles et termes abrégés . 6
6 Concepts et hypothèses fondamentaux . 7
6.1 Concepts . 7
6.2 Échange de données . 7
6.3 Schéma d'application . 8
6.4 Règle de codage . 9
6.5 Service de codage . 10
6.6 Service de transfert . 11
7 Répertoire de caractères . 11
8 Modèle d'instance générique . 12
8.1 Introduction . 12
8.2 Rapport entre UML et modèle d'instance . 14
9 Règles de codage . 15
9.1 Introduction . 15
9.2 Exigences générales de codage . 16
9.3 Structure de données entrante . 18
9.4 Structure de données sortante . 18
9.5 Règles de conversion . 19
9.6 Exemples . 19
10 Service de codage . 19
Annexe A (normative) Règle de codage basée sur XML . 21
Annexe B (normative) Suite de tests abstraits . 22
Annexe C (informative) Règle de codage basée sur XML en usage par les communautés . 26
Bibliographie . 69
Avant-propos
L'ISO (Organisation internationale de normalisation) est une fédération mondiale d'organismes nationaux de
normalisation (comités membres de l'ISO). L'élaboration des Normes internationales est en général confiée
aux comités techniques de l'ISO. Chaque comité membre intéressé par une étude a le droit de faire partie du
comité technique créé à cet effet. Les organisations internationales, gouvernementales et non
gouvernementales, en liaison avec l'ISO participent également aux travaux. L'ISO collabore étroitement avec
la Commission électrotechnique internationale (CEI) en ce qui concerne la normalisation électrotechnique.
Les Normes internationales sont rédigées conformément aux règles données dans les Directives ISO/CEI,
Partie 2.
La tâche principale des comités techniques est d'élaborer les Normes internationales. Les projets de Normes
internationales adoptés par les comités techniques sont soumis aux comités membres pour vote. Leur
publication comme Normes internationales requiert l'approbation de 75 % au moins des comités membres
votants.
L'attention est appelée sur le fait que certains des éléments du présent document peuvent faire l'objet de
droits de propriété intellectuelle ou de droits analogues. L'ISO ne saurait être tenue pour responsable de ne
pas avoir identifié de tels droits de propriété et averti de leur existence.
L'ISO 19118 a été élaborée par le comité technique ISO/TC 211, Information géographique/Géomatique.
Cette deuxième édition annule et remplace la première édition (ISO 19118:2005), qui a fait l'objet d'une
révision technique.
iv © ISO 2011 – Tous droits réservés
Introduction
La présente Norme internationale spécifie les exigences pour la définition des règles de codage utilisées dans
l'échange de données géographiques dans le cadre de l'ensemble de Normes internationales connu sous le
nom de «série ISO 19100». Une règle de codage permet de coder une information géographique définie par
des schémas d'application et des schémas normalisés dans une structure de données indépendante vis-à-vis
du système, adaptée au transport et au stockage. La règle de codage spécifie les types de données à
encoder, ainsi que la syntaxe, la structure et les méthodes de codage utilisées dans la structure de données
créée. La structure de données créée peut être conservée sur média numériques ou transférée à l'aide de
protocoles de transfert. Elle est destinée à la lecture et l'interprétation des données par voie informatique,
mais peut se présenter sous une forme lisible par l'homme.
Le choix d'une règle de codage destinée à l'échange de données indépendantes vis-à-vis de l'application
n'empêche pas les domaines d'application et les états individuels de définir et d'utiliser leurs propres règles de
codage pouvant être dépendantes d'une plateforme ou plus efficaces compte tenu de la taille des données ou
de la complexité de traitement. XML est un sous-ensemble de l'ISO/CEI 8879 et a été sélectionné parce qu'il
s'agit d'une plateforme informatique indépendante et compatible avec le réseau de l'Internet.
La présente Norme internationale se divise en trois sections logiques. Les exigences de création des règles
de codage se basant sur les schémas UML sont spécifiées aux Articles 6 à 9. Les exigences de création du
service de codage sont spécifiées à l'Article 10 et les exigences des règles de codage du langage XML sont
spécifiées à l'Annexe A.
La règle de codage XML est destinée à l'échange neutre de données. Elle se base sur le langage de balisage
extensible (XML, Extensible Markup Language) et les normes ISO/CEI 10646 relatives au jeu de caractères.
Les règles d'information géographique sont normalisées dans l'ensemble de Normes internationales connu
sous le nom de «série ISO 19100». Le contexte et la structure globale de cette série de Normes
internationales, ainsi que les techniques de description fondamentale sont définis dans l'ISO 19101,
l'ISO/TS 19103 et l'ISO/TS 19104.
Les utilisateurs de la présente Norme internationale peuvent développer des schémas d'application pour
décrire méthodiquement l'information géographique. Un schéma d'application est créé en intégrant des
éléments d'autres schémas conceptuels normalisés (par exemple l'ISO 19107). La façon de réaliser cette
intégration est décrite dans l'ISO 19109. L'ensemble de Normes internationales connu sous le nom de «série
ISO 19100» définit également un ensemble de services courants qui sont disponibles lorsqu'on développe
des applications d'information géographique. En général, ces services communs sont définis dans
l'ISO 19119 et concernent l'accès à l'information géographique et son traitement en fonction du modèle
d'information commun. La présente Norme internationale traite des questions de mise en œuvre.
NORME INTERNATIONALE ISO 19118:2011(F)
Information géographique — Codage
1 Domaine d'application
La présente Norme internationale spécifie les exigences pour la définition des règles de codage à utiliser pour
l'échange de données conformes à l'ensemble de Normes internationales relatives à l'information
géographique connu sous le nom de «série ISO 19100».
La présente Norme internationale spécifie
les exigences de création des règles de codage basées sur les schémas UML,
les exigences de création des services de codage, et
les exigences en matière de règles de codage XML pour l'échange neutre de données.
La présente Norme internationale ne spécifie pas les média numériques, ne définit aucun service de transfert
ou de protocole de transfert, ni ne spécifie la façon d'encoder les grandes images en ligne.
2 Conformité
2.1 Introduction
Deux types de classes de conformité sont définis dans le cadre de la présente Norme internationale.
2.2 Classes de conformité relatives aux règles de codage
Toutes les règles de codage doivent passer tous les tests de la suite de tests abstraits en B.1. Toutes les
règles de codage doivent passer tous les tests de la suite de tests abstraits en B.2 et/ou B.3.
Tableau 1 — Classes de conformité relatives aux règles de codage
Classe de conformité Paragraphe de la suite de tests abstraits
Toutes les règles de codage B.1
Règle de codage avec conversion d'instance B.2
Règle de codage avec conversion de schéma B.3
2.3 Classes de conformité relatives aux services de codage
Tous les services de codage doivent passer tous les tests de la suite de tests abstraits en B.4. Selon les
capacités du service de codage, celui-ci doit passer tous les tests des classes de conformité supplémentaires,
conformément au Tableau 2.
Tableau 2 — Classes de conformité relatives aux services de codage
Classe de conformité Paragraphe de la suite de tests abstraits
Tous les services de codage B.4
Service de codage générique B.5
Service qui encode les données B.6
Service qui décode les données B.7
Service qui crée le schéma de structure de données sortante B.8
3 Références normatives
Les documents de référence suivants sont indispensables à l'application du présent document. Pour les
références datées, seule l'édition citée s'applique. Pour les références non datées, la dernière édition du
document de référence s'applique (y compris les éventuels amendements).
ISO 8601:2004, Éléments de données et formats d'échange — Échange d'information — Représentation de
la date et de l'heure
ISO/CEI 10646:2011, Technologies de l'information — Jeu universel de caractères codés (JUC)
ISO/TS 19103:2005, Information géographique — Langage de schéma conceptuel
ISO 19109:2005, Information géographique — Règles de schéma d'application
Langage de balisage extensible (XML) 1.0, Recommandation W3C. Disponible à
l'adresse http://www.w3.org/TR/REC-xml
4 Termes et définitions
Pour les besoins du présent document, les termes et définitions suivants s'appliquent.
4.1
schéma d'application
schéma conceptuel (4.5) des données (4.8) requises pour une ou plusieurs applications
[ISO 19101:2002, 4.2]
NOTE Le schéma d'application décrit le contenu, la structure et les contraintes applicables à l'information (4.22)
dans un domaine d'application spécifique.
4.2
caractère
composant d'un jeu d'éléments utilisé pour la représentation, l'organisation ou le contrôle des données (4.8)
[ISO/CEI 2382-1:1993, 01.02.11]
4.3
code
représentation d'un label conformément à une méthode spécifiée
2 © ISO 2011 – Tous droits réservés
4.4
modèle conceptuel
modèle (4.27) définissant les concepts de l'univers du discours (4.33)
[ISO 19101:2002, 4.4]
4.5
schéma conceptuel
description formelle d'un modèle conceptuel (4.4)
[ISO 19101:2002, 4.5]
4.6
langage de schéma conceptuel
langage formel basé sur un formalisme conceptuel destiné à représenter des schémas conceptuels (4.5)
[ISO 19101:2002, 4.6]
EXEMPLES UML, EXPRESS, IDEF1X.
NOTE Un langage de schéma conceptuel peut être lexical ou graphique.
4.7
règle de conversion
règle utilisée pour convertir les instances de la structure de données (4.8) entrante en instances de la
structure de données sortante
4.8
données
représentation réinterprétable d'une information (4.22) de façon formelle et adaptée à la communication, à
l'interprétation ou au traitement
[ISO/CEI 2382-1:1993, 01.01.02]
4.9
échange de données
livraison, réception et interprétation des données (4.8)
4.10
transfert de données
mouvement des données (4.8) d'un emplacement à un autre à l'aide d'un médium (4.26)
NOTE Le transfert d'informations (4.22) implique le transfert de données.
4.11
type de données
spécification d'un domaine de valeurs (4.34) et d'opérations autorisées sur les valeurs de ce domaine
[ISO/TS 19103:2005, 4.1.5]
EXEMPLES Integer (Nombre entier), Real (Réel), Boolean (Booléen), String (Chaîne) et Date (Date).
NOTE Le type de données est identifié par un terme, par exemple Integer. Les valeurs des types de données font
partie du domaine de valeurs spécifié, par exemple tous les nombres entiers entre –65537 et 65536. Les opérations
possibles sont +, -, * et / et sont sémantiquement bien définies. Un type de données peut être simple ou complexe. Un
type de données simple définit un domaine de valeurs où les valeurs sont considérées à l'unité dans un certain contexte,
par exemple Integer. Un type de données complexe est un regroupement de types de données. Un type de données
complexe peut représenter un objet et peut donc être identifiable.
4.12
jeu de données
ensemble identifiable de données (4.8)
[ISO 19115:2003, 4.2]
4.13
codage
conversion de données (4.8) en une série de codes (4.3)
4.14
règle de codage
ensemble identifiable de règles de conversion (4.7) qui définissent le codage (4.13) d'une structure de
données (4.8) spécifique
EXEMPLES XML, ISO 10303-21, ISO/CEI 8211.
NOTE La règle de codage spécifie les types de données à convertir, ainsi que la syntaxe, la structure et les
codes (4.3) utilisés dans la structure de données créée.
4.15
service de codage
composant logiciel implémentant une règle de codage (4.14)
4.16
entité
abstraction de phénomènes du monde réel
[ISO 19101:2002, 4.11]
NOTE Une entité peut se présenter comme un type ou une instance. Le type ou l'instance d'entité est utilisé
lorsqu'un seul d'entre eux est concerné.
4.17
fichier
ensemble nommé d'enregistrements conservés ou traités en tant qu'entité unitaire
[ISO/CEI 2382-1:1993, 01.08.06]
4.18
données géographiques
données (4.8) ayant une référence implicite ou explicite à une localisation relative à la Terre
[ISO 19109:2005, 4.12]
4.19
information géographique
information (4.22) concernant les phénomènes associés implicitement ou explicitement à une localisation
relative à la Terre
[ISO 19101:2002, 4.16]
4.20
identifiant
séquence de caractères (4.2) linguistiquement indépendante et capable d'identifier de manière exclusive et
permanente ce à quoi elle est associée
[ISO 19135:2005, 4.1.5]
4 © ISO 2011 – Tous droits réservés
4.21
convention d'identification
ensemble de règles servant à créer des identifiants (4.20)
4.22
information
connaissance relative aux objets, tels que les faits, évènements, choses, procédés ou idées, y compris les
concepts, qui a une signification particulière dans un certain contexte
[ISO/CEI 2382-1:1993, 01.01.01]
4.23
modèle d'instance
modèle (4.27) de représentation permettant de conserver les données (4.8) selon un schéma
d'application (4.1)
4.24
interface
UML ensemble nommé d'opérations qui caractérisent le comportement d'un élément
[ISO/CEI 19501]
4.25
interopérabilité
capacité de communiquer, d'exécuter des programmes ou de transférer des données (4.8) parmi diverses
unités fonctionnelles d'une façon n'exigeant de l'utilisateur que peu ou pas de connaissances des
caractéristiques spécifiques de ces unités
[ISO/CEI 2382-1:1993, 01.01.47]
4.26
médium
substance ou agence de stockage et de transmission des données (4.8)
[1]
EXEMPLES CD, Internet , ondes radio, etc.
4.27
modèle
abstraction de certains aspects de la réalité
[ISO 19109:2005, 4.14]
4.28
schéma
description formelle d'un modèle (4.27)
[ISO 19101:2002, 4.25]
4.29
modèle de schéma
modèle (4.27) de représentation destiné à conserver des schémas (4.28)
EXEMPLE Modèle de représentation destiné à un entrepôt de schéma.
4.30
stéréotype
UML nouveau type d'élément de modélisation qui étend la sémantique du métamodèle
[ISO/CEI 19501]
NOTE Il est nécessaire que les stéréotypes soient basés sur certains types ou classes existants dans le métamodèle.
Les stéréotypes peuvent étendre la sémantique, mais pas la structure des types et classes préexistants. Certains
stéréotypes sont prédéfinis dans l'UML, d'autres peuvent être définis par l'utilisateur. Les stéréotypes représentent l'un
des trois mécanismes d'extension du langage UML, les autres sont les contraintes et les valeurs d'étiquette.
4.31
protocole de transfert
ensemble commun de règles définissant les interactions entre systèmes distribués
4.32
unité de transfert
ensemble de données (4.8) destinées au transfert de données (4.10)
NOTE Une unité de transfert ne doit pas obligatoirement être identifiable, contrairement à un jeu de données (4.12).
4.33
univers du discours
vue du monde réel ou hypothétique incluant tout objet d'intérêt
[ISO 19101:2002, 4.29]
4.34
domaine de valeurs
ensemble de valeurs autorisées
[ISO/TS 19103:2005, 4.1.15]
EXEMPLES L'intervalle 3-28, tous les nombres entiers, tous les caractères, l'énumération de toutes les valeurs
autorisées (vert, bleu, blanc).
5 Symboles et termes abrégés
DCE Distributed computing environment (Environnement informatique distribué)
DUID Domain unique identifier (Identifiant unique de domaine)
HTML Hypertext markup language (Langage de balisage hypertexte)
MODIS Moderate resolution imaging spectroradiometer (Spectroradiomètre à image à résolution
modérée)
POSC Petroleum Open Standards Consortium (Consortium de normes ouvertes de l'industrie pétrolière)
TIFF Tagged image file format (Format de fichier image à balise)
UCS Universal multiple-octet coded character set [Jeu universel de caractères codés sur plusieurs
octets (JUC)]
UML Unified modeling language (Langage de modélisation unifié)
UTF UCS transfer format (Format de transfert pour UCS)
UUID Universally unique identifier (Identifiant unique universel)
XML Extensible markup language (Langage de balisage extensible)
6 © ISO 2011 – Tous droits réservés
6 Concepts et hypothèses fondamentaux
6.1 Concepts
L'objectif de l'ensemble de Normes internationales connu sous le nom de «série ISO 19100» est de permettre
l'interopérabilité entre les systèmes d'information géographique hétérogènes. Pour obtenir l'interopérabilité
entre les systèmes hétérogènes, il est nécessaire de déterminer deux éléments fondamentaux. En premier
lieu, il faut définir la sémantique du contenu et les structures logiques des données géographiques. Cela doit
être réalisé à l'aide d'un schéma d'application. Ensuite, il faut définir une structure de données indépendante
vis-à-vis de toute plateforme et de tout système qui puisse représenter les données correspondant au schéma
d'application.
Les concepts fondamentaux de l'échange de données, c'est-à-dire la procédure se basant sur le schéma
d'application pour coder, envoyer, recevoir et interpréter les données géographiques, sont décrits en 6.2 à 6.6.
Un aperçu du procédé d'échange de données est décrit en 6.2, 6.3 introduit des schémas d'application qui
permettent l'interprétation des données géographiques, 6.4 décrit l'importance de la règle de codage pour
produire des structures de données indépendantes vis-à-vis de tout système, 6.5 décrit un composant logiciel
appelé service de codage, qui exécute la règle de codage et 6.6 décrit la procédure d'envoi et de réception,
appelée service de transfert.
6.2 Échange de données
La Figure 1 montre un aperçu de l'échange des données. Le système A veut envoyer un jeu de données au
système B. Afin de garantir un échange réussi, il est nécessaire que A et B conviennent de trois points, c'est-
à-dire d'un schéma d'application commun I, de la règle de codage R à appliquer et du type de protocole de
transfert à utiliser. Le schéma d'application est la base d'un transfert de données réussi et définit le contenu et
la structure possibles des données transférées, alors que la règle de codage définit les règles de conversion
nécessaires pour déterminer la façon de coder les données dans une structure de données indépendante de
tout système.
Système A Système B
Schéma
d’application
Schéma Schéma
I
interne interne
A B
Base de
Base de
i i
M M
A B
AI IB
données données
interne
interne
Service de
Service de
codage
codage
(Décodage)
R
-1
R
d
d
Système Services
Services Système
de de
de de
Définit
fichiers transfert
transfert fichiers
Transfert de données
Flux de données
Limite du système Limite du système
Figure 1 — Aperçu de l'échange de données entre deux systèmes
Les deux systèmes, A et B, conservent les données dans une base de données interne en fonction d'un
schéma interne, mais les schémas sont généralement différents, c'est-à-dire que le schéma A n'est pas égal
au schéma B. Il est nécessaire de respecter les étapes logiques suivantes afin de transférer un jeu de
données de la base de données interne de A vers une base de données interne de B.
a) La première étape est de traduire les données internes du système A en une structure de données
conforme au schéma d'application commun I. Cela est possible en définissant une mise en
correspondance des concepts du schéma interne vers les concepts définis dans le schéma d'application
et en créant un logiciel approprié de mise en correspondance pour traduire les instances de données. À
la Figure 1, cette mise en correspondance est désignée par M . Il en résulte une structure de données
AI
spécifique i dérivée du schéma d'application. La structure de données est stockée dans une mémoire
A
ou dans un fichier intermédiaire et est dépendante du système et donc non adaptée au transfert.
b) L'étape suivante consiste à utiliser un service de codage, qui applique la règle de codage R pour créer
une structure de données indépendante du système et donc adaptée au transfert. Le jeu de données
encodé se nomme d et peut être conservé dans un système de fichiers ou transféré à l'aide d'un service
de transfert.
c) Le système A utilise ensuite un service de transfert pour envoyer le jeu de données d encodé vers le
système B. Le service de transfert suit un protocole de transfert pour déterminer le conditionnement et les
conditions de transport réel sur un médium de communication en ligne ou hors ligne. Il est nécessaire
que les deux parties conviennent du protocole de transfert utilisé.
d) Le service de transfert du système B reçoit le jeu de données transféré et, en fonction du protocole, le jeu
de données est décodé et sauvegardé comme un jeu de données d encodé, par exemple dans un fichier
intermédiaire.
e) Afin d'obtenir une structure de données spécifique i dérivée du schéma d'application, le système B
B
1
applique la règle de codage inverse R pour interpréter les données encodées.
f) Pour utiliser le jeu de données, il est nécessaire que B transpose la structure de données spécifique i
B
dérivée du schéma d'application dans sa base de données interne. Cela est possible en définissant une
mise en correspondance du schéma d'application vers son schéma interne et en créant un logiciel qui
effectue la transposition. À la Figure 1, cette mise en correspondance est désignée par M .
IB
La présente Norme internationale ne spécifie que les exigences de création des règles de codage et des
services de codage et non pas la totalité du procédé d'échange de données. Seules les étapes b) et e) sont
donc normalisées. Les étapes a), c), d) et f) ont recours aux services des technologies de l'information
d'usage général.
6.3 Schéma d'application
Un schéma d'application est un schéma conceptuel pour les applications ayant des exigences similaires
concernant les données. Le schéma d'application est la base d'un échange de données réussi et définit le
contenu et la structure possibles des données. C'est également la base pour l'implémentation de structures
de données propres au schéma d'application pour la sauvegarde locale des données.
Le schéma d'application utilisé pour encoder conformément à la présente Norme internationale doit être écrit
selon le langage du schéma conceptuel UML, conformément à l'ISO/TS 19103 et à l'ISO 19109. Ces Normes
internationales spécifient un cadre pour la création des schémas d'application. Ces règles comprennent des
spécifications relatives à l'utilisation de schémas normalisés pour la définition de types d'entités. Il est
nécessaire que le destinataire et l'expéditeur de données aient tous deux accès au schéma d'application.
Le schéma d'application doit être accessible aux deux parties de l'échange de données pour garantir un
résultat optimal. Il est nécessaire que le schéma d'application soit transféré avant la réalisation de l'échange
de données pour que l'expéditeur et le destinataire puissent préparer leurs systèmes en intégrant toutes les
mises en correspondance et toutes les structures de données conformément au schéma d'application. Il est
possible de le transférer avec le jeu de données ou de le sauvegarder dans un emplacement public, référencé
par le jeu de données.
Le schéma d'application peut s'échanger sur papier ou par le biais de méthodes électroniques.
8 © ISO 2011 – Tous droits réservés
6.4 Règle de codage
6.4.1 Concept
Une règle de codage est un ensemble identifiable de règles de conversion qui définit le codage d'une
structure de données particulière. La règle de codage spécifie le type de données à convertir, ainsi que la
syntaxe, la structure et les méthodes de codage utilisées dans la structure de données créée. Une règle de
codage est appliquée aux structures de données propres à un schéma d'application pour produire des
structures de données indépendantes du système et adaptées au transport et à la sauvegarde. Afin de définir
une règle de codage, il est nécessaire de spécifier trois éléments importants, à savoir la structure de données
entrante, la structure de données sortante et les règles de conversion entre les éléments des structures de
données entrante et sortante. Les structures de données entrante et sortante sont écrites sur la base d'un
langage de schéma conceptuel et les concepts de ce langage sont utilisés pour définir la règle de codage.
6.4.2 Structure de données entrante
La structure de données entrante est une structure de données spécifique du schéma d'application. La
structure de données peut être considérée comme un ensemble d'instances de données, c'est-à-dire
i = {i , ., i }; voir Figure 1. Chaque instance de données, i , est l'instance d'un concept I, défini dans un
1 p k l
schéma d'application. Le schéma d'application définit un ensemble de concepts définis dans le schéma
d'application I = {I , ., I }.
1 m
Le schéma d'application est un schéma conceptuel, c, écrit dans un langage de schéma conceptuel, C. Le
schéma conceptuel définit un ensemble de concepts c = {c , ., c } en instanciant les concepts du langage de
1 m
schéma conceptuel C = {C , ., C }. Puisque le schéma d'application est un schéma conceptuel, c = I.
1 r
6.4.3 Structure de données sortante
La structure de données sortante est définie par un schéma D = {D , ., D }. D est le schéma de la structure
1 s
sortante et n'est pas représenté à la Figure 1. La structure de données sortante peut être considérée comme
un ensemble d'instances de données, c'est-à-dire d = {d , ., d }, où chaque instance de données, d , est
1 q k
l'instance d'un concept, D .
l
Le schéma, D, définit la syntaxe, la structure et les méthodes de codage de la structure de données sortante.
6.4.4 Règles de conversion
Une règle de conversion spécifie la façon dont une instance de données dans la structure de données
entrante doit être convertie vers zéro, une, ou plusieurs instances dans la structure de données sortante. Les
règles de conversion sont définies et se basent sur les concepts du langage de schéma conceptuel, C, et sur
les concepts du schéma de structure de données sortante, D. Il est nécessaire de spécifier une règle de
conversion, R, pour chaque combinaison de concepts autorisée par le langage de schéma conceptuel.
i
L'ensemble de règles de conversion est donc R = {R , ., R }, où R est la ième règle de conversion et C est
1 n i i
la ième combinaison d'instances autorisée du langage de ce schéma. Il est possible d'établir une table de
conversion pour tous les C possibles, où chaque C conduit à la production d'instances dans la structure de
i i
données sortante, D. La Figure 2 montre les relations entre le langage de schémas conceptuels entrant et
sortant et la règle de codage.
Langage
Langage
de schéma
de
de structure
schéma
de données
conceptuel
sortantes
C
D
Règle de
Concepts Concepts
codage
entrants sortants
R
Figure 2 — La règle de codage définit les règles de conversion à partir
des concepts entrants jusqu'aux concepts sortants
NOTE Les règles de conversion se définissent sur la base des deux langages de schéma et non pas sur un schéma
d'application particulier. Cette approche générique permet aux développeurs de créer des services de codage
indépendants d'un schéma d'application, utilisables par différents schémas d'application à condition que les schémas
soient définis dans le même langage de schéma conceptuel.
6.5 Service de codage
Un service de codage est un composant logiciel qui permet d'exécuter la règle de codage et offre une
interface pour des fonctions de codage et de décodage. C'est un composant intégré à l'échange de données.
La Figure 3 présente en détail un service de codage et ses relations avec des schémas de spécification
importants. Le service de codage doit être en mesure de lire la structure de données entrante et de convertir
les instances vers une structure de données sortante et vice versa. Il doit également être en mesure de lire
les déclarations du schéma d'application et d'écrire le schéma correspondant de structure de données
sortante. La structure de données entrante est définie par un schéma d'application. Le schéma d'application
est défini à l'aide de concepts du langage de schéma conceptuel. La structure de données sortante est
également décrite par un schéma, appelé schéma de structure de données, qui définit le contenu, la structure
et les méthodes de codage possibles de la structure de données sortante. Le schéma de structure de
données est décrit par un langage de schéma. La règle de codage spécifie les règles de conversion à deux
niveaux: le premier au niveau du schéma et le second au niveau de l'instance. Au niveau du schéma, les
règles de conversion définissent une mise en correspondance de chaque concept défini dans le schéma
d'application aux concepts correspondants du schéma de la structure de données. Au niveau de l'instance,
les règles de conversion définissent une mise en correspondance de chaque instance de la structure de
données entrante aux instances correspondantes de la structure de données sortante. Les règles de
conversion d'instance sont en général issues des règles de conversion du schéma.
Schéma de
Schéma
structure de
Schéma
d’application
données
I
D
Service
de
codage
Instancesid
Entrée Sortie
Définit
Flux de données
Figure 3 — Aperçu du procédé de codage
10 © ISO 2011 – Tous droits réservés
Un service de codage doit au moins fournir les interfaces des fonctions de codage et de décodage. Des
exemples de ces interfaces sont pour le codage d = encode (i, I), et pour le décodage i = decode (d, I). Dans
ce cas, i est la référence à une structure de données spécifique du schéma d'application, I est la référence au
schéma d'application et d est la référence à la structure de données indépendante du système.
6.6 Service de transfert
Un service de transfert est un composant logiciel qui permet d'exécuter un ou plusieurs protocoles de transfert,
permettant le transfert de données entre systèmes d'information distribués sur un médium de communication
en ligne ou hors ligne. Pour transférer correctement les données entre deux systèmes, il est nécessaire que
l'expéditeur et le destinataire conviennent du protocole de transfert à utiliser.
Il est possible de définir plusieurs protocoles de transfert. Par exemple, dans les protocoles de transfert hors
ligne, les données sont sauvegardées sur un médium optique ou magnétique et envoyées par les services
postaux ou tout autre service de livraison spécifique. Dans le cas d'un protocole de transfert en ligne, les
données sont par exemple compressées et incluses sous la forme d'une pièce jointe dans un courrier
électronique, lequel est transmis à l'aide d'un protocole de transfert de fichier ou à l'aide d'un autre service
issu des technologies de l'information distribuée qui se base sur un service de réseau sous-jacent.
La présente Norme internationale ne prescrit aucun protocole de transfert spécifique.
7 Répertoire de caractères
L'ISO/CEI 10646 définit un répertoire de caractères reconnu sur le plan international, appelé Universal
Character Set (UCS) (jeu universel de caractères), ainsi que les méthodes de codage des caractères. Le jeu
de caractères normalisés définis au niveau international dans l'ISO/CEI 10646 doit être utilisé pour la mise en
œuvre de la présente Norme internationale.
Les méthodes de codage de caractères pouvant être supportées par les profils internationaux de la présente
Norme internationale sont les suivantes:
a) format de transfert pour UCS à taille variable à 8 bits, UTF-8;
b) format de transfert pour UCS à taille variable à 16 bits, UTF-16;
c) jeu universel de caractères à taille fixe à16 bits, UCS-2 (obsolète);
d) jeu universel de caractères à taille fixe à 32 bits, UCS-4.
Les règles internationales de codage qui se veulent en conformité avec la présente Norme internationale
doivent respecter une de ces méthodes de codage de caractères ou plusieurs d'entre elles. Dans le cadre de
profils nationaux et de mises en œuvre de systèmes, il est possible d'utiliser des méthodes de codage de
caractères différentes. Les méthodes de codage des caractères à taille fixe sont souvent utilisées dans la
mise en œuvre des bases de données et celles à taille variable sont souvent utilisées dans le cadre
d'échange de données.
L'ISO/CEI 10646 ne spécifie que le répertoire de caractères et ne fournit aucune indication quant au type de
langage réellement utilisé.
NOTE 1 Dans les cas où il est important de distinguer les différents langages de chaînes de texte, il est opportun
d'utiliser des mécanismes spéciaux afin d'indiquer le langage utilisé.
L'ISO/CEI 10646 définit les mécanismes de création des caractères composés. Les caractères composés
sont des caractères créés en superposant un ou plusieurs caractères additionnels sur un caractère de base.
L'ISO/CEI 10646 définit un ensemble de caractères précomposés et leur décomposition. Étant donné que
l'association des caractères composés et de leurs équivalents précomposés peut entraîner des problèmes
d'interprétation, l'utilisation d'un caractère composé est déconseillée si un caractère précomposé existe;
autrement dit, le caractère précomposé doit toujours être utilisé.
En résumé, une règle de codage doit
supporter une ou plusieurs méthodes de codage des caractères;
interdire l'utilisation de caractères composés si un caractère précomposé équivalent existe.
EXEMPLE Le caractère précomposé ö présente la décomposition définie par o¨.
NOTE 2 Pour obtenir une description plus détaillée de la normalisation des caractères, se référer
à http://www.unicode.org/reports/tr15/ et http://www.w3.org/TR/charmod-norm/.
NOTE 3 UTF-16, UCS-2 et UCS-4 exigent des informations relatives à la façon de traiter l'ordre des octets. Se référer
à http://www.unicode.org/faq/utf_bom.html.
8 Modèle d'instance générique
8.1 Introduction
L'Article 8 définit le modèle d'instance générique. Le modèle d'instance est une représentation commune et
adaptée des données lorsqu'on développe un service de codage. Le modèle d'instance est en mesure de
représenter les données décrites dans un schéma d'application exprimé en UML. Le modèle d'instance
représente la structure de données spécifique du schéma d'application définie à l'Article 6 (structures de
données i et i à la Figure 1). Le modèle d'instance est constitué d'un jeu de données (IM_Dataset) qui
A B
contient une séquence d'objets (IM_Object), où un objet se compose d'une séquence de propriétés
(IM_Property). Les propriétés dans ce contexte sont soit des attributs, soit des associations. Les opérations
ne sont pas incluses dans le modèle d'instance général. Chaque propriété est encodée en fonction de son
type de données. Le modèle d'instance est présenté à la Figure 4 et à la Figure 5.
Le schéma d'application définit un nombre de classes ainsi que leurs attributs et associations et représente la
base de création des représentations de données. Une représentation de données (jeu de données) contient
un ou plusieurs objets structurés et encodés en fonction de leur définition de classe. L'Article 8 décrit les
principes de représentation des objets, leurs attributs et les associations entre objets.
L'unité de base de l'information dans un jeu de données est l'objet. L'objet doit être l'instance d'une seule
classe concrète. Il n'existe pas d'instances de classes abstraites et de classes stéréotypées en interface. Les
propriétés définies par ces classes sont donc encodées en tant qu'éléments des classes concrètes dont elles
font partie ou qu'elles exécutent. Chaque classe doit avoir un nom unique dans le schéma d'application. Le
schéma d'application peut se référer à des classes définies dans les schémas normalisés ou dans d'autres
schémas d'application, ou les utiliser. La déclaration de ces classes doit soit être incluse dans le modèle UML
qui contient le schéma d'application, soit accompagner le schéma d'application dans un fichier distinct.
Un objet doit contenir un ensemble de valeurs de propriétés. La classe d'objet définit les propriétés, qui
peuvent soit être héritées des supertypes de la classe, soit être définies dans la classe elle-même. Afin de
différencier les propriétés, celles-ci doivent avoir un nom unique au sein de leur classe. Le type de données
de la propriété régit les valeurs possibles et la déclaration de multiplicité indique le nombre d'instances de
l'attribut dans un objet instancié.
Un objet possède une classe correspondante, définie dans un schéma d'application ou un schéma normalisé,
qui détermine les attributs et associations possibles nécessaires à la représentation de l'état de l'objet. Un
IM_Object se réfère à sa classe par l'attribut de «classe»; il doit être identifié dans le contexte d'un jeu de
données par son identifiant unique «id» et peut être identifié de façon universelle et unique dans un univers
défini, un domaine d'application ou un espace de noms par son attribut «duid».
12 © ISO 2011 – Tous droits réservés
<>
<>
Instance Model::IM_Object
Instance Model::IM_DataSet
object
+ id: CharacterString
+ id: CharacterString
+ duid: CharacterString
0.* 0.*
+ duid: CharacterString
+ /uuid: CharacterString
+ /uuid: CharacterString
+ type: GenericName
constraints
constraints
{uuid = duid}
{uuid = duid}
property 0.*
<>
Instance Model::IM_Property
+ name: GenericName
+ value: IM_Value [0.*] {ordered}
Figure 4 — Modèle d'instance — Jeu de données, objet et propriété
Les attributs définis par la classe et les extrémités des associations navigables depuis la classe sont mis en
correspondance dans un ensemble de propriétés. Une propriété (IM_Property) représente un nom et un
ensemble ordonné de valeurs. Elle peut représenter un attribut ou l'extrémité d'une association. Le nom de
propriété doit correspondre au nom d'attribut ou au nom de rôle cible d'une association. Une valeur
(IM_Value) représente une valeur de propriété.
Les valeurs nulles peuvent être fournies de façon explicite ou implicite. Une valeur nulle explicite doit être
indiquée par l'instance de l'IM_Property correspondante avec une valeur nilReason donnée. Une valeur nulle
implicite est indiquée si l'instance IM_Property correspondante est manquante.
<>
Instance M
...














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