Open Geospatial Consortium
OGC Doc 08-157
CR-Form-v3
CHANGE REQUEST
GML 3.2.1 CR ?
rev-
Current version: 3.2.1 For
HELP
on using this form, see bottom of this page or look at the pop-up text over the symbols.Proposed change affects: AS Imp Spec Recom. Paper Other X
Title: Add rangeType attribute to GML coverage classes
Source: Andrew Woolf (Natural Environment Research Council)
Work item code: Date: 2008-09-23
Category: B
Use one of the following categories: F (Critical correction)
A (corresponds to a correction in an earlier release)
B (Addition of feature),
C (Functional modification of feature) D (Editorial modification)
Detailed explanations of the above categories can be found in the TC Policies and Procedures.
Reason for change: At present, various ad-hoc approaches may be used to specify range semantics within GML coverage classes: a gml:DataBlock incorporating an ad-hoc ‘record template’ through gml:rangeParameters (yet another implementation of ISO 19103 RecordType!), by specialising gml:AbstractScalarValueList (though this places no obligation to specify semantic information), or through gml:ValueArray.
There is no consistency of approach in the implementation community, leading to lack of interoperability and difficulty for data consumers.
This is despite ISO 19123 having a very clear mechanism for specifying range semantics – the rangeType attribute. Inclusion of this attribute will harmonise approaches to specifying range semantics and allow greater consistency with ISO 19123.
Summary of change: Add gml:rangeType attribute to gml:AbstractCoverageType as an implementaiton of ISO 19123::CV_Coverage.rangeType.
Consequences if
not approved: Lack of interoperability, lack of harmonised approaches to encoding range semantics information within coverages, inadequate implementation in GML of ISO 19123 coverage classes.
Clauses affected: 19.3.1
Other specs Other core specifications
Affected: Abstract specifications
Recommendation Papers
The OGC Technical Committee Policies & Procedures 05-020r3
19.3.1 AbstractCoverageType, AbstractCoverage
The base type for coverages is gml:AbstractCoverageType, defined in the schema as follows:
<complexType name="AbstractCoverageType" abstract="true"> <complexContent>
<extension base="gml:AbstractFeatureType"> <sequence>
<element ref="gml:domainSet"/> <element ref="gml:rangeSet"/>
<element name=”rangeType” type=”gml:DictionaryEntryType”/> </sequence>
</extension> </complexContent> </complexType>
The basic elements of a coverage can be seen in this content model: the coverage contains
gml:domainSet and gml:rangeSet properties. The gml:domainSet property describes the domain of the coverage and the gml:rangeSet property describes the range of the coverage.
The abstract element gml:AbstractCoverage implements ISO 19123 CV_Coverage (see D.2.11 and ISO 19123:2005, 5.3) and is declared as follows:
<element name="AbstractCoverage" type="gml:AbstractCoverageType" abstract="true" substitutionGroup="gml:AbstractFeature"/>
This element serves as the head of a substitution group which may contain any coverage whose type is derived from gml:AbstractCoverageType. It may act as a variable in the definition of content models where it is required to permit any coverage to be valid.
Note: In this proposal, the GML DictionaryType is used as proxy for the ISO 19103 RecordType used in ISO 19123. A side issue is that GML does not currently have a coherent implementation of the ISO 19103 RecordType, and it may need one.