BS EN ISO 19123-3:2023
$215.11
Geographic information. Schema for coverage geometry and functions – Processing fundamentals
Published By | Publication Date | Number of Pages |
BSI | 2023 | 86 |
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.
PDF Catalog
PDF Pages | PDF Title |
---|---|
2 | undefined |
4 | European foreword Endorsement notice |
5 | C083611e copy |
7 | Foreword |
8 | Introduction |
9 | 1 Scope 2 Normative references 3 Terms and definitions |
10 | 4 Conformance 4.1 Notation 4.2 Interoperability and conformance testing 4.3 Organization 5 Coverage model 5.1 Overview 5.2 Coverage model |
11 | 5.3 Coverage identifier |
12 | 5.4 Domain 5.4.1 Direct position 5.4.2 Grid |
14 | 5.5 Interpolation |
15 | 5.6 Range values 5.7 Range type 5.8 Coverage probing functions synopsis Requirement 1 https://standards.isotc211.org/19123/-3/1/req/core/probingFunctions The semantics of the probing functions used for the ISO 19123-1 language semantics definition shall be given by Table 3. |
17 | 6 Coverage processing language 6.1 Syntax and Semantics Definition Style 6.1.1 Expression Syntax Requirement 2 https://standards.isotc211.org/19123/-3/1/req/core/syntax Coverage processing expressions shall adhere to the syntax definition of Annex B. |
18 | 6.1.2 Expression Semantics Requirement 3 https://standards.isotc211.org/19123/-3/1/req/core/semantics Coverage processing expressions shall adhere to all semantics rules of this document. 6.2 Coverage Processing Expressions 6.2.1 processCoveragesExpr Requirement 4 https://standards.isotc211.org/19123/-3/1/req/core/processCoveragesExpr A processCoveragesExpr shall be defined as follows. |
20 | 6.2.2 processingExpr Requirement 5 https://standards.isotc211.org/19123/-3/1/req/core/processingExpr A processingExpr element shall be either an encodeCoverageExpr (see 6.8.1) or a scalarExpr (see 6.4.1). 6.2.3 coverageExpr Requirement 6 https://standards.isotc211.org/19123/-3/1/req/core/coverageExpr A coverageExpr shall be either a coverageIdExpr (see 6.2.4) or a coverageConstructorExpr (see 6.3.1) or a coverageConstantExpr (see 6.3.1) or a getComponentExpr (see 6.4…. 6.2.4 coverageIdExpr Requirement 7 https://standards.isotc211.org/19123/-3/1/req/core/coverageIdentifier A coverageIdExpr shall be defined as follows. |
21 | 6.3 Coverage-Generating Expressions 6.3.1 coverageConstructorExpr Requirement 8 https://standards.isotc211.org/19123/-3/1/req/core/coverageConstructorExpr A coverageConstructorExpr shall be defined as follows. |
24 | 6.3.2 Examples |
26 | 6.4 Coverage Extraction Expressions 6.4.1 scalarExpr Requirement 9 https://standards.isotc211.org/19123/-3/1/req/core/scalarExpr A scalarExpr shall be either a getComponentExpr (see 6.4.2) or a booleanScalarExpr (see 6.4.3) or a numericScalarExpr (see 6.4.4) or a stringScalarExpr (see 6.4.5). 6.4.2 getComponentExpr Requirement 10 https://standards.isotc211.org/19123/-3/1/req/core/getComponentExpr A getComponentExpr shall be defined as follows. |
27 | 6.4.3 booleanScalarExpr Requirement 11 https://standards.isotc211.org/19123/-3/1/req/core/booleanScalarExpr A booleanScalarExprshall be a scalarExpr (see 6.4.1) whose result type is Boolean. Operations shall be the well-known Boolean functions and, or, xor, and not, arithme… 6.4.4 numericScalarExpr Requirement 12 https://standards.isotc211.org/19123/-3/1/req/core/numericScalarExpr A numericScalarExpr shall be a scalarExpr (see 6.4.1) whose result type is numeric (i.e. an integer, float, or complex number). |
28 | 6.4.5 stringScalarExpr Requirement 13 https://standards.isotc211.org/19123/-3/1/req/core/stringScalarExpr A stringScalarExpr shall be a scalarExpr (see 6.4.1) whose result type is character string of length greater or equal to zero. 6.5 Coverage range value-changing expressions 6.5.1 inducedExpr Requirement 14 https://standards.isotc211.org/19123/-3/1/req/core/inducedExprCases An inducedExpr shall be either a unaryInducedExpr (see Subclause 6.5.2) or a binaryInducedExpr (see Subclause 6.5.4) or a rangeConstructorExpr (see Subclause 6.5.5) or … Requirement 15 https://standards.isotc211.org/19123/-3/1/req/core/inducedExprComponents In an inducedExpr, in case the range type contains more than one range component, the function shall be applied to each point simultaneously. Requirement 16 https://standards.isotc211.org/19123/-3/1/req/core/inducedExpr In an inducedExpr the result coverage shall have the same domain as the input coverage(s). 6.5.2 unaryInducedExpr Requirement 17 https://standards.isotc211.org/19123/-3/1/req/core/unaryInducedExprCases A unaryInducedExpr shall be either a unaryArithmeticExpr, or trigonometricExpr, or exponentialExpr (in which case it evaluates to a coverage with a numeric range t… 6.5.2.1 unaryArithmeticExpr |
29 | Requirement 18 https://standards.isotc211.org/19123/-3/1/req/coreunaryArithmeticExpr A unaryArithmeticExpr shall be defined as: |
31 | 6.5.3 trigonometricExpr Requirement 19 https://standards.isotc211.org/19123/-3/1/req/core/trigonometricExpr A trigonometricExpr shall be defined as: |
33 | 6.5.3.1 exponentialExpr Requirement 20 https://standards.isotc211.org/19123/-3/1/req/core/exponentialExpr An exponentialExpr shall be defined as: 6.5.3.2 booleanExpr |
34 | Requirement 21 https://standards.isotc211.org/19123/-3/1/req/core/booleanExpr A booleanExpr shall be defined as: 6.5.3.3 castExpr Requirement 22 https://standards.isotc211.org/19123/-3/1/req/core/castExpr A castExpr shall be defined as: |
35 | 6.5.3.4 fieldExpr Requirement 23 https://standards.isotc211.org/19123/-3/1/req/core/fieldExpr A fieldExpr shall be defined as: |
36 | Requirement 24 https://standards.isotc211.org/19123/-3/1/req/core/fieldExprShorthand In a fieldExpr C.f where |rangeFieldNames(C)|=1, the evaluation of C.f shall be identical to the evaluation of C. 6.5.4 binaryInducedExpr Requirement 25 https://standards.isotc211.org/19123/-3/1/req/core/binaryInducedExprNumber In a binaryInducedExpr, both participating coverages shall be aligned in the following components: – same native CRS; – same domain; – same number of range compo… Requirement 26 https://standards.isotc211.org/19123/-3/1/req/core/binaryInducedExpr A binaryInducedExpr shall be defined as: |
38 | 6.5.5 N-ary Induced operations 6.5.5.1 rangeConstructorExpr Requirement 27 https://standards.isotc211.org/19123/-3/1/req/core/rangeConstructorExprNames The names of the range fields generated by the operation shall be given by the names prefixed to each component expression. Requirement 28 https://standards.isotc211.org/19123/-3/1/req/core/rangeConstructorExpr A rangeConstructorExpr shall be defined as: |
40 | 6.5.5.2 switchExpr Requirement 29 https://standards.isotc211.org/19123/-3/1/req/core/switchExpr Syntax and semantics of a switchExpr shall be given as follows. |
41 | 6.5.6 Coverage Domain-Changing Expressions 6.5.6.1 subsetExpr Requirement 30 https://standards.isotc211.org/19123/-3/1/req/core/subsetExpr A subsetExpr shall be either a trimExpr (6.5.6.2) or a sliceExpr (6.5.6.3) or an extendExpr (6.5.6.3) or a scalingExpr (6.5.7). |
42 | 6.5.6.2 trimExpr Requirement 31 https://standards.isotc211.org/19123/-3/1/req/core/trimExprInside In a trimExpr lower as well as upper limits shall lie inside the coverage’s domain. Requirement 32 https://standards.isotc211.org/19123/-3/1/req/core/trimExpr A trimExpr shall be defined as: |
43 | 6.5.6.3 sliceExpr Requirement 33 https://standards.isotc211.org/19123/-3/1/req/core/sliceExprCoordinatesInside In a sliceExpr the slicing coordinates shall lie inside the coverage’s domain. Requirement 34 https://standards.isotc211.org/19123/-3/1/req/core/sliceExpr A sliceExpr shall be defined as: |
44 | 6.5.6.4 extendExpr Requirement 35 https://standards.isotc211.org/19123/-3/1/req/core/extendExpr An extendExpr shall be defined as: |
45 | 6.5.7 scaleExpr Requirement 36 https://standards.isotc211.org/19123/-3/1/req/core/scaleExpr1 A scaleExpr shall be defined as: |
46 | 6.6 Coverage Derivation Expressions 6.6.1 crsTransformExpr Requirement 37 https://standards.isotc211.org/19123/-3/1/req/core/crsTransformExpr A crsTransformExpr shall be defined as: |
47 | 6.7 Coverage Aggregation Expressions 6.7.1 condenseExpr Requirement 38 https://standards.isotc211.org/19123/-3/1/req/core/condenseExpr A condenseExpr shall be either a reduceExpr (see 6.7.3) or a generalCondenseExpr (see 6.7.2). 6.7.2 generalCondenseExpr Requirement 39 https://standards.isotc211.org/19123/-3/1/req/core/generalCondenseExpr A generalCondenseExpr shall be defined as: |
50 | 6.7.3 reduceExpr Requirement 40 https://standards.isotc211.org/19123/-3/1/req/core/reduceExpr A reduceExpr shall be either an add, avg, min, max, count, some, or all operation as per Table 5. |
51 | 6.8 Coverage Encode/Decode Expressions 6.8.1 encodeCoverageExpr Requirement 41 https://standards.isotc211.org/19123/-3/1/req/core/encode An encodeCoverageExpr shall be defined as: |
52 | 6.8.2 decodeCoverageExpr Requirement 42 https://standards.isotc211.org/19123/-3/1/req/core/decode Syntax and semantics of a decodeCoverageExpr shall be given as follows. |
53 | 6.9 Expression evaluation 6.9.1 Evaluation sequence Requirement 43 https://standards.isotc211.org/19123/-3/1/req/core/sequence A processingExpr shall evaluate coverage expressions from left to right. 6.9.2 Nesting Requirement 44 https://standards.isotc211.org/19123/-3/1/req/core/nesting A processingExpr shall allow nesting all operators, constructors and functions arbitrarily, provided that each sub-expression’s result type matches the required type at the posi… 6.9.3 Parentheses Requirement 45 https://standards.isotc211.org/19123/-3/1/req/core/parentheses Parentheses enforcing evaluation sequence in a processingExpr shall be defined as: 6.9.4 Operator precedence rules Requirement 46 https://standards.isotc211.org/19123/-3/1/req/core/precedence In case of ambiguities in the syntactical analysis of a request, operators shall have the following precedence (listed in descending strength of binding): |
54 | 6.9.5 Range type compatibility and extension Requirement 47 https://standards.isotc211.org/19123/-3/1/req/core/typeExtension The type of each of the operands of an arithmetic operator (+, -, *, /) shall be a type that can be extended to a numeric numeric type, and the result type of an arithmeti… 6.10 Evaluation response |
55 | Requirement 48 https://standards.isotc211.org/19123/-3/1/req/core/error Whenever a coverage expression cannot be evaluated according to the rules specified in 6.1 and 6.8, evaluation shall respond with an error. Requirement 49 https://standards.isotc211.org/19123/-3/1/req/core/result Depending on its result type, the normal result of evaluating a valid query shall consist of one of the following alternatives: |
56 | Annex A (normative) Conformance Tests A.1 Conformance Class A.2 Conformance Class Coverage Processing Core |
57 | Annex B (normative) Expression Syntax B.1 Overview B.2 Terminal symbols |
58 | B.3 Processing Syntax |
65 | Annex C (informative) Syntax diagrams |
82 | Annex D (informative) Sample service descriptions D.1 Overview D.2 WCS-Core D.3 WCS-Range-Subsetting |
83 | D.4 WCS-Scaling D.5 WCS-CRS |
84 | D.6 WCS-Processing |
85 | Bibliography |