ࡱ > '` - bjbj D v[ % M $ X H% \% , , , 8 d 8 , \% p j n n b v . =w \ w 0 ] _ _ _ _ _ _ $ p h n Q @ w Wu v x cy T b b Z 1 1 1 y b b ] 1 w ] 1 1 # b d `ƈN , ' x . F F X # # b F # h w w 1 w w w w w ͇ d U w w w w w w w \% $ % > D/ m d/ \% % > m \% \% \% Open Geospatial Consortium OGC Document TITLE \* MERGEFORMAT 09-091r1
CR-Form-v3CHANGE REQUEST(GMLCR?( rev-( Current version:3.2.1For HYPERLINK "http://www.opengis.org/specs/CRs.htm" \nHELP on using this form, see bottom of this page or look at the pop-up text over the ( symbols.Proposed change affects: (AS Imp SpecXBest Practices Paper OtherTitle: ( SUBJECT \* MERGEFORMAT GML 3.2.1 change request - Add ReferencedGridByTransformationSource: (Arliss Whiteside, Max Martinez, Discussions in GML SWGWork item code: (Date: (2009-10-16Category: (BUse 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)
Reason for change: (Abstract Specification Topic 6 (ISO 19123) specifies CV_ReferenceableGrid, but this class was not previously encoded in GML. GML Change Request 07-112r3 adds an abstract implementation of CV_ReferenceableGrid, plus two concrete subtypes that are designed for irregularly spaced grid points. However, another implementation of CV_ReferenceableGrid is required and will be very frequently used. That implementation uses a CC_Transformation or CC_ConcatenatedOperation (instead of grid points) to specify the relationship between grid coverage positions and positions in another CRS, as suggested in Clause 8.10.1.1 of Topic 6. Although that Transformation could use grid points, it will usually be an analytical Transformation using sensor models such as defined in ISO 19130. Analytical Transformations are normally used for these sensor models, to reduce the required data volume and to simplify least-squares adjustment.Summary of change: (Add a ReferencedGridByTransformation element, in the AbstractReferenceableGrid substitutionGroup, which encodes the relationship between grid coverage positions and positions in another CRS using a gml:CoordinateOperation or gml:ConcatenatedOperation.Consequences if (not approved:Major limitation in the types of referenceable grids that can be encoded in GMLClauses affected: (19.2.7 (new), 19.2.8 (new), 19.2.2, 19.2.3, 19.2.4, 19.2.6Other specs ( Other core specifications (Affected: Abstract specifications Best Practices PapersSupporting Doc. (Other comments: (This change request extends and modifies GML Change Request 07-112r3.Status (Disposition (Add Clauses 19.2.7, 19.2.8 to OGC 07-036 as follows:
19.2.7 ReferencedGridByTransformation
ReferencedGridByTransformation encodes one type of CV_ReferenceableGrid as defined in ISO 19123, using a gml:Transformation or gml:ConcatenatedOperation to specify the relationship between positions in the grid and corresponding positions in another CRS. This encoding also generalises CV_ReferenceableGrid to allow including more than one referencing Transformation.
The gridCRS is a composition association to the definition of the internal CRS for this extended gml:Grid. This definition shall be the one (optionally) referenced by the gml:srsName attribute in the gml:GridType. This CRS definition shall be included here if its definition is needed by some data receivers and is not otherwise available using that gml:srsName value.
The choice in ReferencedGridByTransformation encodes an unordered list of associations to coordinate Transformations or Concatenated Operations that each (geo)reference this ReferenceableGrid. Each of these Transformations or Concatenated Operations shall reference the internal CRS for this extended gml:Grid, as either its sourceCRS or targetCRS. This association may be repeated when this ReferencedGridByTransformation is referenced to more than one other CRS, and/or is referenced to the same other CRS by multiple Transformation versions.
19.2.8 gridCRS
The gridCRS is a composition association to the definition of the internal CRS for this extended gml:Grid. This internal CRS may be a DerivedCRS, EngineeringCRS, ImageCRS, or CompoundCRS. However, proposed OGC Best Practices Paper 09-085r1 recommends that this internal CRS always be a DerivedCRS.
This GML extension expects that the gml:srsName attribute in gml:GridType is used to reference the internal CRS of the grid (NOT the external CRS of the Grid). This use is expected in order to allow referencing this internal CRS in the gml:domainSet of gml:GridCoverages, so this information is available to clients of WCS 2.0 which will use GML encoding of grid coverages. This change request thus requires editing parts of approved change request 07-121r3 as follows:
Append new text to 19.2.2 to clarify the use of SRSReferenceGroup with gml:Grid:
Notwithstanding some ambiguity in ISO 19123, a gml:Grid represents a geometry, and is always associated with an internal grid coordinate reference system (using a coordinate system with integer coordinates and a zero origin). A grid that is also defined in terms of an external coordinate reference system is a rectified grid (19.2.3) if there is an affine relationship between the internal and external coordinates, or a referenceable grid (19.2.4) otherwise. The external internal coordinate reference system for both these subclasses is may be provided through the inherited gml:SRSReferenceGroup (including the srsName attribute). The use of gml:SRSReferenceGroup for gml:Grid is was not previously defined in GML since it has no analogue in ISO 19123.
NOTE In ISO 19123, the external coordinate reference system for a CV_ReferenceableGrid is defined (ISO 19123 8.10.2) through an explicit association Coordinate Reference System with role name crs to an ISO 19111 SC_CRS coordinate reference system object. For a CV_RectifiedGrid, it is defined implicitly (ISO 19123 8.9.2) as the coordinate reference system of the origin.
Insert new text to 19.2.3 just before first NOTE to clarify the use of SRSReferenceGroup with gml:RectifiedGrid:
The attribute group gml:SRSReferenceGroup inherited from gml:AbstractGeometry shall optionally link the rectified grid to the external internal coordinate reference system. The external coordinate reference system to which it is referenceable rectified shall be (identified in ISO 19123 through the coordinate reference system of the origin). When the gml:SRSReferenceGroup in the offsets, also inherited from gml:AbstractGeometry, does not reference the external coordinate reference system, the coordinate reference system of the origin shall be assumed.
NOTE For consistency with ISO 19123, the gml:SRSReferenceGroup of gml:RectifiedGrid may be omitted in favour of providing it with the gml:origin. If both are supplied, then they should be identical.
19.2.4 AbstractReferenceableGridType, AbstractReferenceableGrid
A referenceable grid is associated with a transformation between grid coordinates and coordinates in an external coordinate reference system. Unlike a rectified grid, this transformation is usually not characterised through an affine transformation. The grid curves in the external coordinate reference system need not be straight or orthogonal, but they should retain a grid topology (i.e. the sets of curves defining the grid network should not intersect within themselves). Grid cells may be of different shapes and sizes.
NOTE A grid topology is retained automatically through the affine transformation of a RectifiedGrid.
EXAMPLE Figure 7 shows an example of a referenceable grid.
SHAPE \* MERGEFORMAT
Figure 7 ReferenceableGrid example
The transformation between grid coordinates and external coordinates may take different forms. It may be described analytically (e.g. through parametrised mathematical image rectification models); or it may be provided in a table, for instance, relating the grid points to coordinates in the external coordinate reference system [ISO 19123, 8.2.1]. The method of transformation is an implementation detail not specified by ISO 19123.
The encoding of CV_ReferenceableGrid therefore uses an abstract element, gml:AbstractReferenceableGrid, as the head of a substitution group that may include various concrete implementations of the transformation.
An encoding of the CV_ReferenceableGrid of ISO 19123.A referenceable grid is 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 [ISO 19123].The transformation between grid coordinates and external coordinates is usually non-affine, and may take different forms. It may be described analytically (e.g. through parametrised mathematical image rectification models); or it may be provided in a table, for instance, relating the grid points to coordinates in the external coordinate reference system [ISO 19123, 8.2.1]. AbstractReferenceableGrid is the head of a substitution group that may include various concrete implementations of the transformation.The inherited attribute group gml:SRSReferenceGroup shall optionally link the referenceable grid to the external internal coordinate reference system to which it is referenceableof the grid.
The attribute group gml:SRSReferenceGroup inherited from gml:AbstractGeometry shall optionally link the referenceable grid to the external internal coordinate reference system to which it is referenceableof the grid (represented in ISO 19123 as an explicit association Coordinate Reference System with role name crs to an ISO 19111 SC_CRS coordinate reference system object).
A property type for the gml:AbstractReferenceableGrid is also defined:
EXAMPLE The referenceable grid of Figure 8 can be represented by specifying an array of grid point locations explicitly as follows (note that coordinates are specified as (Lat, Long) in EPSG 4326):
0 0 4 3 x y 2 8 3 10 6 12 8 14 10 18 4 6 6 8 8 12 10 14 12 16 6 2 7 4 9 6 10 8 13 12 8 2 8 3 10 5 11 8 13 10 Linear
19.2.6 ReferenceableGridByVectorsType, ReferenceableGridByVectors
The gml:ReferenceableGridByVectorsType defines a referenceable grid by specifying an origin and offset vectors, with coefficients that may vary over the grid. This generalises the mechanism used for the RectifiedGrid (19.2.3), which uses offset vectors with implicit scalar (unit) coefficients.
In fact, a hierarchy of grid types may be represented using this mechanism (Figure 9). A RectifiedGrid corresponds to offset vectors with scalar (unit integer) coefficients; an irregular but rectilinear grid corresponds to real-valued coefficient vectors; while a completely irregular (curvilinear) grid corresponds to coefficient arrays.
NOTE The latter two cases are both examples of an ISO 19123 CV_ReferenceableGrid.
NOTE The conceptual hierarchy of Figure 9 is not required by the model presented here, and is different to from ISO 19123, where CV_RectifiedGrid is not regarded as a specialisation of CV_ReferenceableGrid. There may be merit in revisiting the relationship between these classes in any future revision of ISO 19123.
Figure 9 Hierarchy of grids with different offset vector coefficients (x and y range over the integer grid point indices)
The gml:ReferenceableGridByVectorsType is defined as follows:
The ReferenceableGridByVectorsType specifies an origin and a sequence of 'general grid axes'. A general grid axis consists of an offset vector and a list of coefficients. These coefficients may vary along one of the grid axes (a coefficient vector), or over multiple grid axes (a coefficient array). The grid axes over which the coefficients vary is indicated with the 'gridAxesSpanned' property, and the order of the coefficients over those grid axes is indicated using the 'sequenceRule' property.NOTE: A referenceable grid with each 'general grid axis' having unit coefficients over one general grid axis is equivalent to a RectifiedGrid.NOTE: A referenceable grid with each 'general grid axis' having a coefficient vector (i.e. coefficients varying over just one axis of the grid) is 'rectilinear' (i.e. parallel grid lines in the external coordinate reference system).
The element gml:origin represents the origin of the referenceable grid in the external coordinate reference system. That external coordinate reference system shall be identified through the coordinate reference system of that origin. When the gml:SRSReferenceGroup in the offset vectors, also inherited from gml:AbstractGeometry, does not reference the external coordinate reference system, the coordinate reference system of the gml:origin shall be assumed.
The set of gml:generalGridAxis elements provide offset vectors (with corresponding coefficients) that together span the (sub-)space containing the convex hull of the referenceable grid. A grid point location in the external coordinate reference system is calculated from the sum of the offset vectors from all gml:generalGridAxis elements weighted by their respective coefficients for the grid point concerned.
The gml:GeneralGridAxisType specifies an offset vector and array of coefficients over all grid points. Both an element and property-type are defined in order to allow the GML by-reference pattern (7.2.3.3):
The element gml:offsetVector specifies a vector in the external coordinate reference system. The element gml:coefficients specifies a corresponding set of weighting coefficients over the grid points. In some cases these coefficients will be uniform along one or more axes of the grid, and for efficiency reasons the coefficients need only be specified along those axes on which they vary. The grid axes over which the coefficients vary is indicated with the gml:gridAxesSpanned element, and the order of the coefficients over those grid axes is indicated using the gml:sequenceRule element.
NOTE A referenceable grid with each 'general grid axis' having unit coefficients over one grid axis is equivalent to a RectifiedGrid.
NOTE A referenceable grid with each 'general grid axis' having a coefficient vector (i.e. coefficients varying over just one axis of the grid) is 'rectilinear' (i.e. parallel grid lines in the external coordinate reference system).
NOTE Any referenceable grid may be embedded within a space of dimension greater than, or equal to, its grid dimension. For example, a two-dimensional grid may be embedded within a three-dimensional volume either by lying in an oblique plane (Figure 10), or by lying in a surface curved within three dimensions (Figure 11). The latter case is defined by specifying three offset vectors. In general, the following constraints apply for any referenceable grid (analogous to those for rectified grids, ISO 19123 8.9.6):
( g r i d d i m e n s i o n ) d" ( n u m b e r o f o f f s e t v e c t o r s ) d" ( C R S d i m e n s i o n )
S H A P E \ * M E R G E F O R M A T
F i g u r e 1 0 R e f e r e n c e a b l e G r i d e m b e d d e d i n o b l i q u e p l a n e ( t w o o f f s e t v e c t o r s )
S H A P E \ * M E R G E F O R M A T
F i g u r e 1 1 R e f e r e n c e a b l e G r i d e m b e d d e d i n c u r v e d s u r face (three offset vectors)
EXAMPLE 1 The (rectilinear) referenceable grid of Figure 12 requires coefficient vectors along each grid axis. It is represented as follows:
0 0 4 3 x y 2 8 1 2 0 1 3 6 7 x Linear 1 -1 0 1 4 6 y Linear
SHAPE \* MERGEFORMAT
Figure 12 ReferenceableGridByVectors rectilinear grid with coefficient vectors
EXAMPLE 2 The (curvilinear) referenceable grid of Figure 8 earlier may be specified using coefficient arrays across both axes of the grid. It is represented as follows (see Figure 13):
0 0 4 3 x y 2 8 0.333 0.667 0 3 8 12 18 0 4 10 14 18 -2 1 5 8 15 0 1 5 9 13 x y Linear 0.667 -0.667 0 0 2 3 3 3 4 4 5 6 7 7 8 8 9 9 8.5 9.5 9 10 x y Linear <