General remarks The coverage model and representations

200 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. ISO 19123 provides a definition: Coverages support mapping from a spatiotemporal domain to attribute values where attribute types are common to all geographic positions within the spatiotemporal domain. A spatiotemporal domain consists of a collection of direct positions in a coordinate space. Examples of coverages include rasters, triangulated irregular networks, point coverages, and polygon coverages. Coverages are the prevailing data structures in a number of application areas, such as remote sensing, meteorology, and bathymetric, elevation, soil, and vegetation mapping. The information describing a coverage is conventionally represented in one of two ways: a As a set of discrete location-value pairs. b As a description of the spatio-temporal domain multi-geometry, grid and a description of the set of values from the range, together with a method or rule which may be implicit that assigns a value from the range set to each position within the domain. The first method only applies to domains that are partitioned into discrete components. This representation may be realized in GML as a homogeneous feature collection i.e. all the features have the same set of properties, where the set of locations from the features compose the domain and the set of property values compose the range. The mapping from domain to range is trivial: the properties on each feature are assigned to the location of that feature. For coverages whose domain is composed of a large set of locations this explicit representation may, however, be bulky. The second method is more flexible in a number of ways.  Since the domain and range are homogeneous sets, there may be efficiencies in the representation of either or both domain and range.  The values in the range may be represented in an analytic form rather than as discrete explicit values, which is also related to the fact that as discrete explicit values.  When the attribute values vary continuously across the domain, a functional form covering the complete domain is required to be able to provide values of the range at arbitrary locations. The function typically involves interpolation, possibly using a process model. The first representation is typically used during data collection where a set or properties relating to a single location are managed together, or update of a datastore where only a small number of features are manipulated at one time. The second representation is more suitable for analysis, where spatio-temporal patterns and anomalies within a specific property are of interest. It is the second method, using a functional map over the whole domain, which is the subject of the GML coverage encoding. Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 201

19.1.2 Formal description of a coverage

A coverage incorporates a mapping from a spatiotemporal domain to a range set, the latter providing the set in which the attribute values live. The range set may be an arbitrary set including discrete lists, integer or floating point ranges, and multi-dimensional vector spaces. This conceptual model of a coverage is described in Figure 4. Figure 4 — Conceptual model of a coverage A coverage can be viewed as the graph of the coverage function f:A  B, that is as the set of ordered pairs {x, fx | where x is in A} This view is especially applicable to the GML encoding of a coverage. In the case of a discrete coverage, the domain set A is partitioned into a collection of subsets typically a disjoint collection A = UA i and the function f is constant on each A i . For a spatial domain, the A i are geometry elements, hence the coverage can be viewed as a collection of geometry,value pairs, where the value is an element of the range set. If the spatial domain A is a topological space then the coverage can be viewed as a collection of topology,value pairs, where the topology element in the pair is a topological n-chain in GML terms this is a gml:TopoPoint, gml:TopoCurve, gml:TopoSurface or gml:TopoSolid.

19.1.3 Coverage in GML

A coverage is implemented as a GML feature . We can thus speak of a ―temperature distribution feature‖, or a ―remotely sensed image feature‖, or a ―soil distribution feature‖. As is the case for any GML object, a coverage object may also be the value of a property of a feature. EXAMPLE The temperature distribution might be a property of a city feature abc:City, so a description of the city of Ottawa might be represented in GML as follows here, abc:TempratureCoverage is a coverage feature that is a property of the city feature: abc:City gml:id = ―Ottawa‖ abc:population500000abc:population abc:temperatureDistribution abc:TemperatureCoverage … abc:TemperatureCoverage abc:temperatureDistribution abc:City NOTE Coverages in GML are supported by two schemas documents, coverage.xsd and grids.xsd. Coverages.xsd provides the basic GML coverage model. Grids.xsd provides grid geometry structures that are used in the description of gridded coverages but which could be employed for other applications. The schema document grids.xsd is identified by the following location-independent name using URN syntax: urn:x-ogc:specification:gml:schema-xsd:grids:3.2.1 The coverage.xsd schema document is identified by the following location-independent name using URN syntax: 202 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. urn:x-ogc:specification:gml:schema-xsd:coverage:3.2.1 All schema documents are listed in Annex C.

19.1.4 Relationship with ISO 19123

The coverage components of the GML schema specified in this clause provide a conformant, partial implementation of the ISO 19123 coverage schema. The relationship is discussed in detail in D.2.11. The ISO 19123 coverage types implemented in GML are specified in ISO 19123; additional constraints specified in ISO 19123 for these types are also constraints on the coverage components of the GML schema.

19.2 Grids schema

19.2.1 Overview

An implicit description of geometry is one in which the items of the geometry do not explicitly appear in the encoding. Instead, a compact notation records a set of parameters, and a set of objects may be generated using a rule with these parameters. This clause provides grid geometries that are used in the description of gridded coverages and other applications. In GML two grid structures are defined, namely gml:Grid and gml:RectifiedGrid.

19.2.2 Grid

gml:Grid implements ISO 19123 CV_Grid see D.2.11 and ISO 19123:2005, 8.3 and is defined as follows: element name=Grid type=gml:GridType substitutionGroup=gml:AbstractImplicitGeometry element name=AbstractImplicitGeometry type=gml:AbstractGeometryType abstract=true substitutionGroup=gml:AbstractGeometry complexType name=GridType complexContent extension base=gml:AbstractGeometryType sequence element name=limits type=gml:GridLimitsType choice element name=axisLabels type=gml:NCNameList element name=axisName type=string maxOccurs=unbounded choice sequence attribute name=dimension type=positiveInteger use=required extension complexContent complexType The gml:Grid implicitly defines an unrectified grid, which is a network composed of two or more sets of curves in which the members of each set intersect the members of the other sets in an algorithmic way. The region of interest within the grid is given in terms of its gml:limits, being the grid coordinates of diagonally opposed corners of a rectangular region. gml:axisLabels is provided with a list of labels of the axes of the grid gml:axisName has been deprecated. gml:dimension specifies the dimension of the grid. In GML the gml:limits element contains a single gml:GridEnvelope, in accordance with the following schema definitions: