Already a subscriber? 

MADCAD.com Free Trial
Sign up for a 3 day free trial to explore the MADCAD.com interface, PLUS access the
2009 International Building Code to see how it all works.
If you like to setup a quick demo, let us know at support@madcad.com
or +1 800.798.9296 and we will be happy to schedule a webinar for you.
Security check
Please login to your personal account to use this feature.
Please login to your authorized staff account to use this feature.
Are you sure you want to empty the cart?

BS EN ISO 19123-3:2023 Geographic information. Schema for coverage geometry and functions - Processing fundamentals, 2023
- undefined
- European foreword
- Endorsement notice [Go to Page]
- C083611e copy [Go to Page]
- Foreword
- Introduction
- 1 Scope
- 2 Normative references
- 3 Terms and definitions
- 4 Conformance [Go to Page]
- 4.1 Notation
- 4.2 Interoperability and conformance testing
- 4.3 Organization
- 5 Coverage model [Go to Page]
- 5.1 Overview
- 5.2 Coverage model
- 5.3 Coverage identifier
- 5.4 Domain [Go to Page]
- 5.4.1 Direct position
- 5.4.2 Grid
- 5.5 Interpolation
- 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.
- 6 Coverage processing language [Go to Page]
- 6.1 Syntax and Semantics Definition Style [Go to Page]
- 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. [Go to Page]
- 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. [Go to Page]
- 6.2 Coverage Processing Expressions [Go to Page]
- 6.2.1 processCoveragesExpr
- Requirement 4 https://standards.isotc211.org/19123/-3/1/req/core/processCoveragesExpr A processCoveragesExpr shall be defined as follows. [Go to Page]
- 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). [Go to Page]
- 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.... [Go to Page]
- 6.2.4 coverageIdExpr
- Requirement 7 https://standards.isotc211.org/19123/-3/1/req/core/coverageIdentifier A coverageIdExpr shall be defined as follows. [Go to Page]
- 6.3 Coverage-Generating Expressions [Go to Page]
- 6.3.1 coverageConstructorExpr
- Requirement 8 https://standards.isotc211.org/19123/-3/1/req/core/coverageConstructorExpr A coverageConstructorExpr shall be defined as follows. [Go to Page]
- 6.3.2 Examples
- 6.4 Coverage Extraction Expressions [Go to Page]
- 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). [Go to Page]
- 6.4.2 getComponentExpr
- Requirement 10 https://standards.isotc211.org/19123/-3/1/req/core/getComponentExpr A getComponentExpr shall be defined as follows. [Go to Page]
- 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... [Go to Page]
- 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). [Go to Page]
- 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. [Go to Page]
- 6.5 Coverage range value-changing expressions [Go to Page]
- 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). [Go to Page]
- 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... [Go to Page]
- 6.5.2.1 unaryArithmeticExpr
- Requirement 18 https://standards.isotc211.org/19123/-3/1/req/coreunaryArithmeticExpr A unaryArithmeticExpr shall be defined as: [Go to Page]
- 6.5.3 trigonometricExpr
- Requirement 19 https://standards.isotc211.org/19123/-3/1/req/core/trigonometricExpr A trigonometricExpr shall be defined as: [Go to Page]
- 6.5.3.1 exponentialExpr
- Requirement 20 https://standards.isotc211.org/19123/-3/1/req/core/exponentialExpr An exponentialExpr shall be defined as: [Go to Page]
- 6.5.3.2 booleanExpr
- Requirement 21 https://standards.isotc211.org/19123/-3/1/req/core/booleanExpr A booleanExpr shall be defined as: [Go to Page]
- 6.5.3.3 castExpr
- Requirement 22 https://standards.isotc211.org/19123/-3/1/req/core/castExpr A castExpr shall be defined as: [Go to Page]
- 6.5.3.4 fieldExpr
- Requirement 23 https://standards.isotc211.org/19123/-3/1/req/core/fieldExpr A fieldExpr shall be defined as:
- 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. [Go to Page]
- 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: [Go to Page]
- 6.5.5 N-ary Induced operations [Go to Page]
- 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: [Go to Page]
- 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. [Go to Page]
- 6.5.6 Coverage Domain-Changing Expressions [Go to Page]
- 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). [Go to Page]
- 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: [Go to Page]
- 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: [Go to Page]
- 6.5.6.4 extendExpr
- Requirement 35 https://standards.isotc211.org/19123/-3/1/req/core/extendExpr An extendExpr shall be defined as: [Go to Page]
- 6.5.7 scaleExpr
- Requirement 36 https://standards.isotc211.org/19123/-3/1/req/core/scaleExpr1 A scaleExpr shall be defined as: [Go to Page]
- 6.6 Coverage Derivation Expressions [Go to Page]
- 6.6.1 crsTransformExpr
- Requirement 37 https://standards.isotc211.org/19123/-3/1/req/core/crsTransformExpr A crsTransformExpr shall be defined as: [Go to Page]
- 6.7 Coverage Aggregation Expressions [Go to Page]
- 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). [Go to Page]
- 6.7.2 generalCondenseExpr
- Requirement 39 https://standards.isotc211.org/19123/-3/1/req/core/generalCondenseExpr A generalCondenseExpr shall be defined as: [Go to Page]
- 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. [Go to Page]
- 6.8 Coverage Encode/Decode Expressions [Go to Page]
- 6.8.1 encodeCoverageExpr
- Requirement 41 https://standards.isotc211.org/19123/-3/1/req/core/encode An encodeCoverageExpr shall be defined as: [Go to Page]
- 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. [Go to Page]
- 6.9 Expression evaluation [Go to Page]
- 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. [Go to Page]
- 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... [Go to Page]
- 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: [Go to Page]
- 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): [Go to Page]
- 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... [Go to Page]
- 6.10 Evaluation response
- 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:
- Annex A (normative) Conformance Tests
- A.1 Conformance Class
- A.2 Conformance Class Coverage Processing Core
- Annex B (normative) Expression Syntax
- B.1 Overview
- B.2 Terminal symbols
- B.3 Processing Syntax
- Annex C (informative) Syntax diagrams
- Annex D (informative) Sample service descriptions
- D.1 Overview
- D.2 WCS-Core
- D.3 WCS-Range-Subsetting
- D.4 WCS-Scaling
- D.5 WCS-CRS
- D.6 WCS-Processing
- Bibliography [Go to Page]