Geographic information — Schema for coverage geometry and functions — Part 3: Processing fundamentals

This document defines a coverage processing language for server-side extraction, filtering, processing, analytics, and fusion of multi-dimensional geospatial coverages representing, for example, spatio-temporal sensor, image, simulation, or statistics datacubes. Services implementing this language provide access to original or derived sets of coverage information, in forms that are useful for client-side consumption. This document relies on the ISO 19123-1 abstract coverage model. In this edition, regular and irregular multi-dimensional grids are supported for axes that can carry spatial, temporal or any other semantics. Future editions will additionally support further axis types as well as further coverage types from ISO 19123-1, specifically, point clouds and meshes.

Information géographique — Schéma de la géométrie et des fonctions de couverture — Partie 3: Principes de base du traitement

Le présent document définit un langage de traitement de couverture pour l'extraction, le filtrage, le traitement, l'analyse et la fusion côté serveur de couvertures géospatiales multidimensionnelles représentant, par exemple, des cubes de données spatio-temporelles de capteurs, d'images, de simulations ou de statistiques. Les services mettant en œuvre ce langage permettent d'accéder à des ensembles originaux ou dérivés d'informations de couverture, sous des formes utiles pour la consommation côté client. Le présent document s'appuie sur le modèle de couverture abstrait de l'ISO 19123-1. Dans le présent document, les grilles multidimensionnelles régulières et irrégulières sont prises en charge pour des axes qui peuvent avoir une sémantique spatiale, temporelle ou autre. Les éditions suivantes incluront aussi d’autres types d’axes et d’autres types de couvertures provenant de l’ISO 19123-1, spécifiquement, les nuages de points et les maillages.

General Information

Status
Published
Publication Date
20-Jun-2023
Current Stage
6060 - International Standard published
Start Date
21-Jun-2023
Due Date
20-Feb-2023
Completion Date
21-Jun-2023
Ref Project

Relations

Buy Standard

Standard
ISO 19123-3:2023 - Geographic information — Schema for coverage geometry and functions — Part 3: Processing fundamentals Released:21. 06. 2023
English language
77 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO 19123-3:2023 - Information géographique — Schéma de la géométrie et des fonctions de couverture — Partie 3: Principes de base du traitement Released:21. 06. 2023
French language
82 pages
sale 15% off
Preview
sale 15% off
Preview
Draft
REDLINE ISO/FDIS 19123-3 - Geographic information — Schema for coverage geometry and functions — Part 3: Processing fundamentals Released:2/8/2023
English language
77 pages
sale 15% off
Preview
sale 15% off
Preview
Draft
ISO/FDIS 19123-3 - Geographic information — Schema for coverage geometry and functions — Part 3: Processing fundamentals Released:2/8/2023
English language
77 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO
STANDARD 19123-3
First edition
2023-06
Geographic information — Schema for
coverage geometry and functions —
Part 3:
Processing fundamentals
Information géographique — Schéma de la géométrie et des fonctions
de couverture —
Partie 3: Principes de base du traitement
Reference number
ISO 19123-3:2023(E)
© ISO 2023

---------------------- Page: 1 ----------------------
ISO 19123-3:2023(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO 2023
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
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii
  © ISO 2023 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/FDIS 19123-3:2023(E)
Contents
Foreword . v
Introduction . vi
1 Scope .1
2 Normative references .1
3 Terms and definitions .1
4 Conformance .2
4.1 Notation .2
4.2 Interoperability and conformance testing .2
4.3 Organization .2
5 Coverage model .2
5.1 Overview .2
5.2 Coverage model .2
5.3 Coverage identifier .3
5.4 Domain .4
5.4.1 Direct position .4
5.4.2 Grid .4
5.5 Interpolation .6
5.6 Range values .7
5.7 Range type .7
5.8 Coverage probing functions synopsis .7
6 Coverage processing language .9
6.1 Syntax and Semantics Definition Style .9
6.1.1 Expression Syntax.9
6.1.2 Expression Semantics . 10
6.2 Coverage Processing Expressions . 10
6.2.1 processCoveragesExpr . 10
6.2.2 processingExpr . 12
6.2.3 coverageExpr . 12
6.2.4 coverageIdExpr . 12
6.3 Coverage-Generating Expressions . 13
6.3.1 coverageConstructorExpr . 13
6.3.2 Examples . 16
6.4 Coverage Extraction Expressions. 18
6.4.1 scalarExpr . 18
6.4.2 getComponentExpr . 18
6.4.3 booleanScalarExpr . 19
6.4.4 numericScalarExpr. 19
6.4.5 stringScalarExpr . 20
6.5 Coverage range value-changing expressions. 20
6.5.1 inducedExpr. 20
6.5.2 unaryInducedExpr . 20
6.5.3 trigonometricExpr . 23
6.5.4 binaryInducedExpr . 28
6.5.5 N-ary Induced operations . 30
6.5.6 Coverage Domain-Changing Expressions. 33
6.5.7 scaleExpr . 37
6.6 Coverage Derivation Expressions . 38
6.6.1 crsTransformExpr . 38
© ISO 2023 – All rights reserved iii

---------------------- Page: 3 ----------------------
ISO/FDIS 19123-3:2023(E)
6.7 Coverage Aggregation Expressions . 39
6.7.1 condenseExpr . 39
6.7.2 generalCondenseExpr . 39
6.7.3 reduceExpr . 42
6.8 Coverage Encode/Decode Expressions . 43
6.8.1 encodeCoverageExpr . 43
6.8.2 decodeCoverageExpr . 44
6.9 Expression evaluation . 45
6.9.1 Evaluation sequence . 45
6.9.2 Nesting . 45
6.9.3 Parentheses . 45
6.9.4 Operator precedence rules . 45
6.9.5 Range type compatibility and extension . 46
6.10 Evaluation response . 46
Annex A (normative) Conformance Tests. 48
Annex B (normative) Expression Syntax . 49
Annex C (informative) Syntax diagrams . 57
Annex D (informative) Sample service descriptions . 74
Bibliography . 77

iv © ISO 2023 – All rights reserved

---------------------- Page: 4 ----------------------
ISO/FDIS 19123-3:2023(E)
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 document 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).
ISO draws attention to the possibility that the implementation of this document may involve the use of
(a) patent(s). ISO takes no position concerning the evidence, validity or applicability of any claimed
patent rights in respect thereof. As of the date of publication of this document, ISO had not received notice
of (a) patent(s) which may be required to implement this document. However, implementers are
cautioned that this may not represent the latest information, which may be obtained from the patent
database available at www.iso.org/patents. ISO shall not be held responsible for identifying any or all
such patent rights.
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of 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
www.iso.org/iso/foreword.html.
This document was prepared by Technical Committee ISO/TC 211, Geographic information/Geomatics, in
collaboration with the European Committee for Standardization (CEN) Technical Committee CEN/TC 287,
Geographic Information, in accordance with the Agreement on technical cooperation between ISO and
CEN (Vienna Agreement), in collaboration with the Open Geospatial Consortium (OGC), and in
collaboration with the IEEE GRSS Earth Science Informatics Technical Committee.
A list of all 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.
© ISO 2023 – All rights reserved v

---------------------- Page: 5 ----------------------
ISO/FDIS 19123-3:2023(E)
Introduction
This document defines, at a high level, implementation-independent operations on coverages, i.e. digital
representations of space-time varying geographic phenomena, as defined in ISO 19123-1. Specifically,
regular and irregular grid coverages are addressed. The operations can be applied through an expression
language allowing composition of unlimited complexity and combining an unlimited number of coverages
for data fusion.
The language is functionally defined and free of any side effects. Its conceptual foundation relies on only
two constructs: A “coverage constructor” builds a coverage, either from scratch or by deriving it from one
or more other coverages. A “coverage condenser” derives summary information from a coverage by
performing an aggregation such as count, sum, minimum, maximum and average.
The coverage processing language is independent from any request and response encoding, as no
concrete request/response protocol is assumed. Hence, this document does not define a concrete service,
but acts as the foundation for defining service standards functionality. One such standardization target is
[3]
the OGC Web Coverage Service (WCS).
Throughout this document, the following formatting conventions apply.
— Bold-Face in the text, such as processCoveragesExpr, represents syntax elements, normatively
defined in Annex B.
— Text in italics, such as succ(), represents mathematical functions and variables.
— Courier font, such as return and encode(), is used for code in the sense of the coverage processing
language.
vi © ISO 2023 – All rights reserved

---------------------- Page: 6 ----------------------
FINAL DRAFT INTERNATIONAL STANDARD ISO/FDIS 19123-3:2023(E)

Geographic information — Schema for coverage geometry
and functions —
Part 3:
Processing fundamentals
1 Scope
This document defines a coverage processing language for server-side extraction, filtering, processing,
analytics, and fusion of multi-dimensional geospatial coverages representing, for example, spatio-
temporal sensor, image, simulation, or statistics datacubes. Services implementing this language provide
access to original or derived sets of coverage information, in forms that are useful for client-side
consumption.
This document relies on the ISO 19123-1 abstract coverage model. In this edition, regular and irregular
multi-dimensional grids are supported for axes that can carry spatial, temporal or any other semantics.
Future editions will additionally support further axis types as well as further coverage types from ISO
19123-1, specifically, point clouds and meshes.
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 19111, Geographic information — Referencing by coordinates
ISO 19123-1, Geographic information — Schema for coverage geometry and functions — Part 1:
Fundamentals
3 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO 19123-1 and the following apply.
ISO and IEC maintain terminology databases for use in standardization at the following addresses:
— ISO Online browsing platform: available at https://www.iso.org/obp
— IEC Electropedia: available at https://www.electropedia.org/
3.1
probing function
function extracting information from the coverage
© ISO 2023 – All rights reserved 1

---------------------- Page: 7 ----------------------
ISO/FDIS 19123-3:2023(E)
4 Conformance
4.1 Notation
Table 1 lists the other International Standards and packages in which UML classes used in this document
have been defined.
Table 1 — Sources of externally defined UML classes
Prefix International Package
Standard
ISO 19123-1 Coverage Core,
Grid Coverage

4.2 Interoperability and conformance testing
As an abstract standard, this document allows for multiple different implementations and does not define
a standardized interoperable implementation. Rather, standardization targets are specifications of
coverage operations and services which may use this language to describe the semantics of their
operations.
Conformance testing shall be accomplished by validating a candidate concretization against all
requirements by exercising the tests set out in Annex A. As a prerequisite, a candidate shall also pass all
conformance tests of ISO 19123-1 Coverage Core and Grid Coverage.
4.3 Organization
Table 2 provides details of the conformance classes described in this document. The name and contact
information of the maintenance agency for this document can be found at
www.iso.org/maintenance_agencies.
Table 2 — Conformance classes
Conformance class Clause Identifying URL
Coverage Processing 6 https://standards.isotc211.org/19123/-3/1/conf/coverage-processing

5 Coverage model
5.1 Overview
This document defines a language whose expressions accept any number of input coverages (together
with further common inputs like numbers and strings) to generate any number of output coverages or
non-coverage results. Coverages are defined in ISO 19123-1.
5.2 Coverage model
Following the mathematical notion of a function that maps elements of a domain (such as spatio-temporal
coordinates) to a range (such as values of a “pixel”, “voxel”, etc.), a coverage consists of (Figure 1):
— an identifier which uniquely identifies a coverage in some context (here, the context of an
expression);
2 © ISO 2023 – All rights reserved

---------------------- Page: 8 ----------------------
ISO/FDIS 19123-3:2023(E)
— a domain of coordinate points (expressed in a common Coordinate Reference System, CRS): “where
in the multi-dimensional space can I find values?”;
— a probing function which answers for each coverage coordinate in the domain (“direct position”):
“what is the value here?”;
— a range type: “what do those values mean?”.

Figure 1 — Coverage and GridCoverage (ISO 19123-1)
NOTE 1 Coverage in ISO 19123-1 defines an interface which describes such an object’s behaviour, but does not yet
assume any particular data structure. One interoperable concretization of it is the implementation standard
ISO 19123-2.
"Probing functions” are introduced below. Probing functions extract components from a given coverage.
For every component of a coverage a corresponding probing function exists so that altogether all
properties of a coverage can be retrieved. They serve to define this document’s language semantics.
NOTE 2 In the processing definition of this document, further probing functions, beyond the ISO 19123-1
probing function evaluate(), are used as a concise means to describe all aspects of coverage-valued function results.
5.3 Coverage identifier
Coverages in this document have an identifier which is used in a query to address a coverage to derive
from. Therefore, it is necessary for this identifier to be unique within some context (here: a query). No
assumptions are made on the realization of this identifier. In particular, when the context of the coverage
object changes (such as during delivery to a client) uniqueness is not necessarily guaranteed any longer.
Therefore querying the object in the new context is potentially no longer possible.
NOTE In a concrete service, coverages available would typically be those which are stored on this server, where
access control allows addressing the coverage according to the user sending the request, etc. All these aspects are
out of scope of this document.
© ISO 2023 – All rights reserved 3

---------------------- Page: 9 ----------------------
ISO/FDIS 19123-3:2023(E)
The corresponding probing function for a coverage C is:
id( C )
5.4 Domain
5.4.1 Direct position
A coverage offers values for positions in its domain. These are called “direct positions”. Further values
can be derived through interpolation, depending on whether and what type of interpolation a coverage
allows.
For some direct position p = (p1,…,pd) from a domain whose d-dimensional CRS contains axes (a1,…,ad),
p[a ] is written for accessing the coordinate tuple component corresponding with axis a :
i i
p[a ] = p
i i
5.4.2 Grid
The domain contains the coordinate tuples describing the coverage’s direct positions, which for the
purpose of this document are on a multi-dimensional grid. Informally, this means that every direct
position inside the grid has exactly one next neighbour in both directions of every axis, except for the rim,
where obviously fewer neighbours are available. Figure 2 shows some regular and irregular grid
examples.

Figure 2 — Sample regular and irregular grid structures (ISO 19123-1)
The grid description depends on the complexity of the grid. As a grid is composed from an ordered
sequence of axes, the resulting complexity is determined by the types of axes (such as integer versus
Latitude versus time) as well as the rules determining the direct positions along these axes. The following
axis types defined in ISO 19123-1 are currently supported by this document:
— a Cartesian (“index”) axis, which just requires lower and upper bound (which are of type integer);
— a regular axis, which can be described by lower and upper bounds together with a constant
distance, the resolution;
— an irregular axis, which has individual distances, described by a sequence of coordinates.
As per ISO 19123-1, the coverage domain with its axes has a single CRS which can serve for geo-
referencing. The definition and interpretation of CRSs is in accordance with ISO 19111.
The CRS of a domain is obtained through function crs(C).
crs(C)
4 © ISO 2023 – All rights reserved

---------------------- Page: 10 ----------------------
ISO/FDIS 19123-3:2023(E)
Auxiliary probing function axisList()extracts the ordered list of axes (a ,…,a ) from a d-dimensional CRS:
1 d
axisList( crs )
NOTE In accordance with ISO 19123-1, all axis names in such a list are pairwise disjoint so that the names can
act as a unique identifier within their CRS.
Each axis contributes coordinates from a nonempty, totally ordered set of values which can be numeric
or, in the general case, strings (such as “2020-08-05T”).
For a given coverage C, probing function domain() delivers the coverage domain in its CRS:
domain( C )
The domain information describes the coverage’s grid and its extent for each axis:
— the lower and upper bound of the direct positions;
— additionally, the following information:
— for index axes: nothing further;
— for regular axes: the resolution, expressed in the unit of measure (uom) of the axis;
— for irregular axes: the sequence of points.
This information is accessible through extended variants of the abovementioned functions. For some
coverage domain D with axis a, the following expressions return lower and upper bounds, respectively:
domain( C, a ).lo
domain( C, a ).hi
For convenience, a function pair identical in effect but based on the domain is defined:
D[a].lo = domain( C, a ).lo
D[a].hi = domain( C, a ).hi
The grid of the coverage domain is represented implicitly through functions “walking” the grid from one
direct position to one of its neighbours. This is based on the topological structure of a grid where each
direct position has exactly one lower and one higher neighbour along each axis, with the exception of the
domain rims where no such neighbour is available. Therefore, at the rim, these functions are partial.
Let D be given as the domain of coverage C, so that D = domain(C). Let further a be some axis from the
CRS of D. Then, functions pred() and succ() each return a neighbouring direct position for some given
position. Function pred() returns the immediate preceding direct position along axis a, function succ()
returns the immediate succeeding direct position along a. Where there is no such direct position (because
the input position is sitting at the rim of the domain extent) the value is undefined, written as ⊥.
pred( D, a, p ) = x where
 if p[a] = D[a].lo domain(C,a).lo then x = ⊥
 else x is given by: x[a ] = p[a ] for all a ∈ domain( C ) \ {a}, and x[a] = max( x’ | x’ ∈ domain( C, a )
x x x
and x’ < p[a] )
succ( D, a, p ) = x where
 if p[a] = D[a].hi domain(C,a).hi then x = ⊥
© ISO 2023 – All rights reserved 5

---------------------- Page: 11 ----------------------
ISO/FDIS 19123-3:2023(E)
 else x is given by: x[a ] = p[a ] for all a ∈ domain( C ) \ {a}, and x[a] = min( x’ | x’ ∈ domain( C, a )
x x x
and x’ > p[a] )
EXAMPLE In Figure 3, neighbours of p in coverage domain D with axes x and y can be reached as follows:
a = succ( D, y, pred( D, x, p ) ) = pred( D, x, succ( D, y, p ) )
b = succ( D, y, p )
c = succ( D, y, succ( D, x, p ) ) = succ( D, x, succ( D, y, p ) )
d = pred( D, x, p )
e = succ( D, x, p )
f = pred( D, x, pred( D, y, p ) ) = pred( D, y, pred( D, x, p ) )
g = pred( D, y, p )
h = succ( D, x, pred( D, y, p ) ) = pred( D, y, succ( D, x, p ) )
In this document, for the user’s convenience, basic arithmetic functions are assumed on this grid navigation:

Figure 3 — Sample grid neighbourhood
5.5 Interpolation
In ISO 19123-1 a coverage contains an indication on possible interpolation between direct positions. Such
interpolation can be set for all axes in a coverages simultaneously or, following a more fine-grain
approach, individually per axis.
NOTE 1 In ISO 19123-1 every coverage has exactly one associated interpolation method (for all axes or per axis).
In practice, coverages can allow users to pick one of several interpolation methods, such as with imagery where
linear, quadratic and cubic interpolation are applicable on principle, and users can choose any one of those.
Conceptually, however, two coverages differing only in the interpolation methods are distinct as they will deliver
identical range values on their direct positions, but differing values inbetween those. At the abstract level of
ISO 19123-1 and ISO 19123-3, this ambiguity is not desirable.
For the purpose of this document a special interpolation method none is assumed as defined, for example,
in ISO 19123-1:2023, Annex B. None indicates that no interpolation is possible along the axis under
consideration.
NOTE 2 The interpolation method none is different from nearest-neighbor: An interpolation of nearest-
neighbor provides values inbetween direct positions which are derived from the closest direct position.
Interpolation none means that no values are provided between direct positions. I
...

NORME ISO
INTERNATIONALE 19123-3
Première édition
2023-06
Information géographique — Schéma
de la géométrie et des fonctions de
couverture —
Partie 3:
Principes de base du traitement
Geographic information — Schema for coverage geometry and
functions —
Part 3: Processing fundamentals
Numéro de référence
ISO 19123-3:2023(F)
© ISO 2023

---------------------- Page: 1 ----------------------
ISO 19123-3:2023(F)
DOCUMENT PROTÉGÉ PAR COPYRIGHT
© ISO 2023
Tous droits réservés. Sauf prescription différente ou nécessité dans le contexte de sa mise en œuvre, 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, ou la diffusion sur l’internet ou sur un intranet, sans autorisation écrite préalable. Une autorisation peut
être demandée à l’ISO à l’adresse ci-après ou au comité membre de l’ISO dans le pays du demandeur.
ISO copyright office
Case postale 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Genève
Tél.: +41 22 749 01 11
E-mail: copyright@iso.org
Web: www.iso.org
Publié en Suisse
ii
  © ISO 2023 – Tous droits réservés

---------------------- Page: 2 ----------------------
ISO/FDIS 19123-3:2023(F)
Sommaire Page
Avant-propos . v
Introduction. vi
1 Domaine d'application . 1
2 Références normatives . 1
3 Termes et définitions . 1
4 Conformité . 2
4.1 Notation . 2
4.2 Interopérabilité et tests de conformité . 2
4.3 Organisme . 2
5 Modèle de couverture . 2
5.1 Vue d'ensemble . 2
5.2 Modèle de couverture . 3
5.3 Identifiant de couverture . 4
5.4 Domaine . 4
5.5 Interpolation . 8
5.6 Valeurs de plage . 8
5.7 Type de plage . 9
5.8 Synopsis des fonctions de sondage de couverture . 9
6 Langage de traitement de couverture . 11
6.1 Style de définition de la syntaxe et de la sémantique . 11
6.2 Expressions de traitement de couverture . 12
6.3 Expressions de génération de couverture . 15
6.4 Expressions d'extraction de couverture . 21
6.5 Expressions modifiant la valeur de plage de couverture . 23
6.6 Expressions de dérivation de couverture. 41
6.7 Expressions d'agrégation de couverture . 42
6.8 Expressions de codage/décodage de couverture . 47
6.9 Évaluation de l'expression . 48
6.10 Réponse de l'évaluation . 50
Annexe A (normative) Tests de conformité . 52
A.1 Classe de conformité . 52
A.2 Classe de conformité Coverage Processing Core . 52
Annexe B (normative) Syntaxe d’expression. 53
B.1 Vue d’ensemble . 53
B.2 Symboles terminaux . 54
B.3 Syntaxe de traitement . 55
Annexe C (informative) Diagrammes syntaxiques . 62
Annexe D (informative) Exemples de description de services . 79
D.1 Vue d’ensemble . 79
D.2 WCS-Core . 79
D.3 WCS-Range-Subsetting . 79
© ISO 2023 – Tous droits réservés iii

---------------------- Page: 3 ----------------------
ISO/FDIS 19123-3:2023(F)
D.4 WCS-Scaling . 80
D.5 WCS-CRS . 80
D.6 WCS-Processing . 81
Bibliographie . 82

iv © ISO 2023 – Tous droits réservés

---------------------- Page: 4 ----------------------
ISO/FDIS 19123-3:2023(F)
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 (IEC) en ce qui concerne la
normalisation électrotechnique.
Les procédures utilisées pour élaborer le présent document et celles destinées à sa mise à jour sont
décrites dans les Directives ISO/IEC, Partie 1. Il convient, en particulier, de prendre note des différents
critères d'approbation requis pour les différents types de documents ISO. Le présent document a été
rédigé conformément aux règles de rédaction données dans les Directives ISO/IEC, Partie 2 (voir
www.iso.org/directives).
L’ISO attire l’attention sur le fait que la mise en application du présent document peut entraîner
l’utilisation d’un ou de plusieurs brevets. L’ISO ne prend pas position quant à la preuve, à la validité et à
l’applicabilité de tout droit de brevet revendiqué à cet égard. À la date de publication du présent
document, l’ISO n'avait pas reçu notification qu’un ou plusieurs brevets pouvaient être nécessaires à sa
mise en application. Toutefois, il y a lieu d’avertir les responsables de la mise en application du présent
document que des informations plus récentes sont susceptibles de figurer dans la base de données de
brevets, disponible à l'adresse www.iso.org/brevets. L’ISO ne saurait être tenue pour responsable de ne
pas avoir identifié tout ou partie de tels droits de propriété.
Les appellations commerciales éventuellement mentionnées dans le présent document sont données
pour information, par souci de commodité, à l’intention des utilisateurs et ne sauraient constituer un
engagement.
Pour une explication de la nature volontaire des normes, la signification des termes et expressions
spécifiques de l'ISO liés à l'évaluation de la conformité, ou pour toute information au sujet de l'adhésion
de l'ISO aux principes de l’Organisation mondiale du commerce (OMC) concernant les obstacles
techniques au commerce (OTC), voir www.iso.org/avant-propos.
Le présent document a été élaboré par le comité technique ISO/TC 211, Information
géographique/Géomatique, en collaboration avec le comité technique CEN/TC 287, Information
geographique, du Comité européen de normalisation (CEN) conformément à l’Accord de coopération
technique entre l’ISO et le CEN (Accord de Vienne), en collaboration avec l'Open Geospatial Consortium
(OGC), et en collaboration avec l'IEEE GRSS Earth Science Informatics Technical Committee (IEEE GRSS
ESI TC).
Une liste de toutes les parties de la série ISO 19123 se trouve sur le site web de l’ISO.
Il convient que l’utilisateur adresse tout retour d’information ou toute question concernant le présent
document à l’organisme national de normalisation de son pays. Une liste exhaustive desdits organismes
se trouve à l’adresse www.iso.org/fr/members.html.
© ISO 2023 – Tous droits réservés v

---------------------- Page: 5 ----------------------
ISO/FDIS 19123-3:2023(F)
Introduction
Le présent document définit, à un niveau élevé, les opérations sur les couvertures indépendantes de la
mise en œuvre – c'est-à-dire les représentations numériques de phénomènes géographiques variant dans
l'espace et le temps – telles que définies dans l'ISO 19123-1. Plus spécifiquement, les couvertures en
grilles régulières et irrégulières sont abordées. Les opérations peuvent être appliquées par le biais d'un
langage d'expression permettant une composition d'une complexité illimitée et combinant un nombre
illimité de couvertures pour la fusion de données.
Le langage est défini de manière fonctionnelle et sans effet secondaire. La base conceptuelle du langage
est établie selon deux constructions: un « constructeur de couverture » construit une couverture, soit à
partir de zéro, soit en la déterminant à partir d'une ou de plusieurs autres couvertures; un « condenseur
de couverture » dérive les informations récapitulatives d’une couverture au moyen d’une agrégation tel
qu'un comptage, une somme, un minimum, un maximum et une moyenne.
Le langage de traitement de couverture est indépendant de tout codage de requête et de réponse, car il
ne suppose aucun protocole concret de requête/réponse. Par conséquent, le présent document ne définit
pas un service concret, mais sert de base pour définir la fonctionnalité des normes de service. Le Web
[3]
Coverage Service (WCS) de l'OGC est l'une des cibles de cette normalisation.
Les conventions de formatage suivantes s’appliquent dans tout le présent document.
— Les textes en caractère gras, par exemple processCoveragesExpr, représentent les éléments de
syntaxe dont la définition normative est donnée à l’Annexe B.
— Les textes en italiques, par exemple succ(), représentent les fonctions mathématiques et les variables.
— La police Courier, par exemple return et encode(), est utilisée pour le code, c’est-à-dire pour le
langage de traitement de couverture.
vi © ISO 2023 – Tous droits réservés

---------------------- Page: 6 ----------------------
PROJET FINAL DE NORME INTERNATIONALE ISO/FDIS 19123-3:2023(F)

Information géographique — Schéma de la géométrie et
des fonctions de couverture —
Partie 3:
Principes de base du traitement
1 Domaine d'application
Le présent document définit un langage de traitement de couverture pour l'extraction, le filtrage, le
traitement, l'analyse et la fusion côté serveur de couvertures géospatiales multidimensionnelles
représentant, par exemple, des cubes de données spatio-temporelles de capteurs, d'images, de
simulations ou de statistiques. Les services mettant en œuvre ce langage permettent d'accéder à des
ensembles originaux ou dérivés d'informations de couverture, sous des formes utiles pour la
consommation côté client.
Le présent document s'appuie sur le modèle de couverture abstrait de l'ISO 19123-1. Dans le présent
document, les grilles multidimensionnelles régulières et irrégulières sont prises en charge pour des axes
qui peuvent avoir une sémantique spatiale, temporelle ou autre. Les éditions suivantes incluront aussi
d’autres types d’axes et d’autres types de couvertures provenant de l’ISO 19123-1, spécifiquement, les
nuages de points et les maillages.
2 Références normatives
Les documents suivants sont cités dans le texte de sorte qu’ils constituent, pour tout ou partie de leur
contenu, des exigences 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 19111, Information géographique — Système de références par coordonnées
ISO 19123-1, Information géographique — Schéma de la géométrie et des fonctions de couverture —
Partie 1: Principes de base
3 Termes et définitions
Pour les besoins du présent document, les termes et les définitions de l'ISO 19123-1 ainsi que les suivants
s’appliquent.
L’ISO et l’IEC tiennent à jour des bases de données terminologiques destinées à être utilisées en
normalisation, consultables aux adresses suivantes:
— ISO Online browsing platform: disponible à l’adresse https://www.iso.org/obp
— IEC Electropedia: disponible à l’adresse https://www.electropedia.org/
© ISO 2023 – Tous droits réservés 1

---------------------- Page: 7 ----------------------
ISO/FDIS 19123-3:2023(F)
3.1
fonction de sondage
fonction d'extraction d'informations de la couverture
4 Conformité
4.1 Notation
Le Tableau 1 répertorie les autres Normes internationales et « packages » dans lesquels les classes UML
utilisées dans le présent document ont été définies.
Tableau 1 — Sources des classes UML définies extérieurement
Préfixe Norme « Package »
internationale
ISO 19123-1 Coverage Core,
Grid Coverage

4.2 Interopérabilité et tests de conformité
En tant que norme abstraite, le présent document autorise de multiples mises en œuvre différentes et ne
définit pas une mise en œuvre interopérable normalisée. La normalisation vise plutôt les spécifications
des opérations de couverture et des services qui peuvent utiliser ce langage afin de décrire la sémantique
de leurs opérations.
Les tests de conformité doivent être réalisés en validant une application concrète candidate par rapport
à toutes les exigences en effectuant les tests définis à l'Annexe A. Au préalable, une candidate doit réussir
aussi tous les tests de conformité de l’ISO 19123-1, « Coverage Core » et « Grid Coverage ».
4.3 Organisme
Le Tableau 1 fournit les détails des classes de conformité décrites dans le présent document. Le nom et
les coordonnées de l'autorité de maintenance responsable du présent document se trouvent à l'adresse
www.iso.org/maintenance_agencies.
Tableau 2 — Classes de conformité
Classe de Article URL d'identification
conformité
Coverage Processing 6 https://standards.isotc211.org/19123/-3/1/conf/coverage-processing

5 Modèle de couverture
5.1 Vue d'ensemble
Le présent document définit un langage dont les expressions acceptent n'importe quel nombre de
couvertures en entrée (ainsi que d'autres entrées courantes comme des nombres et des chaînes) afin de
générer un nombre quelconque de résultats de couvertures ou de non-couverture en sortie. Les
couvertures sont définies dans l'ISO 19123-1.
2 © ISO 2023 – Tous droits réservés

---------------------- Page: 8 ----------------------
ISO/FDIS 19123-3:2023(F)
5.2 Modèle de couverture
Suivant la notion mathématique d'une fonction qui met en correspondance les éléments d'un domaine
(comme des coordonnées spatio-temporelles) avec une plage (comme des valeurs de « pixel », « voxel »,
etc.), une couverture est constituée des éléments suivants (Figure 1):
— un identifiant qui identifie de façon unique une couverture dans un certain contexte (ici: le contexte
d'une expression);
— un domaine de points de coordonnées (exprimés dans un système de référence de coordonnées
commun, SRC): « où puis-je trouver des valeurs dans l'espace multidimensionnel ? »;
— une fonction de sondage qui répond pour chaque coordonnée de couverture dans le domaine
(« position directe ») à la question: « quelle est la valeur ici ? »;
— un type de plage: « que signifient ces valeurs ? ».

Figure 1 — Coverage et GridCoverage (ISO 19123-1)
NOTE 1 « Coverage » dans l'ISO 19123-1 définit une interface qui décrit le comportement d'un tel objet, mais ne
suppose pas encore de structure de données particulière. La norme de mise en œuvre ISO 19123-2 en est une
application concrète interopérable.
© ISO 2023 – Tous droits réservés 3

---------------------- Page: 9 ----------------------
ISO/FDIS 19123-3:2023(F)
Les « fonctions de sondage » sont introduites ci-dessous. Les fonctions de sondage permettent d'extraire
des composants d'une couverture donnée. Pour chaque composant d’une couverture, il existe une
fonction de sondage correspondante permettant de récupérer ensemble toutes les propriétés d’une
couverture. Elles servent à définir la sémantique du langage de ce document.
NOTE 2 Dans la définition du traitement du présent document, d’autres fonctions de sondage, qui dépassent la
fonction de sondage evaluate() de l’ISO 19123-1, sont utilisées pour décrire de manière concise tous les aspects des
résultats de la fonction à valeur de couverture.
5.3 Identifiant de couverture
Dans le présent document, les couvertures possèdent un identifiant qui est utilisé dans une requête pour
adresser une couverture à utiliser. Par conséquent, cet identifiant doit être unique dans un certain
contexte (ici: une requête). Aucune hypothèse n’est formulée concernant la réalisation de cet identifiant.
En particulier, lorsque le contexte de l’objet de la couverture change (comme lors d’une livraison à un
client), le caractère unique n’est plus nécessairement garanti. Par conséquent, il n’est potentiellement
plus possible de faire une requête concernant l’objet dans son nouveau contexte.
NOTE Dans un service concret, les couvertures disponibles sont généralement celles qui sont stockées sur ce
serveur, où le contrôle d'accès permet d'adresser la couverture en fonction de l'utilisateur à l'origine de la requête,
etc. Tous ces aspects sont en dehors du domaine d'application du présent document.
La fonction de sondage correspondante pour une couverture C est:
id( C )
5.4 Domaine
5.4.1 Position directe
Une couverture offre les valeurs des positions dans son domaine, appelées « positions directes ». D’autres
valeurs peuvent être déterminées par interpolation, selon le type (le cas échéant) d’interpolation autorisé
par la couverture.
Pour certaines positions directes p = (p ,…,p ) appartenant à un domaine dont le SRC en d dimensions
1 d
contient les axes (a ,…,a ), p[a ] est écrit de manière à accéder au composant du n-uplet de coordonnées
1 d i
qui correspond à l’axe a :
i
p[a ] = p
i i
5.4.2 Grille
Le domaine contient les n-uplets de coordonnées décrivant les positions directes de la couverture qui,
dans le cadre du présent document, sont toutes sur une grille multidimensionnelle. De manière informelle,
cela signifie que chaque position directe à l'intérieur de la grille a exactement un voisin suivant dans les
deux directions de chaque axe, sauf pour le bord, où moins de voisins sont évidemment présents. La
Figure 2 présente quelques exemples de grilles régulières et irrégulières.
4 © ISO 2023 – Tous droits réservés

---------------------- Page: 10 ----------------------
ISO/FDIS 19123-3:2023(F)

Figure 2 — Exemples de structures de grilles régulières et irrégulières (ISO 19123-1)
La description de la grille dépend de la complexité de cette dernière. Une grille étant composée à partir
d'une séquence ordonnée d'axes, la complexité qui en résulte est déterminée par les types des axes (par
exemple, nombre entier, Latitude ou temps) ainsi que par les règles déterminant les positions directes le
long de ces axes. Les types d'axes suivants, définis dans l'ISO 19123-1, sont actuellement pris en charge
par le présent document:
— un axe Cartésien (« indice ») qui nécessite simplement une limite inférieure et une limite
supérieure (lesquelles sont de type entier);
— un axe régulier qui peut être décrit par des limites inférieure et supérieure ainsi qu'une distance
constante, la résolution;
— un axe irrégulier qui possède des distances individuelles, décrites par une séquence de
coordonnées.
Conformément à l'ISO 19123-1, le domaine de couverture et ses axes ont un seul SRC qui peut servir au
géoréférencement. La définition et l’interprétation des SRC se font conformément à l'ISO 19111.
Le SRC d’un domaine est obtenu au moyen de la fonction crs(C).
crs(C)
La fonction auxiliaire de sondage axisList() extrait la liste ordonnée des axes (a ,…,ad) d'un SRC à d
1
dimensions:
axisList( crs )
NOTE Conformément à l’ISO 19123-1, tous les noms d’axes de cette liste sont disjoints par paire afin que les
noms puissent servir d’identifiants uniques à l’intérieur de leur SRC.
Chaque axe apporte des coordonnées provenant d'un ensemble non vide et totalement ordonné de
valeurs qui peuvent être numériques ou, dans le cas général, des chaînes de caractères (telles que
« 2020-08-05T »).
Pour une couverture donnée C, la fonction de sondage domain() fournit le domaine de couverture dans
son SRC:
domain( C )
© ISO 2023 – Tous droits réservés 5

---------------------- Page: 11 ----------------------
ISO/FDIS 19123-3:2023(F)
Les informations du domaine décrivent la grille de la couverture et son étendue pour chaque axe:
— les limites inférieure et supérieure des positions directes;
— en supplément, les informations suivantes:
— pour les axes d'indices: rien de plus;
— pour les axes réguliers: la résolution exprimée dans l’unité de mesure (uom) de l’axe;
— pour les axes irréguliers: la séquence de points.
Ces informations sont accessibles par des variantes étendues des fonctions susmentionnées. Pour un
domaine de couverture D ayant un axe a, les expressions suivantes renvoient respectivement la limite
inférieure et la limite supérieure:
domain( C, a ).lo
domain( C, a ).hi
Par souci de commodité, une paire de fonctions aux effets identiques mais fondées sur le domaine est
définie:
D[a].lo = domain( C, a ).lo
D[a].hi = domain( C, a ).hi
La grille du domaine de couverture est représentée implicitement au moyen des fonctions permettant de
« parcourir » la grille d’une position directe à l’un de ses voisins. Cela s’appuie sur la structure topologique
d’une grille où chaque position directe possède exactement un voisin inférieur et un voisin supérieur le
long de chaque axe, sauf pour les bords du domaine où aucun voisin n’est disponible. Par conséquent, au
bord, ces fonctions sont donc partielles.
Soit D, le domaine de la couverture C, donc D = domain(C). Soit aussi a, un axe quelconque du SRC de D.
Ainsi, les fonctions pred() et succ() renvoient chacune à une position directe voisine d'une position
donnée quelconque. La fonction pred() renvoie à la position directe immédiate précédente sur l’axe a, la
fonction succ() renvoie à la position directe immédiate suivante sur a. Si l’une de ces positions directes
n’existe pas (parce que la position d’entrée se trouve au bord de l’étendue du domaine), la valeur est
indéfinie et représentée par ⊥.
6 © ISO 2023 – Tous droits réservés

---------------------- Page: 12 ----------------------
ISO/FDIS 19123-3:2023(F)
pred( D, a, p ) = x où
 si p[a] = D[a].lo domain(C,a).lo alors x = ⊥
 sinon x est donné par: x[a ] = p[a ] pour tous les a  domain( C ) \ {a}, et x[a] = max( x’ | x’ 
x x x
domain( C, a ) et x’ < p[a] )
succ( D, a, p ) = x où
 si p[a] = D[a].hi domain(C,a).hi alors x = ⊥
 sinon x est donné par: x[a ] = p[a ] pour tous les a  domain( C ) \ {a}, et x[a] = min( x’ | x’ 
x x x
domain( C, a ) et x’ > p[a] )
EXEMPLE Dans la Figure 3, les voisins de p dans le domaine de couverture D avec les axes x et y peuvent être atteints de
la manière suivante:
a = succ( D, y, pred( D, x, p ) ) = pred( D, x, succ( D, y, p ) );
b = succ( D, y, p );
c = succ( D, y, succ( D, x, p ) ) = succ( D, x, succ( D, y, p ) );
d = pred( D, x, p );
e = succ( D, x, p );
f = pred( D, x, pred( D, y, p ) ) = pred( D, y, pred( D, x, p ) );
g = pred( D, y, p );
h = pred( D, x, succ( D, y, p ) ) = succ( D, y, pred( D, x, p ) ).
Dans le présent document, par souci de commodité pour l’utilisateur, les fonctions arithmétiques de base sont retenues comme
hypothèses pour cette navigation de la grille, définies de manière récursive, de la manière suivante:

Figure 3 — Exemple de voisinage dans la grille
© ISO 2023 – Tous droits réservés 7

---------------------- Page: 13 ----------------------
ISO/FDIS 19123-3:2023(F)
5.5 Interpolation
Dans l'ISO 19123-1, une couverture contient une indication des interpolations possibles entre les
positions directes. Une telle interpolation peut être établie pour tous les axes d’une couverture
simultanément ou, en adoptant une approche plus fine, individuellement pour chaque axe.
NOTE 1 Dans l'ISO 19123-1, chaque couverture est associée à exactement une méthode d'interpolation (pour
tous les axes ou par axe). En pratique, les couvertures peuvent permettre à l'utilisateur de choisir une méthode
d'interpolation parmi plusieurs, comme avec l’imagerie où les interpolations linéaires, quadratiques et cubiques
sont applicables en principe, et l’utilisateur peut en choisir une. Toutefois, d'un point de vue conceptuel, deux
couvertures ne différant que par les méthodes d'interpolation sont distinctes car elles fourniront des valeurs de
plage identiques sur leurs positions directes, mais des valeurs différentes entre celles-ci. Au niveau abstrait de
l'ISO 19123-1 et de l’ISO 19123-3, cette ambiguïté n'est pas souhaitable.
Aux fins du présent document, on suppose une méthode d'interpolation spéciale « aucune » selon la
définition, par exemple, de l’ISO 19123-1:2023, Annexe B. « Aucune » indique qu'aucune interpolation
n'est possible le long de l'axe pris en considération.
NOTE 2 La méthode d'interpolation « none » est différente de celle du « plus proche voisin »: Une
interpolation du « plus proche voisin » fournit des valeurs comprises entre les positions directes déterminées
à partir de la position directe la plus proche. L’interpolation « aucune » signifie qu'aucune valeur n'est fournie
entre les positions directes. En d'autres termes: la fonction d'évaluation est indéfinie sur toute position non directe
et aboutira en pratique à une exception.
La fonction interpolation(C,a) renvoie la méthode d'interpolation applicable sur chaque axe de la
couverture C, dans l'ordre de la séquence des axes du SRC. Pour dimension(C)=d, la fonction de sondage
fournit la liste des méthodes d'interpolation (m ,…,m ) où la méthode d'interpolation m s’applique à l’axe
1 d i
numéro i:
interpolation(C)
Cette fonction est surchargée pour
...

Formatted: Portuguese (Brazil)
ISO /FDIS 19123-3:####(X:2023(E)
Formatted: Portuguese (Brazil)
ISO TC 211/WG 6
Formatted: Different first page header
Formatted: Portuguese (Brazil)
Date: 2022-12-012023-02-07
Geographic information — Schema for coverage geometry and
Formatted: Font: 11 pt, Not Bold
functions — Part 3: Processing fundamentals

FDIS stage

---------------------- Page: 1 ----------------------
ISO /FDIS 19123-3:####(X:2023(E)
Formatted: Justified
© ISO 20XX2023
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
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
Formatted: Space Before: 18 pt, Line spacing: Exactly 12 pt
ii © ISO 20222023 – All rights reserved

---------------------- Page: 2 ----------------------
ISO /FDIS 19123-3:####(X:2023(E)
Formatted: Font: Bold
Formatted: Font: Bold
Formatted: Normal, Space After: 36 pt, Line spacing:
Exactly 12 pt
Contents
Formatted: Font: Bold
Formatted: Font: 12 pt, Bold
Foreword . iv
1 Scope .1
2 Normative references .1
3 Terms, definitions, abbreviated terms and notation .1
3.1 Terms and definitions .1
4 Conformance .1
4.1 Notation .1
4.2 Interoperability and Conformance Testing.2
4.3 Organization .2
5 Coverage model .2
5.1 Overview .2
5.2 Coverage model .2
5.3 Coverage identifier .3
5.4 Domain .4
5.5 Interpolation .6
5.6 Range values .7
5.7 Range type .7
5.8 Coverage probing functions synopsis .7
6 Coverage processing language .9
6.1 Syntax and Semantics Definition Style .9
6.2 Coverage Processing Expressions . 10
6.3 Coverage-Generating Expressions . 13
6.4 Coverage Extraction Expressions. 18
6.5 Coverage range value-changing expressions. 20
6.6 Coverage Derivation Expressions . 39
6.7 Coverage Aggregation Expressions . 40
6.8 Coverage Encode/Decode Expressions . 44
6.9 Expression evaluation . 46
6.10 Evaluation response . 48
Annex A (normative) Conformance Tests . 49
Annex B (normative) Expression Syntax . 50
Annex C (informative) Syntax diagrams . 58
Annex D (informative) Sample service descriptions . 75
Bibliography . 78
Introduction . vii
1 Scope .1
2 Normative references .1
3 Terms, definitions, abbreviated terms and notation .1
3.1 Terms and definitions .1
4 Conformance .2
4.1 Notation .2
4.2 Interoperability and conformance testing .2
4.3 Organization .2
5 Coverage model .2
Formatted: Space Before: 18 pt, Line spacing: Exactly 12 pt
© ISO 20222023 – All rights reserved iii

---------------------- Page: 3 ----------------------
ISO /FDIS 19123-3:####(X:2023(E)
Formatted: Justified
5.1 Overview . 2
5.2 Coverage model . 2
5.3 Coverage identifier . 4
5.4 Domain . 5
5.4.1 Direct Position . 5
5.4.2 Grid . 5
5.5 Interpolation . 7
5.6 Range values . 8
5.7 Range type . 8
5.8 Coverage probing functions synopsis . 9
6 Coverage processing language . 10
6.1 Syntax and Semantics Definition Style . 10
6.1.1 Expression Syntax . 10
6.1.2 Expression Semantics . 11
6.2 Coverage Processing Expressions . 11
6.2.1 processCoveragesExpr . 11
6.2.2 processingExpr . 13
6.2.3 coverageExpr . 13
6.2.4 coverageIdExpr . 13
6.3 Coverage-Generating Expressions . 14
6.3.1 coverageConstructorExpr . 14
6.3.2 Examples . 17
6.4 Coverage Extraction Expressions . 19
6.4.1 scalarExpr . 19
6.4.2 getComponentExpr . 19
6.4.3 booleanScalarExpr . 20
6.4.4 numericScalarExpr . 21
6.4.5 stringScalarExpr . 21
6.5 Coverage range value-changing expressions . 21
6.5.1 inducedExpr . 21
6.5.2 unaryInducedExpr . 21
6.5.3 trigonometricExpr . 25
6.5.4 binaryInducedExpr . 29
6.5.5 N-ary Induced operations . 31
6.5.6 Coverage Domain-Changing Expressions . 34
6.5.7 scaleExpr . 38
6.6 Coverage Derivation Expressions . 39
6.6.1 crsTransformExpr. 39
6.7 Coverage Aggregation Expressions . 40
6.7.1 condenseExpr . 40
6.7.2 generalCondenseExpr . 40
6.7.3 reduceExpr . 43
6.8 Coverage Encode/Decode Expressions . 44
6.8.1 encodeCoverageExpr . 44
6.8.2 decodeCoverageExpr . 45
6.9 Expression evaluation . 46
6.9.1 Evaluation sequence . 46
6.9.2 Nesting . 46
6.9.3 Parentheses . 46
6.9.4 Operator precedence rules . 47
6.9.5 Range type compatibility and extension . 47
6.10 Evaluation response . 48
Annex A (normative) Conformance Tests. 49
Formatted: Space Before: 18 pt, Line spacing: Exactly 12 pt
iv © ISO 20222023 – All rights reserved

---------------------- Page: 4 ----------------------
ISO /FDIS 19123-3:####(X:2023(E)
Formatted: Font: Bold
Formatted: Font: Bold
Formatted: Normal, Space After: 36 pt, Line spacing:
Exactly 12 pt
Annex B (normative) Expression Syntax . 50
Formatted: Font: Bold
Annex C (informative) Syntax diagrams . 58
Formatted: Font: 12 pt, Bold
Annex D (informative) Sample service descriptions . 75
Bibliography . 78

Formatted: Space Before: 18 pt, Line spacing: Exactly 12 pt
© ISO 20222023 – All rights reserved v

---------------------- Page: 5 ----------------------
ISO /FDIS 19123-3:####(X:2023(E)
Formatted: Justified
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.org/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 of 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
www.iso.org/iso/foreword.html.
This document was prepared by Technical Committee ISO/TC 211, Geographic information/Geomatics, in Formatted: Font: Italic
collaboration with the European Committee for Standardization (CEN) Technical Committee CEN/TC 287,
Formatted: Font: Italic
Geographic Information, in accordance with the Agreement on technical cooperation between ISO and
Formatted: Foreword Text
CEN (Vienna Agreement), under participation of the IEEE GRSS Earth Science Informatics Technical
Committee, and derived from in collaboration with the Open Geospatial Consortium (OGC) standard Formatted: English (United States)
WCPS 1.1 with permission.).
Formatted: English (United States)
Formatted: English (United States)
A list of all 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.
Formatted: Space Before: 18 pt, Line spacing: Exactly 12 pt
vi © ISO 20222023 – All rights reserved

---------------------- Page: 6 ----------------------
ISO /FDIS 19123-3:####(X:2023(E)
Formatted: Font: Bold
Formatted: Font: Bold
Formatted: Normal, Space After: 36 pt, Line spacing:
Exactly 12 pt
Introduction
Formatted: Font: Bold
Formatted: Font: 12 pt, Bold
This document defines, at a high, implementation-independent level, operations on coverages –, i.e.,.
digital representations of space-time varying geographic phenomena –, as defined in ISO 19123-1.
Specifically, regular and irregular grid coverages are addressed. The operations can be applied through
an expression language allowing composition of unlimited complexity and combining an unlimited
number of coverages for data fusion.
The language is functionally defined and free of any side effects. Its conceptual foundation relies on only
two constructs: A “coverage constructor” builds a coverage, either from scratch or by deriving it from one
or more other coverages. A “coverage condenser” derives summary information from a coverage by
performing an aggregation like count, sum, minimum, maximum, and average.
The coverage processing language is independent from any particular request and response encoding, as
no concrete request/response protocol is assumed. Hence, this document does not define a concrete
service, but acts as the foundation for defining service standards functionality. One such standardization
[4]
target is the OGC Web Coverage Service (WCS) [3].).
Throughout thethis document, the following formatting conventions apply:.
— Bold-Face in the text –, such as processCoveragesExpr –, represents syntax elements, normatively
defined in Annex B.Error! Reference source not found.
— Text in italics –, such as succ() –(), represents mathematical functions and variables.
— Courier font –, such as return and encode() –(), is used for code in the sense of the coverage
processing language.

Formatted: Space Before: 18 pt, Line spacing: Exactly 12 pt
© ISO 20222023 – All rights reserved vii

---------------------- Page: 7 ----------------------
ISO 19123-3:####(X)
FINAL DRAFT INTERNATIONAL STANDARD ISO/FDIS 19123-3:2023(E)

Formatted: Font: 11 pt
Formatted: Justified, Space After: 37 pt, Line spacing:
Exactly 11 pt
Formatted: Font: 18 pt
Geographic information — Schema for coverage geometry
and functions —
Formatted: Font: 18 pt, Not Bold
Part 3:
Formatted: Space Before: 12 pt, After: 30 pt
Processing fundamentals
Formatted: Font: 18 pt
Formatted: Font: 18 pt
Formatted: Font: 13 pt
1 Scope
This document defines a coverage processing language for server-side extraction, filtering, processing,
analytics, and fusion of multi-dimensional geospatial coverages representing, for example, spatio-
temporal sensor, image, simulation, or statistics datacubes. Services implementing this language provide
access to original or derived sets of coverage information, in forms that are useful for client-side
consumption.
This document relies on the abstract coverage model defined in ISO 19123-1. In this version edition,
regular and irregular multi-dimensional grids are supported, for axes that can carry spatial, temporal, or
any other semantics. Future versionseditions will additionally support further axis types as well as
further coverage types from ISO 19123-1, in particular:, point clouds and meshes.
2 Normative references Formatted: Font: 13 pt
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 19111, Geographic information — Referencing by coordinates
ISO 19123-1, Geographic information — Schema for coverage geometry and functions — Part 1: Coverage
Fundamentals
Formatted: Font: 13 pt
3 Terms, definitions, abbreviated terms and notation
Formatted: Font: 12 pt
3.1 Terms and definitions Formatted: Body Text
Formatted: English (United States)
For the purposes of this document, the terms, and definitions and abbreviated terms given in ISO 19123-
Formatted: English (United States)
1 and the following apply.
Formatted: Body Text
Formatted: Font: Times New Roman, 12 pt, English (United
For the purposes of this document, the following terms and definitions apply.
States)
Formatted: List Continue 1, Space After: 0 pt, No bullets or
ISO and IEC maintain terminologicalterminology databases for use in standardization at the following
numbering, Don't keep with next
addresses:
Formatted: English (United States)
Formatted: No underline, Font color: Auto
— — ISO Online browsing platform: available at https://www.iso.org/obphttps://www.iso.org/obp
Formatted: English (United States)
— — IEC Electropedia: available at https://www.electropedia.org/
Formatted: Hyperlink, No underline, Font color: Auto, English
(United States)
Formatted: Space Before: 18 pt, After: 0 pt, Line spacing:
Exactly 12 pt
© ISO 20222023 – All rights reserved 1

---------------------- Page: 8 ----------------------
ISO/FDIS 19123-3:2023(E)
Formatted: Normal, Space After: 36 pt, Line spacing:
Exactly 12 pt
Formatted: Font: 12 pt, Bold
3.1.1
probing function
function extracting information from the coverage
4 Conformance Formatted: Font: 13 pt
4.1 Notation Formatted: Font: 12 pt
Table 1 lists the other international standardsInternational Standards and packages in which UML classes
used in this document have been defined.
Table 1 — Sources of externally defined UML classes
Prefix International Package
Formatted Table
Standard
ISO 19123-1 Coverage Core,
Formatted: Centered
Grid Coverage

4.2 Interoperability and Conformance Testingconformance testing Formatted: Font: 12 pt
Formatted: Font: 12 pt
ThisAs this document beingis an abstract standard, it allows for multiple different implementations and
does not define a standardized interoperable implementation. Rather, standardization targets are
specifications of coverage operations and services which may use this language to describe the semantics
of their operations.
Conformance testing isshall be accomplished by validating a candidate concretization against all
requirements by exercising the tests set out in Annex A.Error! Reference source not found. As a
prerequisite, a candidate shall also pass all conformance tests of ISO 19123-1 Coverage Core and Grid
Coverage.
4.3 Organization
Formatted: Font: 12 pt
Table 1 provides details of the conformance classes described in this document. The name and contact
information of the maintenance agency for this document can be found at
www.iso.org/maintenance_agencies.
Table 2 — Conformance classes
Conformance class Clause Identifying URL
Formatted Table
Coverage Processing 6 https://standards.isotc211.org/19123/-3/1/conf/coverage-processing

5 Coverage model Formatted: Font: 13 pt
Formatted: Space Before: 0 pt
5.1 Overview
Formatted: Font: 12 pt
This document defines a language whose expressions accept any number of input coverages (together
with further common inputs like numbers and strings) to generate any number of output coverages or
non-coverage results. Coverages are defined in ISO 19123-1.
Formatted: Space Before: 18 pt, After: 0 pt, Line spacing:
Exactly 12 pt
2 © ISO 20222023 – All rights reserved

---------------------- Page: 9 ----------------------
ISO/FDIS 19123-3:2023(E)
Formatted: Normal, Right, Space After: 36 pt, Line spacing:
Exactly 12 pt
Formatted: Font: 12 pt, Bold
Formatted: Font: 12 pt
5.2 Coverage model
Following the mathematical notion of a function that maps elements of a domain (such as spatio-temporal
coordinates) to a range (such as values of a “pixel”, “voxel”, etc.), a coverage consists of (Error! Reference
source not found.):
— an identifier which uniquely identifies a coverage in some context (here:, the context of an
expression));
— a domain of coordinate points (expressed in a common Coordinate Reference System, CRS): “where
in the multi-dimensional space can I find values?”?”;
— a probing function which answers for each coverage coordinate in the domain (“direct position”):
“what is the value here?”?”;
— a range type: “what do those values mean?”?”. Formatted: Indent: Left: 0 cm, Hanging: 0.63 cm, Space
After: 6 pt
«interface»
Coverage::Coverage
+ evaluate(DirectPosition) : ValueSet
+ domain() : Domain
+ rangeType() : RecordType
+ interpolation(CoordinateSystemAxis) : InterpolationMethod
«interface»
MultiPointCoverage::MultiPointCoverage
«interface»
GridCoverage::GridCoverage
+ evaluateGr
...

FINAL
INTERNATIONAL ISO/FDIS
DRAFT
STANDARD 19123-3
ISO/TC 211
Geographic information — Schema for
Secretariat: SIS
coverage geometry and functions —
Voting begins on:
2023-02-22
Part 3:
Voting terminates on:
Processing fundamentals
2023-04-19
Information géographique — Schéma de la géométrie et des fonctions
de couverture —
Partie 3: Principes de base du traitement
ISO/CEN PARALLEL PROCESSING
RECIPIENTS OF THIS DRAFT ARE INVITED TO
SUBMIT, WITH THEIR COMMENTS, NOTIFICATION
OF ANY RELEVANT PATENT RIGHTS OF WHICH
THEY ARE AWARE AND TO PROVIDE SUPPOR TING
DOCUMENTATION.
IN ADDITION TO THEIR EVALUATION AS
Reference number
BEING ACCEPTABLE FOR INDUSTRIAL, TECHNO-
ISO/FDIS 19123-3:2023(E)
LOGICAL, COMMERCIAL AND USER PURPOSES,
DRAFT INTERNATIONAL STANDARDS MAY ON
OCCASION HAVE TO BE CONSIDERED IN THE
LIGHT OF THEIR POTENTIAL TO BECOME STAN-
DARDS TO WHICH REFERENCE MAY BE MADE IN
NATIONAL REGULATIONS. © ISO 2023

---------------------- Page: 1 ----------------------
ISO/FDIS 19123-3:2023(E)
FINAL
INTERNATIONAL ISO/FDIS
DRAFT
STANDARD 19123-3
ISO/TC 211
Geographic information — Schema for
Secretariat: SIS
coverage geometry and functions —
Voting begins on:
Part 3:
Voting terminates on:
Processing fundamentals
Information géographique — Schéma de la géométrie et des fonctions
de couverture —
Partie 3: Principes de base du traitement
COPYRIGHT PROTECTED DOCUMENT
© ISO 2023
ISO/CEN PARALLEL PROCESSING
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.
RECIPIENTS OF THIS DRAFT ARE INVITED TO
ISO copyright office
SUBMIT, WITH THEIR COMMENTS, NOTIFICATION
OF ANY RELEVANT PATENT RIGHTS OF WHICH
CP 401 • Ch. de Blandonnet 8
THEY ARE AWARE AND TO PROVIDE SUPPOR TING
CH-1214 Vernier, Geneva
DOCUMENTATION.
Phone: +41 22 749 01 11
IN ADDITION TO THEIR EVALUATION AS
Reference number
Email: copyright@iso.org
BEING ACCEPTABLE FOR INDUSTRIAL, TECHNO-
ISO/FDIS 19123-3:2023(E)
Website: www.iso.org
LOGICAL, COMMERCIAL AND USER PURPOSES,
DRAFT INTERNATIONAL STANDARDS MAY ON
Published in Switzerland
OCCASION HAVE TO BE CONSIDERED IN THE
LIGHT OF THEIR POTENTIAL TO BECOME STAN-
DARDS TO WHICH REFERENCE MAY BE MADE IN
ii
  © ISO 2023 – All rights reserved
NATIONAL REGULATIONS. © ISO 2023

---------------------- Page: 2 ----------------------
ISO/FDIS 19123-3:2023(E)
Contents
Introduction . vi
1 Scope . 1
2 Normative references . 1
3 Terms, definitions, abbreviated terms and notation . 1
3.1 Terms and definitions . 1
4 Conformance . 2
4.1 Notation . 2
4.2 Interoperability and conformance testing . 2
4.3 Organization . 2
5 Coverage model . 2
5.1 Overview . 2
5.2 Coverage model . 2
5.3 Coverage identifier . 3
5.4 Domain . 4
5.4.1 Direct Position . 4
5.4.2 Grid . 4
5.5 Interpolation . 6
5.6 Range values . 7
5.7 Range type . 7
5.8 Coverage probing functions synopsis . 7
6 Coverage processing language . 9
6.1 Syntax and Semantics Definition Style . 9
6.1.1 Expression Syntax . 9
6.1.2 Expression Semantics . 10
6.2 Coverage Processing Expressions . 10
6.2.1 processCoveragesExpr . 10
6.2.2 processingExpr . 12
6.2.3 coverageExpr . 12
6.2.4 coverageIdExpr . 12
6.3 Coverage-Generating Expressions . 13
6.3.1 coverageConstructorExpr . 13
6.3.2 Examples . 16
6.4 Coverage Extraction Expressions . 18
6.4.1 scalarExpr . 18
6.4.2 getComponentExpr . 18
6.4.3 booleanScalarExpr . 19
6.4.4 numericScalarExpr . 19
6.4.5 stringScalarExpr . 20
6.5 Coverage range value-changing expressions . 20
6.5.1 inducedExpr . 20
6.5.2 unaryInducedExpr . 20
6.5.3 trigonometricExpr . 23
6.5.4 binaryInducedExpr . 28
6.5.5 N-ary Induced operations . 30
6.5.6 Coverage Domain-Changing Expressions . 33
6.5.7 scaleExpr . 37
6.6 Coverage Derivation Expressions . 38
6.6.1 crsTransformExpr . 38
6.7 Coverage Aggregation Expressions . 39
© ISO 2023 – All rights reserved iii

---------------------- Page: 3 ----------------------
ISO/FDIS 19123-3:2023(E)
6.7.1 condenseExpr . 39
6.7.2 generalCondenseExpr . 39
6.7.3 reduceExpr . 42
6.8 Coverage Encode/Decode Expressions . 43
6.8.1 encodeCoverageExpr . 43
6.8.2 decodeCoverageExpr . 44
6.9 Expression evaluation . 45
6.9.1 Evaluation sequence . 45
6.9.2 Nesting . 45
6.9.3 Parentheses . 45
6.9.4 Operator precedence rules . 45
6.9.5 Range type compatibility and extension . 46
6.10 Evaluation response . 46
Annex A (normative) Conformance Tests . 48
Annex B (normative) Expression Syntax . 49
Annex C (informative) Syntax diagrams . 57
Annex D (informative) Sample service descriptions . 74
Bibliography . 77

iv © ISO 2023 – All rights reserved

---------------------- Page: 4 ----------------------
ISO/FDIS 19123-3:2023(E)
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.org/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 of 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
www.iso.org/iso/foreword.html.
This document was prepared by Technical Committee ISO/TC 211, Geographic information/Geomatics, in
collaboration with the European Committee for Standardization (CEN) Technical Committee CEN/TC 287,
Geographic Information, in accordance with the Agreement on technical cooperation between ISO and
CEN (Vienna Agreement), and in collaboration with the Open Geospatial Consortium (OGC).
A list of all 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.
© ISO 2023 – All rights reserved v

---------------------- Page: 5 ----------------------
ISO/FDIS 19123-3:2023(E)
Introduction
This document defines, at a high, implementation-independent level, operations on coverages, i.e. digital
representations of space-time varying geographic phenomena, as defined in ISO 19123-1. Specifically,
regular and irregular grid coverages are addressed. The operations can be applied through an expression
language allowing composition of unlimited complexity and combining an unlimited number of coverages
for data fusion.
The language is functionally defined and free of any side effects. Its conceptual foundation relies on only
two constructs: A “coverage constructor” builds a coverage, either from scratch or by deriving it from one
or more other coverages. A “coverage condenser” derives summary information from a coverage by
performing an aggregation like count, sum, minimum, maximum and average.
The coverage processing language is independent from any particular request and response encoding, as
no concrete request/response protocol is assumed. Hence, this document does not define a concrete
service, but acts as the foundation for defining service standards functionality. One such standardization
[3]
target is the OGC Web Coverage Service (WCS).
Throughout this document, the following formatting conventions apply.
— Bold-Face in the text, such as processCoveragesExpr, represents syntax elements, normatively
defined in Annex B.
— Text in italics, such as succ(), represents mathematical functions and variables.
— Courier font, such as return and encode(), is used for code in the sense of the coverage processing
language.
vi © ISO 2023 – All rights reserved

---------------------- Page: 6 ----------------------
FINAL DRAFT INTERNATIONAL STANDARD ISO/FDIS 19123-3:2023(E)

Geographic information — Schema for coverage geometry
and functions —
Part 3:
Processing fundamentals
1 Scope
This document defines a coverage processing language for server-side extraction, filtering, processing,
analytics, and fusion of multi-dimensional geospatial coverages representing, for example, spatio-
temporal sensor, image, simulation, or statistics datacubes. Services implementing this language provide
access to original or derived sets of coverage information, in forms that are useful for client-side
consumption.
This document relies on the abstract coverage model defined in ISO 19123-1. In this edition, regular and
irregular multi-dimensional grids are supported for axes that can carry spatial, temporal or any other
semantics. Future editions will additionally support further axis types as well as further coverage types
from ISO 19123-1, in particular, point clouds and meshes.
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 19111, Geographic information — Referencing by coordinates
ISO 19123-1, Geographic information — Schema for coverage geometry and functions — Part 1:
Fundamentals
3 Terms, definitions, abbreviated terms and notation
3.1 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO 19123-1 and the following apply.
ISO and IEC maintain terminology databases for use in standardization at the following addresses:
— ISO Online browsing platform: available at https://www.iso.org/obp
— IEC Electropedia: available at https://www.electropedia.org/
3.1.1
probing function
function extracting information from the coverage
© ISO 2023 – All rights reserved 1

---------------------- Page: 7 ----------------------
ISO/FDIS 19123-3:2023(E)
4 Conformance
4.1 Notation
Table 1 lists the other International Standards and packages in which UML classes used in this document
have been defined.
Table 1 — Sources of externally defined UML classes
Prefix International Package
Standard
ISO 19123-1 Coverage Core,
Grid Coverage

4.2 Interoperability and conformance testing
As this document is an abstract standard, it allows for multiple different implementations and does not
define a standardized interoperable implementation. Rather, standardization targets are specifications
of coverage operations and services which may use this language to describe the semantics of their
operations.
Conformance testing shall be accomplished by validating a candidate concretization against all
requirements by exercising the tests set out in Annex A. As a prerequisite, a candidate shall also pass all
conformance tests of ISO 19123-1 Coverage Core and Grid Coverage.
4.3 Organization
Table 2 provides details of the conformance classes described in this document. The name and contact
information of the maintenance agency for this document can be found at
www.iso.org/maintenance_agencies.
Table 2 — Conformance classes
Conformance class Clause Identifying URL
Coverage Processing 6 https://standards.isotc211.org/19123/-3/1/conf/coverage-processing

5 Coverage model
5.1 Overview
This document defines a language whose expressions accept any number of input coverages (together
with further common inputs like numbers and strings) to generate any number of output coverages or
non-coverage results. Coverages are defined in ISO 19123-1.
5.2 Coverage model
Following the mathematical notion of a function that maps elements of a domain (such as spatio-temporal
coordinates) to a range (such as values of a “pixel”, “voxel”, etc.), a coverage consists of (Figure 1):
— an identifier which uniquely identifies a coverage in some context (here, the context of an
expression);
2 © ISO 2023 – All rights reserved

---------------------- Page: 8 ----------------------
ISO/FDIS 19123-3:2023(E)
— a domain of coordinate points (expressed in a common Coordinate Reference System, CRS): “where
in the multi-dimensional space can I find values?”;
— a probing function which answers for each coverage coordinate in the domain (“direct position”):
“what is the value here?”;
— a range type: “what do those values mean?”.

Figure 1 — Coverage and GridCoverage (ISO 19123-1)
NOTE 1 Coverage in ISO 19123-1 defines an interface which describes such an object’s behaviour, but does not yet
assume any particular data structure. One interoperable concretization of it is the implementation standard
ISO 19123-2.
Below “probing functions” are introduced which extract components from a given coverage. For every
component of a coverage a corresponding probing function exists so that altogether all properties of a
coverage can be retrieved. They serve to define the document’s language semantics.
NOTE 2 In the processing definition of this document, further probing functions, beyond the ISO 19123-1
probing function evaluate(), are used as a concise means to describe all aspects of coverage-valued function results.
5.3 Coverage identifier
Coverages in this document have an identifier which is used in a query to address a coverage to derive
from. Therefore, it is necessary for this identifier to be unique within some context (here: a query).
Beyond this, no particular assumption is made on the realization of this identifier. In particular, when the
context of the coverage object changes (such as during delivery to a client) uniqueness is not necessarily
guaranteed any longer, and therefore querying the object in the new context is potentially no longer
possible.
NOTE In a concrete service, coverages available would typically be those which are stored on this server, where
access control allows addressing the coverage according to the user sending the request, etc. All these aspects are
out of scope of this document.
© ISO 2023 – All rights reserved 3

---------------------- Page: 9 ----------------------
ISO/FDIS 19123-3:2023(E)
The corresponding probing function for a coverage C is:
id( C )
5.4 Domain
5.4.1 Direct Position
A coverage offers values for particular positions in its domain; these are called “direct positions”; further
values can be derived through interpolation, depending on whether and what type of interpolation a
coverage allows.
For some direct position p = (p ,…,p ) from a domain whose d-dimensional CRS contains axes (a ,…,a ),
1 d 1 d
p[a ] is written for accessing the coordinate tuple component corresponding with axis a :
i i
p[a ] = p
i i
5.4.2 Grid
The domain contains the coordinate tuples describing the coverage’s direct positions, which for the
purpose of this document all sit on a multi-dimensional grid. Informally speaking this means that every
direct position inside the grid has exactly one next neighbour in both directions of every axis, except for
the rim, where fewer neighbours are available. Figure 2 shows some regular and irregular grid examples.

Figure 2 — Sample regular and irregular grid structures (ISO 19123-1)
The grid description depends on the complexity of the grid. As a grid is composed from an ordered
sequence of axes, the resulting complexity is determined by the types of axes (such as integer versus
Latitude versus time) as well as the rules determining the direct positions along these axes. The following
axis types defined in ISO 19123-1 are currently supported by this document:
— a Cartesian (“index”) axis, which just requires lower and upper bound (which are of type integer);
— a regular axis, which can be described by lower and upper bounds together with a constant
distance, the resolution;
— an irregular axis, which has individual distances, described by a sequence of coordinates.
As per ISO 19123-1, the coverage domain with its axes has a single CRS which can serve for geo-
referencing. The definition and interpretation of CRSs is in accordance with ISO 19111.
The CRS of a domain is obtained through function crs(C).
crs(C)
4 © ISO 2023 – All rights reserved

---------------------- Page: 10 ----------------------
ISO/FDIS 19123-3:2023(E)
Auxiliary probing function axisList()extracts the ordered list of axes (a ,…,a ) from a d-dimensional CRS:
1 d
axisList( crs )
NOTE In accordance with ISO 19123-1, all axis names in such a list are pairwise disjoint so that the names can
act as a unique identifier within their CRS.
Each axis contributes coordinates from a nonempty, totally ordered set of values which can be numeric
or, in the general case, strings (such as “2020-08-05T”).
For a given coverage C, probing function domain() delivers the coverage domain in its CRS:
domain( C )
The domain information describes the coverage’s grid and its extent for each axis:
— the lower and upper bound of the direct positions;
— additionally the following information:
— for index axes: nothing further;
— for regular axes: the resolution, expressed in the unit of measure (uom) of the axis;
— for irregular axes: the sequence of points.
This information is accessible through extended variants of the abovementioned functions. For some
coverage domain D with axis a, the following expressions return lower and upper bounds, respectively:
domain( C, a ).lo
domain( C, a ).hi
For convenience, a function pair identical in effect but based on the domain is defined:
D[a].lo = domain( C, a ).lo
D[a].hi = domain( C, a ).hi
The grid of the coverage domain is represented implicitly through functions “walking” the grid from one
direct position to one of its neighbours. This is based on the topological structure of a grid where each
direct position has exactly one lower and one higher neighbour along each axis, with an exception of the
domain rims where no such neighbour is available; therefore, these functions are partial.
Let D be given as the domain of coverage C, so that D = domain(C). Let further a be some axis from the
CRS of D. Then, functions pred() and succ() each return a neighbouring direct position for some given
position. Function pred() returns the immediate preceding direct position along axis a, function succ()
returns the immediate succeeding direct position along a. Where there is no such direct position (because
the input position is sitting at the rim of the domain extent) the value is undefined, written as ⊥.
pred( D, a, p ) = x where
 if p[a] = D[a].lo domain(C,a).lo then x = ⊥
 else x is given by: x[a ] = p[a ] for all a ∈ domain( C ) \ {a}, and x[a] = max( x’ | x’ ∈ domain( C, a )
x x x
and x’ < p[a] )
succ( D, a, p ) = x where
 if p[a] = D[a].hi domain(C,a).hi then x = ⊥
© ISO 2023 – All rights reserved 5

---------------------- Page: 11 ----------------------
ISO/FDIS 19123-3:2023(E)
 else x is given by: x[a ] = p[a ] for all a ∈ domain( C ) \ {a}, and x[a] = min( x’ | x’ ∈ domain( C, a )
x x x
and x’ > p[a] )
EXAMPLE In Figure 3, neighbours of p in coverage domain D with axes x and y can be reached as follows:
a = succ( D, y, pred( D, x, p ) ) = pred( D, x, succ( D, y, p ) )
b = succ( D, y, p )
c = succ( D, y, succ( D, x, p ) ) = succ( D, x, succ( D, y, p ) )
d = pred( D, x, p )
e = succ( D, x, p )
f = pred( D, x, pred( D, y, p ) ) = pred( D, y, pred( D, x, p ) )
g = pred( D, y, p )
h = succ( D, x, succ( D, y, p ) ) = succ( D, y, succ( D, x, p ) )
In this document, for the user’s convenience, basic arithmetic functions are assumed on this grid navigation:

Figure 3 — Sample grid neighbourhood
5.5 Interpolation
In ISO 19123-1 a coverage contains an indication on possible interpolation between direct positions. Such
interp
...

Questions, Comments and Discussion

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