License Agreement

Permission is hereby granted by the Open Geospatial Consortium, ("Licensor"), free of charge and subject to the terms set forth below, to any person obtaining a copy of this Intellectual Property and any associated documentation, to deal in the Intellectual Property without restriction (except as set forth below), including without limitation the rights to implement, use, copy, modify, merge, publish, distribute, and/or sublicense copies of the Intellectual Property, and to permit persons to whom the Intellectual Property is furnished to do so, provided that all copyright notices on the intellectual property are retained intact and that each person to whom the Intellectual Property is furnished agrees to the terms of this Agreement.

If you modify the Intellectual Property, all copies of the modified Intellectual Property must include, in addition to the above copyright notice, a notice that the Intellectual Property includes modifications that have not been approved or adopted by LICENSOR.

THIS LICENSE IS A COPYRIGHT LICENSE ONLY, AND DOES NOT CONVEY ANY RIGHTS UNDER ANY PATENTS THAT MAY BE IN FORCE ANYWHERE IN THE WORLD.

THE INTELLECTUAL PROPERTY IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE INTELLECTUAL PROPERTY WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE INTELLECTUAL PROPERTY WILL BE UNINTERRUPTED OR ERROR FREE. ANY USE OF THE INTELLECTUAL PROPERTY SHALL BE MADE ENTIRELY AT THE USER’S OWN RISK. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY CONTRIBUTOR OF INTELLECTUAL PROPERTY RIGHTS TO THE INTELLECTUAL PROPERTY BE LIABLE FOR ANY CLAIM, OR ANY DIRECT, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM ANY ALLEGED INFRINGEMENT OR ANY LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR UNDER ANY OTHER LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH THE IMPLEMENTATION, USE, COMMERCIALIZATION OR PERFORMANCE OF THIS INTELLECTUAL PROPERTY.

This license is effective until terminated. You may terminate it at any time by destroying the Intellectual Property together with all copies in any form. The license will also terminate if you fail to comply with any term or condition of this Agreement. Except as provided in the following sentence, no such termination of this license shall require the termination of any third party end-user sublicense to the Intellectual Property which is in force as of the date of notice of such termination. In addition, should the Intellectual Property, or the operation of the Intellectual Property, infringe, or in LICENSOR’s sole opinion be likely to infringe, any patent, copyright, trademark or other right of a third party, you agree that LICENSOR, in its sole discretion, may terminate this license without any compensation or liability to you, your licensees or any other party. You agree upon termination of any kind to destroy or cause to be destroyed the Intellectual Property together with all copies in any form, whether held by you or by any third party.

Except as contained in this notice, the name of LICENSOR or of any other holder of a copyright in all or part of the Intellectual Property shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Intellectual Property without prior written authorization of LICENSOR or such copyright holder. LICENSOR is and shall at all times be the sole entity that may authorize you or any third party to use certification marks, trademarks or other special designations to indicate compliance with any LICENSOR standards or specifications. This Agreement is governed by the laws of the Commonwealth of Massachusetts. The application to this Agreement of the United Nations Convention on Contracts for the International Sale of Goods is hereby expressly excluded. In the event any provision of this Agreement shall be deemed unenforceable, void or invalid, such provision shall be modified so as to make it valid and enforceable, and as so modified the entire Agreement shall remain in full force and effect. No decision, action or inaction by LICENSOR shall be construed to be a waiver of any rights or remedies available to it.


 

i. Abstract

The OGC GML Application Schema - Coverages (“GMLCOV”) version 1.0 [OGC 09-146r2], recently renamed the OGC Coverage Implementation Schema version 1.0, provides a ReferenceableGridCoverage element for representing coverages on a referenceable grid.  However, GMLCOV provides no instantiable subtypes of a critical sub-element of ReferenceableGridCoverage, GMLCOV::AbstractReferenceableGrid.  To make use of ReferenceableGridCoverage, an extension deriving from GMLCOV would need to be developed.  GML 3.3 is not such an extension of GMLCOV, as it is built independently from GMLCOV.  Use of the instantiable referenceable grid elements of GML 3.3 with ReferenceableGridCoverage violates Requirement 14 of GMLCOV 1.0 and Requirement 24 of the OGC Modular Specification[1].

This OGC Coverage Implementation Schema - ReferenceableGridCoverage Extension provides a set of referenceable grid elements for use as sub-elements of ReferenceableGridCoverage.  Three of these elements have been adapted from GML 3.3, while a fourth emerged from work on a Testbed-11 Engineering Report[2].

ii.          Keywords

The following are keywords to be used by search engines and document catalogues.

ogcdoc, OGC document, extension, GMLCOVRGRID, GMLCOV, coverage, grid, referenceable, domain, GML, SensorML, CIS, WCS

iii.          Preface

The OGC GML Application Schema - Coverages (“GMLCOV”) version 1.0 [OGC 09-146r2], recently renamed the OGC Coverage Implementation Schema version 1.0, provides a ReferenceableGridCoverage element for representing coverages on a referenceable grid.  For the structure of a ReferenceableGridCoverage to be correct, its GML::domainSet must contain an instantiable subtype of GMLCOV::AbstractReferenceableGrid.  Subtypes of this abstract element specify the transformations that map grid positions to coordinates in an external CRS. 

 

While GMLCOV defines no instantiable referenceable grid elements, GML 3.3 provides instantiable subtypes of a different AbstractReferenceableGrid, one with namespace GMLRGRID.  As the AbstractReferenceableGrid elements of GML 3.3 are not based on the native AbstractReferenceableGrid element of GMLCOV 1.0, the user of the GML 3.3 referenceable grid elements in the GML::domainSet of a ReferenceableGridCoverage violates Requirement 14 of GMLCOV:  “A coverage of type ReferenceableGridCoverage shall have a domain geometry that is a subtype of AbstractReferenceableGrid.”

 

As GML 3.3 and GMLCOV 1.0 both derive from GML 3.2.1, such that there is no direct dependency of one on the other, the user of the GML 3.3 referenceable grid elements in the GML::domainSet of a ReferenceableGridCoverage violates Requirement 24 of the OGC Modular Specification[3], in that GML 3.3 is not a conformant extension to GMLCOV 1.0.  The Requirement states: “A specification conformant to this standard shall require all conformant extensions to itself to be conformant to this standard.”

This OGC Coverage Implementation Schema - ReferenceableGridCoverage Extension standard - henceforth known as the “ReferenceableGridCoverage Extension” - provides a set of native referenceable grid elements, via an extension GMLCOVRGRID of GMLCOV 1.0.  GMLCOVRGRID supports the following elements with namespace GMLCOVRGRID.

1) ReferenceableGridByVectors, ReferenceableGridByArray, and ReferenceableGridByTransformation are adapted (with minor changes) from the GML 3.3 schema file referenceableGrid.xsd.  The changes stem from the need to adjust for a slight difference between the GMLCOV 1.0 and GML 3.3 AbstractReferenceableGrid elements.

2) ReferenceableGridBySensorModel provides access to grid transformations via SensorML 2.0, where the associated SensorML 2.0 documents are recommended to be based on profiles associated with referenceable grid transformations (such as ISO 19130[4] and the Community Sensor Models[5] from NGA).

GMLCOVRGRID is a strict extension[6] of GMLCOV 1.0, in that it assumes without change the normative provisions of its parent standard, including its requirements classes.

 

According to Requirement 1 of version 1.1 of GMLCOV[7], renamed the “Coverage Implementation Standard” or CIS 1.1, all coverages based on GMLCOV 1.0 (retroactively renamed CIS 1.0) continue to be valid.  Thus, a ReferenceableGridCoverage Extension is an extension standard applicable to CIS 1.1 as well as to CIS 1.0.

 

As the details of sensor models and their metadata profiles for use with the ReferenceableGridBySensorModel element is beyond the scope of this document, the need for an OGC “Sensor Extension” document is foreseen, either as a Standard or as a Best Practice.

 

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights.

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.

iv.          Submitting organizations

The following organizations submitted this document to the Open Geospatial Consortium (OGC):

European Union Satellite Centre (SatCen)
Institut National de l’Information Géographique et Forestière (IGN)
KeyW Corporation

v.          Submitters

All questions regarding this submission should be directed to the editor or the submitters:

 

Name Affiliation OGC Member
Eric Hirschorn KeyW Y
Lucio Colaiacomo SatCen Y
Emmanuel Devys IGN Y

 

 

1.    Scope

This ReferenceableGridCoverage Extension specifies instantiable referenceable grid elements supportive of GMLCOV::ReferenceableGridCoverage.

2.    Conformance

This standard defines the following requirement and conformance class:

 

Standardization target of this document are concrete GMLCOV 1.0 coverage instance documents, as generated by some service and/or consumed by some client.

 

Conformance with this standard shall be checked using all the relevant tests specified in Annex A (normative) of this document. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web site[8].

All requirements-classes and conformance-classes described in this document are owned by the standard(s) identified.

3.    References

The following normative documents contain provisions that, through reference in this text, constitute provisions of this document.

OGC: OGC 09-146r2, OGC Coverage Implementation Schema(GMLCOV 1.0), 2012
Conformance class: http://www.opengis.net/spec/gmlcov/1.0/conf/gml-coverage
OGC: OGC 12-000, OGC SensorML: Model and XML Encoding Standard, 2014
Conformance class: http://www.opengis.net/spec/sensorML/2.0/conf/xml/coreProcess

4.             Terms and Definitions

This document uses the terms defined in Sub-clause 5.3 of [OGC 06-121r8], which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard.

The terms and definitions of the coverage standard GMLCOV 1.0 apply to this extension standard.

For the purposes of this document, the following additional terms and definitions apply.

4.1       referenceable grid

A grid associated with a transformation that can be used to convert grid coordinate values to values of coordinates referenced to an external coordinate reference system.

NOTE               This definition has been copied from ISO 19123, Subclause 4.1.33, which is followed by the caveat: “If the coordinate reference system is related to the earth by a datum, the grid is a georeferenceable grid.”

4.2       sensor model

A mathematical model for estimating geolocations from data recorded by a remote sensing system.

NOTE               Sensor models are used in this ReferenceableGridCoverage Extension to represent referenceable grid transformations for any relevant remote sensing system.  There are alternative definitions in use by OGC and ISO TC211.

According to SensorML 2.0 [OGC 12-000] section 4.31: “In line with traditional definitions of the remote sensing community, a sensor model is a type of Location Model that allows one to georegister observations from a sensor (particularly remote sensors).” 

According to ISO 19130, which is narrowly focused on imagery, a sensor model is a “mathematical description of the relationship between the three-dimensional object space and the two-dimensional plane of the associated image produced by a sensor.”


5.             Conventions

This section provides details and examples for any conventions used in the document. Examples of conventions are symbols, abbreviations, use of XML schema, or special notes regarding how to read the document.

5.1           Identifiers

The normative provisions in this specification are denoted by the URI

http://www.opengis.net/spec/GMLCOV/GMLCOVRGRID/1.0

All requirements and conformance tests that appear in this document are denoted by partial URIs which are relative to this base.

5.2           Namespace prefix conventions

The following namespaces are used in this document. The prefix abbreviations used constitute conventions used here, but are not normative. The namespaces to which the prefixes refer are normative, however.

 

Table :  Namespace mapping conventions
Prefix Namespace URI Description

xsd

http://www.w3.org/2001/

XMLSchema

XML Schema namespace

gml

http://www.opengis.net/gml/3.2

GML 3.2.1

gmlcov

http://www.opengis.net/gmlcov/1.0

GMLCOV 1.0 (i.e. CIS 1.0)

sml

http://www.opengis.net/

sensorML/2.0

SensorML 2.0

gmlcovrgrid

http://www.opengis.net/gmlcov/

gmlcovrgrid/1.0

ReferenceableGridCoverage Extension 1.0


 

6.             Class gmlcovrgrid

Class gmlcovrgrid lays the foundation for the implementation schema of this extension standard GMLCOVRGRID of GMLCOV 1.0.  It is the only requirement class of GMLCOVRGRID, meaning that every compliant coverage instance must conform to the requirements stated here in Clause 6.

Requirement 1
A coverage instantiating class gmlcovrgrid shall conform to Figure 1.

UML diagram of the RGRID-Coverage type structure, as defined by class <em>gmlcovrgrid</em>
Figure : UML diagram of the RGRID-Coverage type structure, as defined by class gmlcovrgrid

 

The type structure of class gmlcovrgrid follows requirement 14 of parent standard GMLCOV 1.0. 

Clause 6 of this extension standard defines four instantiable referenceable grid types of class gmlcovrgrid that are generalizations of the GMLCOV::AbstractReferenceableGrid type that is defined in GMLCOV 1.0.  The attributes dimension and srsName of AbstractReferenceableGrid are used to define the number of grid axes and the name of the SRS of the external CRS, respectively.

The XML schema of class gmlcovrgrid specifies ReferenceableGridByVectors, ReferenceableGridByArray, and ReferenceableGridByTransformation that have been adapted from GML 3.3[9] and its associated schema file referenceableGrid.xsd.  There is no dependency of the XML schema of gmlcovrgrid on GML 3.3.

  The GML 3.3 document’s respective sections on its referenceable grid types remain useful as a guide for use of these adapted GMLCOVRGRID types, especially for its examples of use.  See section 10.4 for ReferenceableGridByArray, section 10.5 for ReferenceableGridByVectors, and section 10.6 for ReferenceableGridByTransformation.

The XML schema of class gmlcovrgrid also specifies ReferenceableGridBySensorModel that was developed for the Testbed-11.

 

6.1           RGRID-ByVectors

 

RGRID-ByVectors defines a referenceable grid by specifying an origin and a set of offset vectors, with multiplicative coefficients that scale the offset vectors to generate a (potentially) irregularly-spaced grid.  

 

Requirement 2
An RGRID-ByVectors shall be defined by the structures of Table 2, Table 3, and by GMLCOVRGRID::ReferenceableGridByVectors of the XML Schema accompanying this standard.

 

Table :  RGRID-ByVectors structure
Name Definition Data type Multiplicity

origin

The origin of the referenceable grid in the external CRS

GML:: PointPropertyType

One
(mandatory)

generalGridAxis

Used to define an offset vector and support parameters

GeneralGridAxisPropertyType

One or more
(mandatory)

 

 

Table :  GeneralGridAxis structure
Name Definition Data type Multiplicity

offsetVector

Specifies a vector in the external CRS

GML:: VectorType

One
(mandatory)

coefficients

Specifies a set of multiplicative coefficients over the grid points

GML:: doubleList

One
(mandatory)

gridAxesSpanned

The names of the grid axes spanned by the coefficients

GML:: NCNameList

One
(mandatory)

sequenceRule

Specifies the order in which the coefficients are applied to the grid points

GML:: SequenceRuleType

One
(mandatory)

 

  RGRID-ByVectors generalizes the mechanism used for the RectifiedGrid of GML 3.2.1, which similarly uses offset vectors but in a much more restrictive way.  For a RectifiedGrid, each offset vector is always aligned with a single grid direction, while for a ReferenceableGridByVectors such a restriction does not hold in general.

 

A generalGridAxis is followed by a GeneralGridAxis that fully specifies an offset vector and its support parameters.  The subelement offsetVector of GeneralGridAxis specifies a single vector in the external CRS.  The subelement coefficients specifies a corresponding set of coefficients that multiply their respective offsetVector at grid points that span one or more of the grid dimensions, which are named with the gridAxesSpanned subelement.  Finally, the order in which the coefficients are applied over the grid points is indicated using the sequenceRule subelement.

 

6.2           RGRID-ByArray

 

RGRID-ByArray defines a referenceable grid by listing an array of grid point locations explicitly, as a sequence of direct positions in a defined sequence order over the grid.

 

Requirement 3
An RGRID-ByArray shall be defined by the structure of Table 4, and by GMLCOVRGRID::ReferenceableGridByArray of the XML Schema accompanying this standard.

 

Table :  RGRID-ByArray structure
Name Definition Data type Multiplicity

GML::posList

(for example)

Specifies the array of grid point locations in the external CRS, via either a GML::posList or a sequence of GML::pos or GML::Point objects.

GML:: geometricPositionList Group

One
(mandatory)

sequenceRule

Specifies the sequence order of the grid point locations over the grid.

GML:: SequenceRuleType

One
(mandatory)

 

6.3           RGRID-ByTransformation

 

RGRID-ByTransformation specifies either a GML::Transformation or a GML::ConcatenatedOperation to specify the relationship between positions in the source CRS and corresponding positions in the target CRS.  A sequence of CRS to be used is optionally defined in gridCRS.

 

Requirement 4
An RGRID-ByTransformation shall be defined by the structure of Table 5, and by GMLCOVRGRID::ReferenceableGridByTransformation of the XML Schema accompanying this standard.

 

Table :  RGRID-ByTransformation structure
Name Definition Data type Multiplicity

transformation

A general coordinate transformation using a sequence of operations based on GML::method that have an unbounded set of GML::parameterValue

GML:: Transformation PropertyType

Zero or one
(optional)

concatenatedOperation

An ordered sequence of two or more coordinate operations

GML:: ConcatenatedOperation PropertyType

Zero or one
(optional)

gridCRS

An optional sequence of CRS definitions used by the transformation or the concatenatedOperation

GridCRSPropertyType

Zero or one
(optional)

 

This type was originally proposed and discussed in depth in an OGC Change Request[10].  Subelement gridCRS is discussed there in detail.

In GML 3.3, gridCRS is a sub-element of gmlrgrid::AbstractReferenceableGrid.  However, gridCRS is not present in the AbstractReferenceableGrid of GMLCOV 1.0.  As a result, subelement gridCRS has been included in the RGRID-ByTransformation structure.  In addition, it is included in the RGRID-BySensorModel structure.

 

6.4           RGRID-BySensorModel

 

RGRID-BySensorModel fully defines a sensor model (via SensorML 2.0) that is used to geolocate the referenceable grid.  Such a sensor model involves two inputs: one or more sensor model descriptions containing free variables (using SML::sensorModel) plus a respective set of variable instantiations (using SML::sensorInstance).  A sequence of CRS is optionally defined in gridCRS.

 

Requirement 5
An RGRID-BySensorModel shall be defined by the structure of Table 6, and by GMLCOVRGRID::ReferenceableGridBySensorModel of the XML Schema accompanying this standard.

 

Table :  RGRID-BySensorModel structure
Name Definition Data type Multiplicity

sensorModel

SensorML model yielding the direct positions of the grid

SML::
AbstractProcessPropertyType

One
(mandatory)

sensorInstance

Parameter values for the sensor model

SML::
AbstractProcessPropertyType

Zero or one
(optional)

gridCRS

An optional sequence of CRS definitions used by sensorModel

GridCRSPropertyType

Zero or one
(optional)

 

  Both sensorModel and sensorInstance are subtypes of SML::AbstractProcessProperty that can be followed by instantiable subtypes of SML::AbstractProcess, which include SML::SimpleProcess, SML::AggregateProcess, SML::PhysicalSystem, and SML::PhysicalComponent.

  If a sensorInstance is specified, it is recommended (following SensorML 2.0 Requirement 13) that its associated SensorML 2.0 document reference its parent sensorModel via a SML::typeOf specification.

  If a sensorInstance is specified, it is recommended that its associated SensorML 2.0 document specify a set of parameter values consistent with the free variables of its parent sensorModel.  If a sensorInstance is not specified, it is recommended that the parameter values are instead specified within the associated SensorML 2.0 document of the mandatory sensorModel.

 

 

Annex : Conformance Class Abstract Test Suites (Normative)

This Annex specifies an Abstract Test Suite that shall be passed in completeness by any implementation claiming conformance with this Application Schema.

A.1    Conformance Test Class:  gmlcovrgrid

 

Test Purpose:

Requirement 1

Test Method:

Verify that the coverage under test has a type structure that follows the UML model defined by this requirement.  Verify that all necessary elements are present.

Test passes if all checks pass.

 

Test Purpose:

Requirement 2

Test Method:

Verify that the coverage under test contains the information structures defined by this requirement.  Verify that the document body validates against the schema being part of this standard.

Test passes if all checks pass.

 

Test Purpose:

Requirement 3

Test Method:

Verify that the coverage under test contains the information structures defined by this requirement. Verify that the document body validates against the schema being part of this standard.

Test passes if all checks pass.

 

Test Purpose:

Requirement 4

Test Method:

Verify that the coverage under test contains the information structures defined by this requirement. Verify that the document body validates against the schema being part of this standard.

Test passes if all checks pass.

 

Test Purpose:

Requirement 5

Test Method:

Verify that the coverage under test contains the information structures defined by this requirement. Verify that the document body validates against the schema being part of this standard.

Test passes if all checks pass.


 

Annex : Revision history (non-normative)

Date Release Author Paragraph modified Description

2016-05-04

1.0.0

Eric Hirschorn

All

First draft

2016-08-01

1.0.0

Scott Simmons

All

Change name of “Implementation Schema for Coverages” to “Coverage Implementation Schema” and minor formatting fixes

2016-09-18

1.0.0

Eric Hirschorn

All

Changes resulting from OAB review held on 2016-08-16 and additional discussions with Peter Baumann.

2017-04-25

1.0.0

Eric Hirschorn

Preface

Edits due to approval of CIS 1.1

 

 

 

 

 

 



[1] OGC 08-131r3, The Specification Model — A Standard for Modular Specifications

[2] OGC 15-065r1, OGC Testbed11 Referenceable Grid Harmonization Engineering Report

[3] OGC 08-131r3

[4] ISO/TS 19130:2010, Geographic information - Imagery sensor models for geopositioning

[5] e.g. NGA.SIG.0002_2.1, Frame Sensor Model Metadata Profile Supporting Precise Geopositioning

[6] OGC 08-131r3

[7] OGC 09-146r6, OGC Coverage Implementation Schema 1.1(CIS 1.1)

[8] cite.opengeospatial.org/teamengine

[9] OGC 10-129r1, OGC Geographic Markup Language (GML) — Extended schemas and encoding rules

[10] OGC 09-091r1, GML 3.2.1 change request ‒ Add ReferencedGridByTransformation