Geographic information - Schema for coverage geometry and functions - Part 2: Coverage implementation schema

This document specifies a concrete[1] implementable, conformance-testable coverage structure based on the abstract schema for coverages defined in the ISO 19123 schema for coverage geometry. This document defines a structure that is suitable for encoding in many encoding formats. [1] "concrete" is used here as a contrast to "abstract" in the sense described in the Introduction.

Information géographique — Schéma de la géométrie et des fonctions de couverture — Partie 2: Schéma de la mise en place de la couverture

General Information

Status
Published
Publication Date
24-Sep-2018
Drafting Committee
ISO/TC 211/WG 6 - Imagery
Current Stage
9092 - International Standard to be revised
Start Date
22-Feb-2024
Completion Date
13-Dec-2025

Relations

Effective Date
06-Jun-2022

Overview

ISO 19123-2:2018 - Geographic information: Coverage Implementation Schema (CIS) - defines a concrete, implementable and conformance-testable structure for digital coverages based on the abstract coverage model in ISO 19123. The standard specifies an interoperable coverage information schema suitable for encoding in multiple formats (for example GML, JSON, GeoTIFF, NetCDF, GMLJP2) and for use with coverage-oriented services such as the Web Coverage Service (WCS). CIS enables consistent representation down to individual “pixels” or “voxels” and supports partitioning and multipart encodings.

Key topics and technical requirements

  • Coverage model: A concrete instantiation of the abstract ISO 19123 coverage concept (a feature that maps positions in a spatial/temporal domain to values).
  • CoverageFunction: Defines how coverage values are computed or retrieved for direct positions.
  • RangeType and RangeSet coherence: Rules for representing the set of values (bands, channels, measurements) and ensuring internal consistency.
  • Specific coverage types: Implementations for many coverage subtypes including Discrete Coverage, MultiPointCoverage, MultiCurveCoverage, MultiSurfaceCoverage, MultiSolidCoverage, GridCoverage, RectifiedGridCoverage and ReferenceableGridCoverage.
  • Encoding and representation rules:
    • GML representation requirements and a GML application schema for coverages (GMLCOV).
    • Multipart representation: mechanisms for combining a GML coverage description with externally encoded range sets (e.g., large binary payloads).
    • Special-format requirements: guidance for formats with particular needs (e.g., GeoTIFF, NetCDF).
  • Conformance and testing:
    • Defined conformance classes (including abstract class A.1: gml-coverage and concrete classes A.2–A.4) and an abstract test suite for conformance testing.
  • Metadata: Structured metadata elements to describe domain, range, CRS, and other coverage properties.

Practical applications and users

ISO 19123-2 is used where interoperable, precise representation of spatial/temporal data is required:

  • GIS and remote sensing data providers encoding imagery, rasters, multi-dimensional arrays, or voxel models.
  • Developers of geospatial data formats and encoders (GMLCOV, GeoTIFF, NetCDF).
  • Implementers of web services that deliver coverages (WCS, WCPS) and client software expecting standards-compliant coverages.
  • Data integrators, quality assurance teams and test labs using the conformance test suite to validate coverage interoperability.
  • Standardization bodies and domain experts harmonizing multi-domain geospatial data exchange.

Related standards

  • ISO 19123:2005 / ISO 19123-1 - abstract schema for coverage geometry and functions
  • ISO 19136 (GML) - Geography Markup Language
  • ISO 19103 - Conceptual schema language
  • OGC Coverage Implementation Schema (OGC 09-146r2) - functionally equivalent source used to derive CIS

Keywords: ISO 19123-2, Coverage Implementation Schema, CIS, coverage, GMLCOV, GridCoverage, RangeSet, GeoTIFF, NetCDF, conformance testing.

Standard

ISO 19123-2:2018 - Geographic information — Schema for coverage geometry and functions — Part 2: Coverage implementation schema Released:9/25/2018

English language
31 pages
sale 15% off
Preview
sale 15% off
Preview

Frequently Asked Questions

ISO 19123-2:2018 is a standard published by the International Organization for Standardization (ISO). Its full title is "Geographic information - Schema for coverage geometry and functions - Part 2: Coverage implementation schema". This standard covers: This document specifies a concrete[1] implementable, conformance-testable coverage structure based on the abstract schema for coverages defined in the ISO 19123 schema for coverage geometry. This document defines a structure that is suitable for encoding in many encoding formats. [1] "concrete" is used here as a contrast to "abstract" in the sense described in the Introduction.

This document specifies a concrete[1] implementable, conformance-testable coverage structure based on the abstract schema for coverages defined in the ISO 19123 schema for coverage geometry. This document defines a structure that is suitable for encoding in many encoding formats. [1] "concrete" is used here as a contrast to "abstract" in the sense described in the Introduction.

ISO 19123-2:2018 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 19123-2:2018 has the following relationships with other standards: It is inter standard links to ISO 29469:2022. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.

ISO 19123-2:2018 is available in PDF format for immediate download after purchase. The document can be added to your cart and obtained through the secure checkout process. Digital delivery ensures instant access to the complete standard document.

Standards Content (Sample)


INTERNATIONAL ISO
STANDARD 19123-2
First edition
2018-10
Geographic information — Schema for
coverage geometry and functions —
Part 2:
Coverage implementation schema
Information géographique — Schéma de la géométrie et des fonctions
de couverture —
Partie 2: Schéma de la mise en place de la couverture
Reference number
©
ISO 2018
© ISO 2018
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting
on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address
below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Fax: +41 22 749 09 47
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO 2018 – All rights reserved

Contents Page
Foreword .iv
Introduction .v
1 Scope . 1
2 Normative references . 1
3 Terms, definitions, and abbreviated terms . 1
3.1 Terms and definitions . 1
3.2 Abbreviated terms . 2
4 Conformance . 3
5 Notation . 3
5.1 Use of the term “coverage”. 3
5.2 UML notation . 3
5.3 Namespace prefix conventions . 3
6 Coverage model . 4
6.1 Coverage general . 4
6.2 Overview . 4
6.3 CoverageFunction . 6
6.4 Metadata . 6
6.5 RangeType . 6
6.6 RangeSet coherence . 7
6.7 Specific coverage types . 8
6.7.1 Overview . 8
6.7.2 Discrete Coverage . . 8
6.7.3 MultiPointCoverage . 9
6.7.4 MultiCurveCoverage.10
6.7.5 MultiSurfaceCoverage.10
6.7.6 MultiSolidCoverage .10
6.7.7 GridCoverage .11
6.7.8 RectifiedGridCoverage .11
6.7.9 ReferenceableGridCoverage .11
6.8 Complete coverage example .12
7 GML representation requirements class .13
8 Multipart representation requirements class .14
8.1 Coverages as multipart messages .14
8.2 First part: GML coverage .15
8.3 Second part: encoded coverage range set .16
9 Special format requirements class .18
Annex A (normative) Abstract test suite .19
Bibliography .31
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.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for the
different types of ISO documents should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www. iso. org/directives).
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. Details of
any patent rights identified during the development of the document will be in the Introduction and/or
on the ISO list of patent declarations received (see www. iso.o rg/patents).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation on the voluntary nature of standards, the meaning of ISO specific terms and
expressions related to conformity assessment, as well as information about ISO's adherence to the
World Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT) see the following
URL: www. iso. org/iso/foreword. html.
This document was prepared by ISO/TC 211, Geographic information/geomatics.
A list of all the parts in the ISO 19123 series, can be found on the ISO website.
Any feedback or questions on this document should be directed to the user’s national standards body. A
complete listing of these bodies can be found at www.iso.org/members.html.
iv © ISO 2018 – All rights reserved

Introduction
Coverages represent digital geospatial information representing space/time-varying phenomena.
Common examples include 1-D time series, 2-D imagery, 3-D x/y/t image time series and x/y/z
geophysical voxel models, as well as 4-D x/y/z/t climate and ocean data.
This Coverage Implementation Schema (CIS) specifies a concrete, interoperable, conformance-testable
coverage information schema. It is based on the abstract concepts of ISO 19123:2005 (which is equivalent
to OGC Abstract Topic 6). ISO 19123:2005 specifies an abstract model which is not per se interoperable,
i.e. many different and incompatible implementations of the abstract model are possible. CIS, on the
other hand, is interoperable in the sense that coverages can be conformance tested, regardless of their
data format encoding, down to the level of single “pixels” or “voxels”.
[4] [7] [9]
Coverages can be encoded in any suitable format (such as GML, JSON , GeoTIFF , NetCDF or
GMLJP2) and can be partitioned, e.g. for a time-interleaved representation. Coverages are independent
from service definitions and, therefore, can be accessed through a variety of web based service types,
such as the OGC Web Coverage Service (WCS) Standard. This document is a data model whereas WCS
is a service model. Both are tentatively separate, thereby allowing different services to process and
deliver coverages, such as WFS, WCS, WCPS, WPS, etc. WCS and WCPS are outstanding only in that they
offer the most powerful coverage functionality.
Coverages are independent from service definitions and, therefore, can be accessed through a variety
[6]
of standardized services types, such as the Web Coverage Service (WCS) Standard , which is used in
the examples in this document. The coverage structure can serve a wide range of coverage application
domains, thereby contributing to harmonization and interoperability between and across these
domains.
This document implements part of the coverage types described in ISO 19123:2005. Any extension
of the coverage types addressed will be left for a future version of this document. ISO 19123:2005 is
under review and will be replaced with ISO 19123-1 once the revision is published. ISO 19123-1 will
be an extension of ISO 19123:2005 containing additional coverage concepts, so any references to
ISO 19123:2005 in this document can be taken as references to the revised standard. The references
in this document are to ISO 19123:2005 because this document is a joint standard with OGC, and the
equivalent OGC standard “09-146r2 Version 1.0.1 OGC Coverage Implementation Schema (CIS 1.0)” is an
existing published standard that makes references to ISO 19123:2005.
This document is a derived work based on the OGC document "Coverage Implementation Schema"
OGC 09-146r2. The two documents are NOT word for word identical because each follows the document
template required by each organization. However, both documents are functionally equivalent. In
particular Clauses 1 to 5 in both the ISO standard (this document) and the OGC standard (OGC 09-
146r2) contain the Scope, Normative references, Terms and definitions (and Notation) and Conformance
described in the manner required by each organization. Where there are minor differences, such as the
definition of “coverage” and “grid”, this document makes use of the terms defined in ISO standards and
identifies the differences in a note.
Any extension in OGC beyond CIS 1.0 (e.g. the development of CIS 1.1) is an extension beyond this
document. ISO and OGC plan to work together to ensure future synchronization of these standards.
This document is a derived work based on OGC standard 09–146r2 Version 1.0.1 OGC Coverage
Implementation Schema (CIS 1.0) also known as “OGC® GML Application Schema — Coverages”
published 2012–05–11 and copyrighted by the OGC ©2012 and used with permission. OGC standard
09–146r2 Version 1.0.1 is a corrigendum to existing OGC standard 09–146r1 Version 1.0.0 published
2010–10–27.
INTERNATIONAL STANDARD ISO 19123-2:2018(E)
Geographic information — Schema for coverage geometry
and functions —
Part 2:
Coverage implementation schema
1 Scope
1)
This document specifies a concrete implementable, conformance-testable coverage structure based
on the abstract schema for coverages defined in the ISO 19123 schema for coverage geometry. This
document defines a structure that is suitable for encoding in many encoding formats.
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content
constitutes requirements 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 19103:2015, Geographic information — Conceptual schema language
ISO 19123:2005, Geographic information — Schema for coverage geometry and functions
ISO 19136:2007, Geographic information — Geography Markup Language (GML)
OGC 07-011, Abstract Specification Topic 6: The Coverage Type and its Subtypes, version 7.0 (identical to
ISO 19123:2005)
OGC 07-036, Geography Markup Language (GML) Encoding Standard, version 3.2.1
OGC 08-094, OGC® SWE Common Data Model Encoding Standard, version 2.0
3 Terms, definitions, and abbreviated terms
3.1 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
— IEC Electropedia: available at https: //www .electropedia .org/
— ISO Online browsing platform: available at http: //www .iso .org/obp
3.1.1
abstract test suite
abstract test module specifying all the requirements to be satisfied for conformance
[SOURCE: ISO 19105:2000, 3.4]
1) “concrete“ is used here as a contrast to “abstract” in the sense described in the Introduction.
3.1.2
coverage
feature that acts as a function to return values from its range for any direct position within its spatial,
temporal or spatiotemporal domain
Note 1 to entry: OGC CIS 1.0 has the definition for coverage: “feature that acts as a function to return values from
[13]
its range for any direct position within its spatiotemporal domain.” .
[SOURCE: ISO 19123:2005, 4.1.7, modified — Note 1 to entry has been replaced and the EXAMPLE has
been deleted]
3.1.3
grid
network composed of two or more sets of curves in which the members of each set intersect the
members of the other sets in an algorithmic way
Note 1 to entry: OGC Abstract Topic 6 has the definition for grid: “network composed of one or more sets of
curves in which the members of each set intersect the members of the other sets in an algorithmic way”. This
accomplishes integration of the 1-D case, thereby enabling general n-D grids.
[SOURCE: ISO 19123:2005, 4.1.23, modified — Note 1 to entry has been replaced]
3.1.4
implementation coverage
feature which is a subclass (specialization) of a coverage as defined in this document
Note 1 to entry: An implementation coverage is a concrete document in some concrete encoding, such as a
GeoTIFF file.
Note 2 to entry: The definition of implementation coverage in this standard is functionally identical to GML
coverage as defined in the OGC Coverage Implementation Schema [OGC 09-146r2].
3.2 Abbreviated terms
CIS Coverage Implementation Schema
GeoTIFF Geo Tagged Image File Format
GML Geography Markup Language
GMLCOV GML Application Schema for Coverages
JSON JavaScript Object Notation
netCDF network Common Data Format
OGC Open Geospatial Consortium
SWE Sensor Web Enablement
TIN Triangulated Irregular Network
UoM Unit of Measure
UML Unified Modeling Language
WCS Web Coverage Service
2 © ISO 2018 – All rights reserved

4 Conformance
This document defines conformance classes that correspond to identified requirements. These
conformance classes are described in Annex A. Any implementation claiming conformance with
this document must conform to the abstract conformance class A.1: gml-coverage and, in addition,
at least one of the concrete conformance classes A.2: gml, A.3: multipart, and A.4: special-format.
Requirements and conformance test URIs defined in this document are relative to .opengis .net/spec/GMLCOV/1 .0/>.
5 Notation
5.1 Use of the term “coverage”
The definition of “coverage” in 3.1.2 shall be the generic one provided by ISO 19123 (and equivalently
shall be the one in OGC Abstract Topic 6 [OGC 07-011]). The term "implementation coverage" is coined
to denote the concrete data structure defined in this document that shall rely on GML [ISO 19136:2007]
and equivalently shall rely on GML 3.2.1 [OGC 07-036] and OGC SWE Common 2.0 [OGC 08-094].
For the remainder of this document, "coverage" shall be understood as a shorthand for "implementation
coverage" unless explicitly stated otherwise.
5.2 UML notation
The conceptual schema specified in this document is described using the Unified Modeling Language
(UML) static structure diagram, which shall follow the guidance in ISO 19103, and equivalently shall
follow the guidance in OGC Web Service Common [OGC 06-121r9].
NOTE The UML and basic types used to express the diagrams in this document are equivalent to the UML
and basic types used in the OGC standard even though the OGC standard is based on an earlier version of
ISO 19103:2015.
Several model elements used in this schema are defined in other ISO geographic information standards
and OGC standards. The uniqueness of objects is ensured by their namespace.
5.3 Namespace prefix conventions
UML diagrams and XML code fragments adhere to the namespace conventions shown in Table 1. The
namespace prefixes used in this document are not normative and are merely chosen for convenience,
they may appear in examples without being formally declared, and have no semantic significance. The
namespaces to which the prefixes correspond are normative.
Table 1 — Namespace mapping conventions
UML GML
Namespace URL Description
prefix prefix
GML gml http://www .opengis .net/gml/3 .2 GML 3.2.1
SWE swe http://www .opengis .net/swe/2 .0 SWE Common 2.0
Common
CIS cis http://www .opengis .net/cis/1 .0 Coverage Implementation
Schema 1.0, formerly named
GML 3.2.1 Application Schema
— Coverages 1.0
6 Coverage model
6.1 Coverage general
This document specifies the coverage structure to be used by ISO geographic information standards
and jointly in OGC standards.
This document is described in terms of the Geography Markup Language (GML). This document
derives from the OGC standard previously called GMLCOV which has been renamed to be Coverage
[5]
Implementation Specification (CIS) 1.0 .
Clause 6 establishes an abstract conformance class whereby "abstract" denotes that a concrete
program must implement one of the concrete conformance classes in addition to claim conformance
with this document. Although Clause 6 heavily makes use of GML, it does not prescribe that a coverage
instance document be encoded in GML. A GML encoding of such coverage structures is established in
the conformance class gml.
6.2 Overview
[14]
In GML (ISO 19136 and OGC GML 3.2.1 ), all coverage types are derived from the abstract
Coverage data type. This structure contains a domainSet describing the coverage’s domain and a
rangeSet component containing the range values ("pixels", "voxels") of the coverage. This coverage
[14]
implementation schema extends (ISO 19136 and OGC GML 3.2.1 ), class Coverage with two
components, rangeType and metadata.
— The rangeType element describes the coverage's range set data structure. A range value often
consists of one or more fields (in remote sensing also referred to as bands or channels), however,
much more general definitions are possible. Range value structure description is based on the OGC
SWE Common [OGC 08-094] DataRecord.
— The abstract coverage definition is augmented with an extensible slot for metadata. The intended
use is to define concrete metadata structures and their semantics in extensions or application
profiles.
[14]
The following changes apply over the GML (ISO 19136 and OGC GML 3.2.1 ) specification:
— The property coverageFunction, which in GML is associated with every subtype of Coverage,
is moved up into Coverage in the coverage type hierarchy of this document.
NOTE 1 This way, the coverage function is available in any subtype of Coverage. This serves to prepare for
continuous coverages, like in the case described by the next bullet below.
— The grid coverage types are subtypes of Coverage rather than being subtypes of
DiscreteCoverage as in GML
NOTE 2 This allows representing not only discrete grid coverages, but also continuous coverages by using
grids for the reference points in conjunction with a coverage function defining interpolation.
[14]
No further changes over GML (ISO 19136 and OGC GML 3.2.1 ) are made in this document. In
particular, no pre-existing component changes its semantics.
4 © ISO 2018 – All rights reserved

Figure 1 — The Coverage structure
In this document, Coverage shall always refer to the definition of this Application Schema and not to
the GML definition of the same name, unless explicitly stated otherwise.
Figure 1 shows the UML diagram pertaining to this Application Schema.
Requirement 1 /req/gml-coverage/structural-adherence:
Any XML document instantiating a concrete subtype of Coverage shall conform with the UML
diagram in Figure 1, with Table 2, and with the XML schema defined as part of this document.
Table 2 — The Coverage data structure
Name Definition Data type Multiplicity
coverage-Function
GML 3.2.1 coverage function to describe GML:: Zero or one
how range values at coverage locations Coverage- (optional)
can be obtained Function
metadata
Application specific metadata Any Zero or more
(optional)
domainSet
GML 3.2.1 Definition of coverage domain GML:: One
DomainSet (mandatory)
rangeType
Structure definition of the coverage SWE:: One
range values DataRecord (mandatory)
rangeSet
GML 3.2.1 Coverage range values GML:: One
RangeSet (mandatory)
NOTE 3 UML data type Any is used here with the same meaning as XML’s xsd:any, which does not have a
direct equivalent in UML.
NOTE 4 Following the GML pattern described in [14] on GML level, SWE::DataRecord is linked to
rangeType via an association SWE::DataRecordPropertyType.
6.3 CoverageFunction
The coverageFunction component is identical in its syntax and meaning to the coverageFunction
[14]
element defined in GML, 19.3.11 .
6.4 Metadata
The metaData component is a carrier for any kind of application dependent metadata. Hence, no
requirements are imposed here.
6.5 RangeType
The rangeType component adds a structure description and technical metadata required for an
appropriate (however, application independent) understanding of a coverage. For this structure
description, the SWE Common DataRecord is used.
Requirement 2 /req/gml-coverage/dataRecord:
The range type component of a coverage shall conform with the DataRecord of SWE Common
[OGC 08-094].
Dependency: [OGC 08-094] Clause 7 (http: //www .opengis .net/doc/SWE/2 .0/clause/7), [OGC 08-
094] Clause 8 (http: //www .opengis .net/doc/SWE/2 .0/clause/8).
NOTE 1 Following GML patterns the swe:DataRecord is linked into gmlcov:AbstractCoverageType
via swe:DataRecordPropertyType.
Atomic data types available for range values are those given by the SWE Common data type
AbstractSimpleComponent. As a range structure contains only structure definitions,
but not the values themselves (these sit in the coverage range set component), the optional
AbstractSimpleComponent component value is suppressed in coverages.
Requirement 3 /req/gml-coverage/no-value-in-rangeType:
For all SWE Common AbstractSimpleComponent subtypes in a range type structure, instance
multiplicity of the value component shall be zero.
NOTE 2 Following [OGC 08-094], omission of the value component implies that in a DataArray there is no
encoding component either.
Range values can be structured as records or arrays. Both structuring principles can be nested (and
mixed) to any depth for a concrete coverage range structure definition.
Requirement 4 /req/gml-coverage/record-or-dataArray:
Wherever the SWE Common XML schema allows an AbstractDataComponent in a coverage
range structure the concrete instance shall be one of the AbstractDataComponent subtypes
DataRecord and DataArray.
NOTE 3 In particular, these AbstractDataComponent subtypes are not allowed in range structures:
DataChoice, Vector, Matrix.
Within a DataRecord contained in a concrete range structure, each of its record components is locally
uniquely identified by the record component’s field attribute, in accordance with the “soft-typing”
property introduced by SWE Common.
EXAMPLE The following XML fragment represents a valid range structure; it models the red, green, and blue
channel of a Landsat scene. Pixels are defined as unsigned 8-bit quantities where 0 and 255 denote null values:



definition="http://opengis.net/def/property/OGC/0/Radiance">
Red Channel
6 © ISO 2018 – All rights reserved

Red


reason="http://www.opengis.net/def/nil/OGC/0/BelowDetectionRange">

reason="http://www.opengis.net/def/
nil/OGC/0/AboveDetectionRange">






0 255
3





definition="http://opengis.net/def/property/OGC/0/Radiance">
Green Channel
Green






definition="http://opengis.net/def/property/OGC/0/Radiance">
Blue Channel
Blue







6.6 RangeSet coherence
Both domainSet and rangeType describe the coverage values given in the rangeSet. Hence,
consistency must be enforced between them. The pertaining requirements are listed in 6.6.
Requirement 5 /req/gml-coverage/one-range-value-per-position:
For each coordinate position contained in the domain set description of a coverage there shall exist
exactly one range value in the coverage’s range set.
Both duplicates and values omitted are not allowed. For range values not known for some reason nil
values can be used.
Requirement 6 /req/gml-coverage/range-structure-consistency:
All range values contained in the range set of a coverage shall be consistent with the structure
description provided in its range type.
6.7 Specific coverage types
6.7.1 Overview
[14]
This document supports all coverage types which GML 3.2.1 supports, which implement the discrete
coverage types defined in ISO 19123 (listed in parenthesis). The supported types are substitutable
from Coverage and include
— MultiPointCoverage (ISO 19123: CV_DiscretePointCoverage),
— MultiCurveCoverage (ISO 19123: CV_DiscreteCurveCoverage),
— MultiSurfaceCoverage (ISO 19123: CV_DiscreteSurfaceCoverage),
— MultiSolidCoverage (ISO 19123: CV_DiscreteSolidCoverage),
— GridCoverage (ISO 19123: CV_DiscreteGridPointCoverage),
— RectifiedGridCoverage (ISO 19123: CV_DiscreteGridPointCoverage), and
— ReferenceableGridCoverage (added to GML via Change Request [OGC 07-112r3]).
The above coverage types may be used as is, or new coverage types may be constructed by using or
deriving from one of the subtypes of Coverage or one of its subtypes.
Requirement 7 /req/gml-coverage/coverage-derivation:
The type of the root element of a coverage document instance shall be a concrete direct or indirect
subtype of Coverage.
Figure 2 shows the UML diagram of the coverage hierarchy.
NOTE As in GML, continuous coverages are not currently supported. Consequently, ContinuousCoverage
does not have any concrete subtype.
6.7.2 Discrete Coverage
The domain set of a discrete coverage consists of either spatial or temporal geometry objects, finite in
number. The range set is comprised of a finite number of attribute values each of which is associated to
every direct position within any single spatiotemporal object in the domain. In other words, the range
values are constant on each spatiotemporal object in the domain. This coverage function maps each
element from the coverage domain to an element in its range.
This class serves as the head of a specialization hierarchy which contains MultiPointCoverage,
MultiCurveCoverage, MultiSurfaceCoverage, and MultiSolidCoverage.
[14]
NOTE 1 In GML 3.2.1 , grid coverages are contained in this class hierarchy as well based on a distinction
between discrete and continuous coverages which is not considered state of the art anymore. This Application
Schema changes the hierarchy in that coverages are put separately, allowing the modelling of continuous grid
coverages.
8 © ISO 2018 – All rights reserved

Figure 2 — The Coverage type hierarchy
NOTE 2 The OGC standard “Coverage Implementation Schema” [OGC 09-146r2] contains a clause on
Continuous Coverage. However it indicates that “continuous coverages is under reconsideration, therefore use
of ContinuousCoverage is not encouraged.” It also indicates that “Abstract class ContinuousCoverage serves
as the head of a substitution group which can contain any continuous coverage whose type is derived from
ContinuousCoverage. It parallels GML::ContinuousCoverage, except that the coverageFunction element has been
moved “up” into Coverage.”
6.7.3 MultiPointCoverage
In a MultiPointCoverage the domain set is a GM_MultiPoint that is a collection of arbitrarily
distributed geometric points.
Requirement 8 /req/gml-coverage/multiPointCoverage:
A coverage of type MultiPointCoverage shall have a content model identical with
DiscreteCoverage, except that the domainSet shall have GML::MultiPoint values.
In the GML representation of a MultiPointCoverage the mapping from the domain to the range is
straightforward:
— For gml:DataBlock encodings, the points of the gmlcov:MultiPoint are mapped in document
order to the tuples of the data block;
— For gml:CompositeValue encodings, the points of the gmlcov:MultiPoint are mapped to
the members of the composite value in document order;
— For gml:File encodings, the points of the gmlcov:MultiPoint are mapped to the records of
the file in sequential order.
6.7.4 MultiCurveCoverage
In a MultiCurveCoverage the domain is partitioned into a collection of curves comprising a GM_
MultiCurve. The coverage function then maps each curve in the collection to a value in the range set.
Requirement 9 /req/gml-coverage/multiCurveCoverage:
A coverage of type MultiCurveCoverage shall have a content model identical with
DiscreteCoverage, except that the domainSet shall have “GML 3.2.1”::MultiCurve values.
In the GML representation of a MultiCurveCoverage the mapping from the domain to the range is
straightforward:
— For gml:DataBlock encodings, the curves of the gmlcov:MultiCurve are mapped in document
order to the tuples of the data block.
— For gml:CompositeValue encodings, the curves of the gmlcov:MultiCurve are mapped to
the members of the composite value in document order.
— For gml:File encodings, the curves of the gmlcov:MultiCurve are mapped to the records of
the file in sequential order.
6.7.5 MultiSurfaceCoverage
In a MultiSurfaceCoverage the domain is partitioned into a collection of surfaces comprising a GM_
MultiSurface. The coverage function maps each surface in the collection to a value in the range set.
Requirement 10 /req/gml-coverage/multiSurfaceCoverage:
A coverage of type MultiSurfaceCoverage shall have a content model identical with
DiscreteCoverage, except that the domainSet shall have GML::MultiSurface values.
In the GML representation of a MultiSurfaceCoverage the mapping from the domain to the range
is straightforward:
— For gml:DataBlock encodings, the surfaces of the gmlcov:MultiSurface are mapped in
document order to the tuples of the data block.
— For gml:CompositeValue encodings, the surfaces of the gmlcov:MultiSurface are mapped
to the members of the composite value in document order.
— For gml:File encodings, the surfaces of the gmlcov:MultiSurface are mapped to the records
of the file in sequential order.
6.7.6 MultiSolidCoverage
In a MultiSolidCoverage the domain is partitioned into a collection of solids comprising a GM_
MultiSolid. The coverage function then maps each solid in the collection to a value in the range set.
Requirement 11 /req/gml-coverage/multiSolidCoverage:
A coverage of type MultiSolidCoverage shall have a content model identical with
DiscreteCoverage, except that the domainSet shall have GML::MultiSolid values.
In the GML representation of a MultiSolidCoverage the mapping from the domain to the range is
straightforward:
— For gml:DataBlock encodings the solids of the gmlcov:MultiSolid are mapped in document
order to the tuples of the data block.
— For gml:CompositeValue encodings the solids of the gmlcov:MultiSolid are mapped to the
members of the composite value in document order.
10 © ISO 2018 – All rights reserved

— For gml:File encodings the solids of the gmlcov:MultiSolid are mapped to the records of the
file in sequential order.
6.7.7 GridCoverage
A GridCoverage is a discrete point coverage in which the domain is a geometric grid of
points encoded using gml:Grid (not its subtypes gml:RectifiedGrid or a subtype of
AbstractReferenceableGrid). Note that this is similar to the MultiPointCoverage except
that a gml:Grid shall be used to describe the domain.
Requirement 12 /req/gml-coverage/gridCoverage:
A coverage of type GridCoverage shall have a domain that is a GML::Grid.
NOTE Such geometric positioning is introduced in the RectifiedGridCoverage.
In order to address ambiguities in the gml:Grid definition, this GML Application Schema for Coverages
imposes additional constraints on the use of a gml:Grid within a gmlcov:GridCoverage.
(Specifically, there is no provision in the gml:Grid definition to express the relationship between
the grid positions and this geometry's coordinate reference system, which will always exist in some
contexts, such as a Web Coverage Service. This coordinate reference system will be explicitly referenced
in the srsName attribute of the gml:SRSReferenceGroup of gml:Grid, or be inherited from an
enclosing container element, such as the gml:Envelope of this gmlcov:GridCoverage.) Since
provision for expressing a relationship does not exist, whenever used in gmlcov:GridCoverage, the
relationship shall be simple. In this simple relationship, the dimension attribute of the gml:Grid shall
be identical to the dimension of the geometry's coordinate system, the axes of the gml:Grid shall be
identical to the axes of the geometry's coordinate system (which requires that the axisLabels be
identical to those in the coordinate system definition), and the limits shall be treated as being expressed
as coordinates in the geometry's coordinate reference system.
Clearly these additional constraints are quite limiting, in that gridded datasets whose Reference
points happen to exist exactly at integral coordinates of a spatial coordinate system at a spacing of
exactly one in all coordinate dimensions are exceedingly rare, unless that coordinate system is part of a
gml:ImageCRS. Nevertheless, the gmlcov:GridCoverage is available for such purposes.
It is recommended that the more sensible provisions of the gmlcov:RectifiedGridCoverage or
gmlcov:ReferenceableGridCoverage be utilized for all gridded datasets, since their domains
can accommodate the simple provisions of the gmlcov:GridCoverage as well as more complex
referencing situations.
Since this GridCoverage uses Coverage, it can be used for both discrete and continuous coverages.
6.7.8 RectifiedGridCoverage
A RectifiedGridCoverage is a discrete point coverage based on a rectified grid. It is similar to the
grid coverage except that the points of the grid are geometrically referenced.
Requirement 13 /req/gml-coverage/rectifiedGridCoverage:
A coverage of type RectifiedGridCoverage shall have a domain that is a GML::RectifiedGrid
geometry.
Since this RectifiedGridCoverage uses Coverage, it can be used for both discrete and continuous
coverages.
6.7.9 ReferenceableGridCoverage
A ReferenceableGridCoverage is an implementation of ISO 19123 DiscreteGrid-
PointCoverage for a ReferenceableGrid domain.
NOTE 1 Support for referenceable grid is limited to the provisions made by ISO 19136-2:2015.
Requirement 14 /req/gml-coverage/referenceableGridCoverage:
A coverage of type ReferenceableGridCoverage shall have a domain geometry that is a subtype
of AbstractReferenceableGrid.
Since this ReferenceableGridCoverage uses the gmlcov:AbstractCoverageType, it can be
used for both discrete and continuous coverages.
NOTE 2 The equivalent of this element has been added to GML 3.2.1 in OGC by approved Change Request 07-
112r3 and, therefore, has been added to this document as well.
6.8 Complete coverage example
EXAMPLE The following is a complete RectifiedGridCoverage instance:

xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:gmlcov="http://www.opengis.net/gmlcov/1.0"
xmlns:gml="http://www.opengis.net/gml/3.2"
xsi:schemaLocation=
"http://www.opengis.net/gmlcov/1.0
http://schemas.opengis.net/gmlcov/1.0/gmlcovAll.xsd"
gml:id="C001">

"http://www.opengis.net/def/crs/EPSG/0/4326" axisLabels="Lat Long"
uomLabels="deg deg" srsDimension="2">
1 1
3 3



srsName="http://www.opengis.net/def/crs/EPSG/0/4326"
axisLabels="Lat Long"
uomLabels="deg deg" dimension="2">


0 0
9999 9999


Lat Long

srsName=
"http://www.opengis.net/def/crs/EPSG/0/4326">
99. 99.9


1 0
0 1






Panchromatic
White

reason="http://www.opengis.net/def/nil/OGC/0/BelowDetectionRange">
12 © ISO 2018 – All rights reserved


reason="http://www.opengis.net/def/nil/OGC/0/AboveDetectionRa
...

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