gml.xsd
Geographic information -- Geography Markup Language (ISO/TS
19136:2007)
Also published
as OGC 07-036 (GML 3.2.1)
All include statements have been resolved.
Evidence is represented by a simple gml:dataSource or gml:dataSourceReference
property that indicates the source of the temporal data. The remote link attributes of the
gml:dataSource element have been deprecated along with its current type.
Evidence is represented by a simple gml:dataSource or gml:dataSourceReference
property that indicates the source of the temporal data.
A convenience group. This allows an application schema developer to include
dynamic properties in a content model in a standard fashion.
States are captured by time-stamped instances of a feature. The content model
extends the standard gml:AbstractFeatureType with the gml:dynamicProperties model group.
Each time-stamped instance represents a 'snapshot' of a feature. The dynamic feature classes
will normally be extended to suit particular applications. A dynamic feature bears either a
time stamp or a history.
A gml:DynamicFeatureCollection is a feature collection that has a gml:validTime
property (i.e. is a snapshot of the feature collection) or which has a gml:history property
that contains one or more gml:AbstractTimeSlices each of which contain values of the time
varying properties of the feature collection. Note that the gml:DynamicFeatureCollection may
be one of the following: 1. A feature collection which consists of static feature members
(members do not change in time) but which has properties of the collection object as a whole
that do change in time . 2. A feature collection which consists of dynamic feature members
(the members are gml:DynamicFeatures) but which also has properties of the collection as a
whole that vary in time.
To describe an event — an action that occurs at an instant or over an interval
of time — GML provides the gml:AbtractTimeSlice element. A timeslice encapsulates the
time-varying properties of a dynamic feature -- it shall be extended to represent a time
stamped projection of a specific feature. The gml:dataSource property describes how the
temporal data was acquired. A gml:AbstractTimeSlice instance is a GML object that
encapsulates updates of the dynamic—or volatile—properties that reflect some change event;
it thus includes only those feature properties that have actually changed due to some
process. gml:AbstractTimeSlice basically provides a facility for attribute-level time
stamping, in contrast to the object-level time stamping of dynamic feature instances. The
time slice can thus be viewed as event or process-oriented, whereas a snapshot is more state
or structure-oriented. A timeslice has richer causality, whereas a snapshot merely portrays
the status of the whole.
A generic sequence of events constitute a gml:history of an object. The
gml:history element contains a set of elements in the substitution group headed by the
abstract element gml:AbstractTimeSlice, representing the time-varying properties of
interest. The history property of a dynamic feature associates a feature instance with a
sequence of time slices (i.e. change events) that encapsulate the evolution of the
feature.
A property that has a geometric complex as its value domain may either be an
appropriate geometry element encapsulated in an element of this type or an XLink reference
to a remote geometry element (where remote includes geometry elements located elsewhere in
the same document). Either the reference or the contained element shall be given, but
neither both nor none.
A gml:CompositeCurve is represented by a sequence of (orientable) curves such
that each curve in the sequence terminates at the start point of the subsequent curve in the
list. curveMember references or contains inline one curve in the composite curve. The curves
are contiguous, the collection of curves is ordered. Therefore, if provided, the
aggregationType attribute shall have the value "sequence".
A gml:CompositeSurface is represented by a set of orientable surfaces. It is
geometry type with all the geometric properties of a (primitive) surface. Essentially, a
composite surface is a collection of surfaces that join in pairs on common boundary curves
and which, when considered as a whole, form a single surface. surfaceMember references or
contains inline one surface in the composite surface. The surfaces are
contiguous.
gml:CompositeSolid implements ISO 19107 GM_CompositeSolid (see ISO 19107:2003,
6.6.7) as specified in D.2.3.6. A gml:CompositeSolid is represented by a set of orientable
surfaces. It is a geometry type with all the geometric properties of a (primitive) solid.
Essentially, a composite solid is a collection of solids that join in pairs on common
boundary surfaces and which, when considered as a whole, form a single solid. solidMember
references or contains one solid in the composite solid. The solids are
contiguous.
This abstract type supplies the root or base type for all topological elements
including primitives and complexes. It inherits AbstractGMLType and hence can be identified
using the gml:id attribute.
gml:AbstractTopoPrimitive acts as the base type for all topological primitives.
Topology primitives are the atomic (smallest possible) units of a topology complex. Each
topology primitive may contain references to other topology primitives of codimension 2 or
more (gml:isolated). Conversely, nodes may have faces as containers and nodes and edges may
have solids as containers (gml:container).
In the case of planar topology, a gml:Node must have a clockwise
sequence of gml:directedEdge properties, to ensure a lossless topology
representation as defined by Kuijpers, et. al. (see OGC 05-102 Topology
IPR).
gml:Node represents the 0-dimensional primitive. The optional coboundary of a
node (gml:directedEdge) is a sequence of directed edges which are incident on this node.
Edges emanating from this node appear in the node coboundary with a negative orientation. If
provided, the aggregationType attribute shall have the value "sequence". A node may
optionally be realised by a 0-dimensional geometric primitive
(gml:pointProperty).
A gml:directedNode property element describes the boundary of topology edges
and is used in the support of topological point features via the gml:TopoPoint expression,
see below. The orientation attribute of type gml:SignType expresses the sense in which the
included node is used: start ("-") or end ("+") node.
gml:Edge represents the 1-dimensional primitive. The topological boundary of an
Edge (gml:directedNode) consists of a negatively directed start Node and a positively
directed end Node. The optional coboundary of an edge (gml:directedFace) is a circular
sequence of directed faces which are incident on this edge in document order. In the 2D
case, the orientation of the face on the left of the edge is "+"; the orientation of the
face on the right on its right is "-". If provided, the aggregationType attribute shall have
the value "sequence". An edge may optionally be realised by a 1-dimensional geometric
primitive (gml:curveProperty).
A gml:directedEdge property element describes the boundary of topology faces,
the coBoundary of topology nodes and is used in the support of topological line features via
the gml:TopoCurve expression, see below. The orientation attribute of type gml:SignType
expresses the sense in which the included edge is used, i.e. forward or
reverse.
If the topological representation exists an unbounded manifold (e.g.
Euclidean plane), a gml:Face must indicate whether it is a universal face or not, to
ensure a lossless topology representation as defined by Kuijpers, et. al. (see OGC
05-102 Topology IPR). The optional universal attribute of type boolean is used to
indicate this. NOTE The universal face is normally not part of any feature, and is
used to represent the unbounded portion of the data set. Its interior boundary (it has
no exterior boundary) would normally be considered the exterior boundary of the map
represented by the data set.
gml:Face represents the 2-dimensional topology primitive. The topological
boundary of a face (gml:directedEdge) consists of a sequence of directed edges. If provided,
the aggregationType attribute shall have the value "sequence". The optional coboundary of a
face (gml:directedTopoSolid) is a pair of directed solids which are bounded by this face. A
positively directed solid corresponds to a solid which lies in the direction of the
negatively directed normal to the face in any geometric realisation. A face may optionally
be realised by a 2-dimensional geometric primitive (gml:surfaceProperty).
The gml:directedFace property element describes the boundary of topology
solids, in the coBoundary of topology edges and is used in the support of surface features
via the gml:TopoSurface expression, see below. The orientation attribute of type
gml:SignType expresses the sense in which the included face is used i.e. inward or outward
with respect to the surface normal in any geometric realisation.
A gml:TopoSolid must indicate whether it is a universal topo-solid or
not, to ensure a lossless topology representation as defined by Kuijpers, et. al. (see
OGC 05-102 Topology IPR). The optional universal attribute of type boolean is used to
indicate this and the default is fault. NOTE The universal topo-solid is normally not
part of any feature, and is used to represent the unbounded portion of the data set.
Its interior boundary (it has no exterior boundary) would normally be considered the
exterior boundary of the data set.
gml:TopoSolid represents the 3-dimensional topology primitive. The topological
boundary of a solid (gml:directedFace) consists of a set of directed faces. A solid may
optionally be realised by a 3-dimensional geometric primitive
(gml:solidProperty).
The gml:directedSolid property element describes the coBoundary of topology
faces and is used in the support of volume features via the gml:TopoVolume expression, see
below. The orientation attribute of type gml:SignType expresses the sense in which the
included solid appears in the face coboundary. In the context of a gml:TopoVolume the
orientation attribute has no meaning.
The intended use of gml:TopoPoint is to appear within a point feature to
express the structural and possibly geometric relationships of this feature to other
features via shared node definitions.
The gml:topoPointProperty property element may be used in features to express
their relationship to the referenced topology node.
gml:TopoCurve represents a homogeneous topological expression, a sequence of
directed edges, which if realised are isomorphic to a geometric curve primitive. The
intended use of gml:TopoCurve is to appear within a line feature to express the structural
and geometric relationships of this feature to other features via the shared edge
definitions. If provided, the aggregationType attribute shall have the value
"sequence".
The gml:topoCurveProperty property element may be used in features to express
their relationship to the referenced topology edges.
gml:TopoSurface represents a homogeneous topological expression, a set of
directed faces, which if realised are isomorphic to a geometric surface primitive. The
intended use of gml:TopoSurface is to appear within a surface feature to express the
structural and possibly geometric relationships of this surface feature to other features
via the shared face definitions.
The gml:topoSurfaceProperty property element may be used in features to express
their relationship to the referenced topology faces.
gml:TopoVolume represents a homogeneous topological expression, a set of
directed topologic solids, which if realised are isomorphic to a geometric solid primitive.
The intended use of gml:TopoVolume is to appear within a solid feature to express the
structural and geometric relationships of this solid feature to other features via the
shared solid definitions.
The gml:topoVolumeProperty element may be used in features to express their
relationship to the referenced topology volume.
gml:TopoComplex is a collection of topological primitives. Each complex holds a
reference to its maximal complex (gml:maximalComplex) and optionally to sub- or
super-complexes (gml:subComplex, gml:superComplex). A topology complex contains its
primitive and sub-complex members.
The property elements gml:subComplex, gml:superComplex and gml:maximalComplex
provide an encoding for relationships between topology complexes as described for
gml:TopoComplex above.
The property elements gml:subComplex, gml:superComplex and gml:maximalComplex
provide an encoding for relationships between topology complexes as described for
gml:TopoComplex above.
The property elements gml:subComplex, gml:superComplex and gml:maximalComplex
provide an encoding for relationships between topology complexes as described for
gml:TopoComplex above.
The gml:topoPrimitiveMember property element encodes for the relationship
between a topology complex and a single topology primitive.
The gml:topoPrimitiveMembers property element encodes the relationship between
a topology complex and an arbitrary number of topology primitives.
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.
The gml:limits element contains a single gml:GridEnvelope. The gml:low and gml:high property
elements of the envelope are each integerLists, which are coordinate tuples, the coordinates
being measured as offsets from the origin of the grid along each axis, of the diagonally
opposing corners of a "rectangular" region of interest.
A rectified grid is a grid for which there is an affine transformation between
the grid coordinates and the coordinates of an external coordinate reference system. It is
defined by specifying the position (in some geometric space) of the grid "origin" and of the
vectors that specify the post locations. Note that the grid limits (post indexes) and axis
name properties are inherited from gml:GridType and that gml:RectifiedGrid adds a gml:origin
property (contains or references a gml:Point) and a set of gml:offsetVector
properties.
The base type for coverages is gml:AbstractCoverageType. 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.
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.
A discrete coverage consists of a domain set, range set and optionally a
coverage function. The domain set consists of either spatial or temporal geometry objects,
finite in number. The range set is comprised of a finite number of attribute values each of
which is associated to every direct position within any single spatiotemporal object in the
domain. In other words, the range values are constant on each spatiotemporal object in the
domain. This coverage function maps each element from the coverage domain to an element in
its range. The coverageFunction element describes the mapping function. This element serves
as the head of a substitution group which may contain any discrete coverage whose type is
derived from gml:DiscreteCoverageType.
A continuous coverage as defined in ISO 19123 is a coverage that can return
different values for the same feature attribute at different direct positions within a
single spatiotemporal object in its spatiotemporal domain. The base type for continuous
coverages is AbstractContinuousCoverageType. The coverageFunction element describes the
mapping function. The abstract element gml:AbstractContinuousCoverage serves as the head of
a substitution group which may contain any continuous coverage whose type is derived from
gml:AbstractContinuousCoverageType.
The gml:domainSet property element describes the spatio-temporal region of
interest, within which the coverage is defined. Its content model is given by
gml:DomainSetType. The value of the domain is thus a choice between a gml:AbstractGeometry
and a gml:AbstractTimeObject. In the instance these abstract elements will normally be
substituted by a geometry complex or temporal complex, to represent spatial coverages and
time-series, respectively. The presence of the gml:AssociationAttributeGroup means that
domainSet follows the usual GML property model and may use the xlink:href attribute to point
to the domain, as an alternative to describing the domain inline. Ownership semantics may be
provided using the gml:OwnershipAttributeGroup.
The gml:rangeSet property element contains the values of the coverage
(sometimes called the attribute values). Its content model is given by gml:RangeSetType.
This content model supports a structural description of the range. The semantic information
describing the range set is embedded using a uniform method, as part of the explicit values,
or as a template value accompanying the representation using gml:DataBlock and gml:File. The
values from each component (or "band") in the range may be encoded within a gml:ValueArray
element or a concrete member of the gml:AbstractScalarValueList substitution group . Use of
these elements satisfies the value-type homogeneity requirement.
gml:DataBlock describes the Range as a block of text encoded values similar to
a Common Separated Value (CSV) representation. The range set parameterization is described
by the property gml:rangeParameters.
gml:CoordinatesType consists of a list of coordinate tuples, with each
coordinate tuple separated by the ts or tuple separator (whitespace), and each coordinate in
the tuple by the cs or coordinate separator (comma). The gml:tupleList encoding is
effectively "band-interleaved".
gml:doubleOrNilReasonList consists of a list of gml:doubleOrNilReason values,
each separated by a whitespace. The gml:doubleOrNilReason values are grouped into tuples
where the dimension of each tuple in the list is equal to the number of range
parameters.
for efficiency reasons, GML also provides a means of encoding the range set in
an arbitrary external encoding, such as a binary file. This encoding may be "well-known" but
this is not required. This mode uses the gml:File element. The values of the coverage
(attribute values in the range set) are transmitted in a external file that is referenced
from the XML structure described by gml:FileType. The external file is referenced by the
gml:fileReference property that is an anyURI (the gml:fileName property has been
deprecated). This means that the external file may be located remotely from the referencing
GML instance. The gml:compression property points to a definition of a compression algorithm
through an anyURI. This may be a retrievable, computable definition or simply a reference to
an unambiguous name for the compression method. The gml:mimeType property points to a
definition of the file mime type. The gml:fileStructure property is defined by a codelist.
Note further that all values shall be enclosed in a single file. Multi-file structures for
values are not supported in GML. The semantics of the range set is described as above using
the gml:rangeParameters property. Note that if any compression algorithm is applied, the
structure above applies only to the pre-compression or post-decompression structure of the
file. Note that the fields within a record match the gml:valueComponents of the
gml:CompositeValue in document order.
deprecated
The gml:coverageFunction property describes the mapping function from the
domain to the range of the coverage. The value of the CoverageFunction is one of
gml:CoverageMappingRule and gml:GridFunction. If the gml:coverageFunction property is
omitted for a gridded coverage (including rectified gridded coverages) the gml:startPoint is
assumed to be the value of the gml:low property in the gml:Grid geometry, and the
gml:sequenceRule is assumed to be linear and the gml:axisOrder property is assumed to be "+1
+2".
gml:CoverageMappingRule provides a formal or informal description of the
coverage function. The mapping rule may be defined as an in-line string (gml:ruleDefinition)
or via a remote reference through xlink:href (gml:ruleReference). If no rule name is
specified, the default is 'Linear' with respect to members of the domain in document
order.
gml:GridFunction provides an explicit mapping rule for grid geometries, i.e.
the domain shall be a geometry of type grid. It describes the mapping of grid posts
(discrete point grid coverage) or grid cells (discrete surface coverage) to the values in
the range set. The gml:startPoint is the index position of a point in the grid that is
mapped to the first point in the range set (this is also the index position of the first
grid post). If the gml:startPoint property is omitted the gml:startPoint is assumed to be
equal to the value of gml:low in the gml:Grid geometry. Subsequent points in the mapping are
determined by the value of the gml:sequenceRule.
The gml:SequenceRuleType is derived from the gml:SequenceRuleEnumeration
through the addition of an axisOrder attribute. The gml:SequenceRuleEnumeration is an
enumerated type. The rule names are defined in ISO 19123. If no rule name is specified the
default is "Linear".
deprecated
The different values in a gml:AxisDirectionList indicate the incrementation
order to be used on all axes of the grid. Each axis shall be mentioned once and only
once.
The value of a gml:AxisDirection indicates the incrementation order to be used
on an axis of the grid.
In a gml:MultiPointCoverage the domain set is a gml:MultiPoint, that is a
collection of arbitrarily distributed geometric points. The content model is identical with
gml:DiscreteCoverageType, but that gml:domainSet shall have values gml:MultiPoint. In a
gml:MultiPointCoverage the mapping from the domain to the range is straightforward. - For
gml:DataBlock encodings the points of the gml:MultiPoint are mapped in document order to the
tuples of the data block. - For gml:CompositeValue encodings the points of the
gml:MultiPoint are mapped to the members of the composite value in document order. - For
gml:File encodings the points of the gml:MultiPoint are mapped to the records of the file in
sequential order.
In a gml:MultiCurveCoverage the domain is partioned into a collection of curves
comprising a gml:MultiCurve. The coverage function then maps each curve in the collection to
a value in the range set. The content model is identical with gml:DiscreteCoverageType, but
that gml:domainSet shall have values gml:MultiCurve. In a gml:MultiCurveCoverage the mapping
from the domain to the range is straightforward. - For gml:DataBlock encodings the curves of
the gml:MultiCurve are mapped in document order to the tuples of the data block. - For
gml:CompositeValue encodings the curves of the gml:MultiCurve are mapped to the members of
the composite value in document order. - For gml:File encodings the curves of the
gml:MultiCurve are mapped to the records of the file in sequential order.
In a gml:MultiSurfaceCoverage the domain is partioned into a collection of
surfaces comprising a gml:MultiSurface. The coverage function than maps each surface in the
collection to a value in the range set. The content model is identical with
gml:DiscreteCoverageType, but that gml:domainSet shall have values gml:MultiSurface. In a
gml:MultiSurfaceCoverage the mapping from the domain to the range is straightforward. - For
gml:DataBlock encodings the surfaces of the gml:MultiSurface are mapped in document order to
the tuples of the data block. - For gml:CompositeValue encodings the surfaces of the
gml:MultiSurface are mapped to the members of the composite value in document order. - For
gml:File encodings the surfaces of the gml:MultiSurface are mapped to the records of the
file in sequential order.
In a gml:MultiSolidCoverage the domain is partioned into a collection of solids
comprising a gml:MultiSolid. The coverage function than maps each solid in the collection to
a value in the range set. The content model is identical with gml:DiscreteCoverageType, but
that gml:domainSet shall have values gml:MultiSolid. In a gml:MultiSolidCoverage the mapping
from the domain to the range is straightforward. - For gml:DataBlock encodings the solids of
the gml:MultiSolid are mapped in document order to the tuples of the data block. - For
gml:CompositeValue encodings the solids of the gml:MultiSolid are mapped to the members of
the composite value in document order. - For gml:File encodings the solids of the
gml:MultiSolid are mapped to the records of the file in sequential order.
A gml:GriddedCoverage is a discrete point coverage in which the domain set is a
geometric grid of points. Note that this is the same as the gml:MultiPointCoverage except
that we have a gml:Grid to describe the domain. The simple gridded coverage is not
geometrically referenced and hence no geometric positions are assignable to the points in
the grid. Such geometric positioning is introduced in the
gml:RectifiedGridCoverage.
The gml:RectifiedGridCoverage is a discrete point coverage based on a rectified
grid. It is similar to the grid coverage except that the points of the grid are
geometrically referenced. The rectified grid coverage has a domain that is a
gml:RectifiedGrid geometry.
gml:CoordinateSystemAxis is a definition of a coordinate system
axis.
The uom attribute provides an identifier of the unit of measure used for
this coordinate system axis. The value of this coordinate in a coordinate tuple shall
be recorded using this unit of measure, whenever those coordinates use a coordinate
reference system that uses a coordinate system that uses this axis.
gml:axisAbbrev is the abbreviation used for this coordinate system axis; this
abbreviation is also used to identify the coordinates in the coordinate tuple. The codeSpace
attribute may reference a source of more information on a set of standardized abbreviations,
or on this abbreviation.
gml:axisDirection is the direction of this coordinate system axis (or in the
case of Cartesian projected coordinates, the direction of this coordinate system axis at the
origin). Within any set of coordinate system axes, only one of each pair of terms may be
used. For earth-fixed CRSs, this direction is often approximate and intended to provide a
human interpretable meaning to the axis. When a geodetic datum is used, the precise
directions of the axes may therefore vary slightly from this approximate direction. The
codeSpace attribute shall reference a source of information specifying the values and
meanings of all the allowed string values for this property.
The gml:minimumValue and gml:maximumValue properties allow the specification of
minimum and maximum value normally allowed for this axis, in the unit of measure for the
axis. For a continuous angular axis such as longitude, the values wrap-around at this value.
Also, values beyond this minimum/maximum can be used for specified purposes, such as in a
bounding box. A value of minus infinity shall be allowed for the gml:minimumValue element, a
value of plus infiniy for the gml:maximumValue element. If these elements are omitted, the
value is unspecified.
The gml:minimumValue and gml:maximumValue properties allow the specification of
minimum and maximum value normally allowed for this axis, in the unit of measure for the
axis. For a continuous angular axis such as longitude, the values wrap-around at this value.
Also, values beyond this minimum/maximum can be used for specified purposes, such as in a
bounding box. A value of minus infinity shall be allowed for the gml:minimumValue element, a
value of plus infiniy for the gml:maximumValue element. If these elements are omitted, the
value is unspecified.
gml:rangeMeaning describes the meaning of axis value range specified by
gml:minimumValue and gml:maximumValue. This element shall be omitted when both
gml:minimumValue and gml:maximumValue are omitted. This element should be included when
gml:minimumValue and/or gml:maximumValue are included. If this element is omitted when the
gml:minimumValue and/or gml:maximumValue are included, the meaning is unspecified. The
codeSpace attribute shall reference a source of information specifying the values and
meanings of all the allowed string values for this property.
gml:CoordinateSystemAxisPropertyType is a property type for association roles
to a coordinate system axis, either referencing or containing the definition of that
axis.
gml:AbstractCoordinateSystem is a coordinate system (CS) is the non-repeating
sequence of coordinate system axes that spans a given coordinate space. A CS is derived from
a set of mathematical rules for specifying how coordinates in a given space are to be
assigned to points. The coordinate values in a coordinate tuple shall be recorded in the
order in which the coordinate system axes associations are recorded. This abstract complex
type shall not be used, extended, or restricted, in an Application Schema, to define a
concrete subtype with a meaning equivalent to a concrete subtype specified in this
document.
The gml:axis property is an association role (ordered sequence) to the
coordinate system axes included in this coordinate system. The coordinate values in a
coordinate tuple shall be recorded in the order in which the coordinate system axes
associations are recorded, whenever those coordinates use a coordinate reference system that
uses this coordinate system. The gml:AggregationAttributeGroup should be used to specify
that the axis objects are ordered.
gml:CoordinateSystemPropertyType is a property type for association roles to a
coordinate system, either referencing or containing the definition of that coordinate
system.
gml:EllipsoidalCS is a two- or three-dimensional coordinate system in which
position is specified by geodetic latitude, geodetic longitude, and (in the
three-dimensional case) ellipsoidal height. An EllipsoidalCS shall have two or three
gml:axis property elements; the number of associations shall equal the dimension of the
CS.
gml:EllipsoidalCSPropertyType is a property type for association roles to an
ellipsoidal coordinate system, either referencing or containing the definition of that
coordinate system.
gml:CartesianCS is a 1-, 2-, or 3-dimensional coordinate system. In the
1-dimensional case, it contains a single straight coordinate axis. In the 2- and
3-dimensional cases gives the position of points relative to orthogonal straight axes. In
the multi-dimensional case, all axes shall have the same length unit of measure. A
CartesianCS shall have one, two, or three gml:axis property elements.
gml:CartesianCSPropertyType is a property type for association roles to a
Cartesian coordinate system, either referencing or containing the definition of that
coordinate system.
gml:VerticalCS is a one-dimensional coordinate system used to record the
heights or depths of points. Such a coordinate system is usually dependent on the Earth's
gravity field, perhaps loosely as when atmospheric pressure is the basis for the vertical
coordinate system axis. A VerticalCS shall have one gml:axis property
element.
gml:VerticalCSPropertyType is a property type for association roles to a
vertical coordinate system, either referencing or containing the definition of that
coordinate system.
gml:TimeCS is a one-dimensional coordinate system containing a time axis, used
to describe the temporal position of a point in the specified time units from a specified
time origin. A TimeCS shall have one gml:axis property element.
gml:TimeCSPropertyType is a property type for association roles to a time
coordinate system, either referencing or containing the definition of that coordinate
system.
gml:LinearCS is a one-dimensional coordinate system that consists of the points
that lie on the single axis described. The associated coordinate is the distance – with or
without offset – from the specified datum to the point along the axis. A LinearCS shall have
one gml:axis property element.
gml:LinearCSPropertyType is a property type for association roles to a linear
coordinate system, either referencing or containing the definition of that coordinate
system.
gml:UserDefinedCS is a two- or three-dimensional coordinate system that
consists of any combination of coordinate axes not covered by any other coordinate system
type. A UserDefinedCS shall have two or three gml:axis property elements; the number of
property elements shall equal the dimension of the CS.
gml:UserDefinedCSPropertyType is a property type for association roles to a
user-defined coordinate system, either referencing or containing the definition of that
coordinate system.
gml:SphericalCS is a three-dimensional coordinate system with one distance
measured from the origin and two angular coordinates. A SphericalCS shall have three
gml:axis property elements.
gml:SphericalCSPropertyType is property type for association roles to a
spherical coordinate system, either referencing or containing the definition of that
coordinate system.
gml:PolarCS ia s two-dimensional coordinate system in which position is
specified by the distance from the origin and the angle between the line from the origin to
a point and a reference direction. A PolarCS shall have two gml:axis property
elements.
gml:PolarCSPropertyType is a property type for association roles to a polar
coordinate system, either referencing or containing the definition of that coordinate
system.
gml:CylindricalCS is a three-dimensional coordinate system consisting of a
polar coordinate system extended by a straight coordinate axis perpendicular to the plane
spanned by the polar coordinate system. A CylindricalCS shall have three gml:axis property
elements.
gml:CylindricalCSPropertyType is a property type for association roles to a
cylindrical coordinate system, either referencing or containing the definition of that
coordinate system.
gml:AffineCS is a two- or three-dimensional coordinate system with straight
axes that are not necessarily orthogonal. An AffineCS shall have two or three gml:axis
property elements; the number of property elements shall equal the dimension of the
CS.
gml:AffineCSPropertyType is a property type for association roles to an affine
coordinate system, either referencing or containing the definition of that coordinate
system.
A gml:AbstractDatum specifies the relationship of a coordinate system to the
earth, thus creating a coordinate reference system. A datum uses a parameter or set of
parameters that determine the location of the origin of the coordinate reference system.
Each datum subtype may be associated with only specific types of coordinate systems. This
abstract complex type shall not be used, extended, or restricted, in a GML Application
Schema, to define a concrete subtype with a meaning equivalent to a concrete subtype
specified in this document.
gml:anchorDefinition is a description, possibly including coordinates, of the
definition used to anchor the datum to the Earth. Also known as the "origin", especially for
engineering and image datums. The codeSpace attribute may be used to reference a source of
more detailed on this point or surface, or on a set of such descriptions. - For a geodetic
datum, this point is also known as the fundamental point, which is traditionally the point
where the relationship between geoid and ellipsoid is defined. In some cases, the
"fundamental point" may consist of a number of points. In those cases, the parameters
defining the geoid/ellipsoid relationship have been averaged for these points, and the
averages adopted as the datum definition. - For an engineering datum, the anchor definition
may be a physical point, or it may be a point with defined coordinates in another CRS.may -
For an image datum, the anchor definition is usually either the centre of the image or the
corner of the image. - For a temporal datum, this attribute is not defined. Instead of the
anchor definition, a temporal datum carries a separate time origin of type
DateTime.
gml:realizationEpoch is the time after which this datum definition is valid.
See ISO 19111 Table 32 for details.
gml:DatumPropertyType is a property type for association roles to a datum,
either referencing or containing the definition of that datum.
gml:GeodeticDatum is a geodetic datum defines the precise location and
orientation in 3-dimensional space of a defined ellipsoid (or sphere), or of a Cartesian
coordinate system centered in this ellipsoid (or sphere).
gml:primeMeridian is an association role to the prime meridian used by this
geodetic datum.
gml:ellipsoid is an association role to the ellipsoid used by this geodetic
datum.
gml:GeodeticDatumPropertyType is a property type for association roles to a
geodetic datum, either referencing or containing the definition of that
datum.
A gml:Ellipsoid is a geometric figure that may be used to describe the
approximate shape of the earth. In mathematical terms, it is a surface formed by the
rotation of an ellipse about its minor axis.
gml:semiMajorAxis specifies the length of the semi-major axis of the ellipsoid,
with its units. Uses the MeasureType with the restriction that the unit of measure
referenced by uom must be suitable for a length, such as metres or feet.
gml:secondDefiningParameter is a property containing the definition of the
second parameter that defines the shape of an ellipsoid. An ellipsoid requires two defining
parameters: semi-major axis and inverse flattening or semi-major axis and semi-minor axis.
When the reference body is a sphere rather than an ellipsoid, only a single defining
parameter is required, namely the radius of the sphere; in that case, the semi-major axis
"degenerates" into the radius of the sphere. The inverseFlattening element contains the
inverse flattening value of the ellipsoid. This value is a scale factor (or ratio). It uses
gml:LengthType with the restriction that the unit of measure referenced by the uom attribute
must be suitable for a scale factor, such as percent, permil, or parts-per-million. The
semiMinorAxis element contains the length of the semi-minor axis of the ellipsoid. When the
isSphere element is included, the ellipsoid is degenerate and is actually a sphere. The
sphere is completely defined by the semi-major axis, which is the radius of the
sphere.
gml:EllipsoidPropertyType is a property type for association roles to an
ellipsoid, either referencing or containing the definition of that
ellipsoid.
A gml:PrimeMeridian defines the origin from which longitude values are
determined. The default value for the prime meridian gml:identifier value is
"Greenwich".
gml:greenwichLongitude is the longitude of the prime meridian measured from the
Greenwich meridian, positive eastward. If the value of the prime meridian "name" is
"Greenwich" then the value of greenwichLongitude shall be 0 degrees.
gml:PrimeMeridianPropertyType is a property type for association roles to a
prime meridian, either referencing or containing the definition of that
meridian.
gml:EngineeringDatum defines the origin of an engineering coordinate reference
system, and is used in a region around that origin. This origin may be fixed with respect to
the earth (such as a defined point at a construction site), or be a defined point on a
moving vehicle (such as on a ship or satellite).
gml:EngineeringDatumPropertyType is a property type for association roles to an
engineering datum, either referencing or containing the definition of that
datum.
gml:ImageDatum defines the origin of an image coordinate reference system, and
is used in a local context only. For an image datum, the anchor definition is usually either
the centre of the image or the corner of the image. For more information, see ISO 19111
B.3.5.
gml:pixelInCell is a specification of the way an image grid is associated with
the image data attributes. The required codeSpace attribute shall reference a source of
information specifying the values and meanings of all the allowed string values for this
property.
gml:ImageDatumPropertyType is a property type for association roles to an image
datum, either referencing or containing the definition of that datum.
gml:VerticalDatum is a textual description and/or a set of parameters
identifying a particular reference level surface used as a zero-height surface, including
its position with respect to the Earth for any of the height types recognized by this
International Standard.
gml:VerticalDatumPropertyType is property type for association roles to a
vertical datum, either referencing or containing the definition of that
datum.
A gml:TemporalDatum defines the origin of a Temporal Reference System. This
type omits the "anchorDefinition" and "realizationEpoch" elements and adds the "origin"
element with the dateTime type.
The TemporalDatumBaseType partially defines the origin of a temporal coordinate
reference system. This type restricts the AbstractDatumType to remove the "anchorDefinition"
and "realizationEpoch" elements.
gml:origin is the date and time origin of this temporal datum.
gml:TemporalDatumPropertyType is a property type for association roles to a
temporal datum, either referencing or containing the definition of that
datum.
gml:IdentifiedObjectType provides identification properties of a CRS-related
object. In gml:DefinitionType, the gml:identifier element shall be the primary name by which
this object is identified, encoding the "name" attribute in the UML model. Zero or more of
the gml:name elements can be an unordered set of "identifiers", encoding the "identifier"
attribute in the UML model. Each of these gml:name elements can reference elsewhere the
object's defining information or be an identifier by which this object can be referenced.
Zero or more other gml:name elements can be an unordered set of "alias" alternative names by
which this CRS related object is identified, encoding the "alias" attributes in the UML
model. An object may have several aliases, typically used in different contexts. The context
for an alias is indicated by the value of its (optional) codeSpace attribute. Any needed
version information shall be included in the codeSpace attribute of a gml:identifier and
gml:name elements. In this use, the gml:remarks element in the gml:DefinitionType shall
contain comments on or information about this object, including data source
information.
gml:AbstractCRS specifies a coordinate reference system which is usually single
but may be compound. This abstract complex type shall not be used, extended, or restricted,
in a GML Application Schema, to define a concrete subtype with a meaning equivalent to a
concrete subtype specified in this document.
The gml:domainOfValidity property implements an association role to an
EX_Extent object as encoded in ISO/TS 19139, either referencing or containing the definition
of that extent.
The gml:scope property provides a description of the usage, or limitations of
usage, for which this CRS-related object is valid. If unknown, enter "not
known".
gml:CRSPropertyType is a property type for association roles to a CRS abstract
coordinate reference system, either referencing or containing the definition of that
CRS.
gml:AbstractCoordinateOperation is a mathematical operation on coordinates that
transforms or converts coordinates to another coordinate reference system. Many but not all
coordinate operations (from CRS A to CRS B) also uniquely define the inverse operation (from
CRS B to CRS A). In some cases, the operation method algorithm for the inverse operation is
the same as for the forward algorithm, but the signs of some operation parameter values
shall be reversed. In other cases, different algorithms are required for the forward and
inverse operations, but the same operation parameter values are used. If (some) entirely
different parameter values are needed, a different coordinate operation shall be defined.
The optional coordinateOperationAccuracy property elements provide estimates of the impact
of this coordinate operation on point position accuracy.
gml:operationVersion is the version of the coordinate transformation (i.e.,
instantiation due to the stochastic nature of the parameters). Mandatory when describing a
transformation, and should not be supplied for a conversion.
gml:coordinateOperationAccuracy is an association role to a
DQ_PositionalAccuracy object as encoded in ISO/TS 19139, either referencing or containing
the definition of that positional accuracy. That object contains an estimate of the impact
of this coordinate operation on point accuracy. That is, it gives position error estimates
for the target coordinates of this coordinate operation, assuming no errors in the source
coordinates.
gml:sourceCRS is an association role to the source CRS (coordinate reference
system) of this coordinate operation.
gml:targetCRS is an association role to the target CRS (coordinate reference
system) of this coordinate operation.
gml:CoordinateOperationPropertyType is a property type for association roles to
a coordinate operation, either referencing or containing the definition of that coordinate
operation.
gml:AbstractSingleOperation is a single (not concatenated) coordinate
operation.
gml:SingleOperationPropertyType is a property type for association roles to a
single operation, either referencing or containing the definition of that single
operation.
gm:AbstractGeneralConversion is an abstract operation on coordinates that does
not include any change of datum. The best-known example of a coordinate conversion is a map
projection. The parameters describing coordinate conversions are defined rather than
empirically derived. Note that some conversions have no parameters. The operationVersion,
sourceCRS, and targetCRS elements are omitted in a coordinate conversion. This abstract
complex type is expected to be extended for well-known operation methods with many
Conversion instances, in GML Application Schemas that define operation-method-specialized
element names and contents. This conversion uses an operation method, usually with
associated parameter values. However, operation methods and parameter values are directly
associated with concrete subtypes, not with this abstract type. All concrete types derived
from this type shall extend this type to include a "usesMethod" element that references the
"OperationMethod" element. Similarly, all concrete types derived from this type shall extend
this type to include zero or more elements each named "uses...Value" that each use the type
of an element substitutable for the "AbstractGeneralParameterValue" element.
gml:GeneralConversionPropertyType is a property type for association roles to a
general conversion, either referencing or containing the definition of that
conversion.
gml:AbstractGeneralTransformation is an abstract operation on coordinates that
usually includes a change of Datum. The parameters of a coordinate transformation are
empirically derived from data containing the coordinates of a series of points in both
coordinate reference systems. This computational process is usually "over-determined",
allowing derivation of error (or accuracy) estimates for the transformation. Also, the
stochastic nature of the parameters may result in multiple (different) versions of the same
coordinate transformation. The operationVersion, sourceCRS, and targetCRS proeprty elements
are mandatory in a coordinate transformation. This abstract complex type is expected to be
extended for well-known operation methods with many Transformation instances, in Application
Schemas that define operation-method-specialized value element names and contents. This
transformation uses an operation method with associated parameter values. However, operation
methods and parameter values are directly associated with concrete subtypes, not with this
abstract type. All concrete types derived from this type shall extend this type to include a
"usesMethod" element that references one "OperationMethod" element. Similarly, all concrete
types derived from this type shall extend this type to include one or more elements each
named "uses...Value" that each use the type of an element substitutable for the
"AbstractGeneralParameterValue" element.
gml:GeneralTransformationPropertyType is a property type for association roles
to a general transformation, either referencing or containing the definition of that
transformation.
gml:ConcatenatedOperation is an ordered sequence of two or more coordinate
operations. This sequence of operations is constrained by the requirement that the source
coordinate reference system of step (n+1) must be the same as the target coordinate
reference system of step (n). The source coordinate reference system of the first step and
the target coordinate reference system of the last step are the source and target coordinate
reference system associated with the concatenated operation. Instead of a forward operation,
an inverse operation may be used for one or more of the operation steps mentioned above, if
the inverse operation is uniquely defined by the forward operation. The gml:coordOperation
property elements are an ordered sequence of associations to the two or more operations used
by this concatenated operation. The AggregationAttributeGroup should be used to specify that
the coordOperation associations are ordered.
gml:coordOperation is an association role to a coordinate
operation.
gml:ConcatenatedOperationPropertyType is a property type for association roles
to a concatenated operation, either referencing or containing the definition of that
concatenated operation.
gml:PassThroughOperation is a pass-through operation specifies that a subset of
a coordinate tuple is subject to a specific coordinate operation. The modifiedCoordinate
property elements are an ordered sequence of positive integers defining the positions in a
coordinate tuple of the coordinates affected by this pass-through operation. The
AggregationAttributeGroup should be used to specify that the modifiedCoordinate elements are
ordered.
gml:modifiedCoordinate is a positive integer defining a position in a
coordinate tuple.
gml:PassThroughOperationPropertyType is a property type for association roles
to a pass through operation, either referencing or containing the definition of that pass
through operation.
gml:Conversion is a concrete operation on coordinates that does not include any
change of Datum. The best-known example of a coordinate conversion is a map projection. The
parameters describing coordinate conversions are defined rather than empirically derived.
Note that some conversions have no parameters. This concrete complex type can be used
without using a GML Application Schema that defines operation-method-specialized element
names and contents, especially for methods with only one Conversion instance. The usesValue
property elements are an unordered list of composition associations to the set of parameter
values used by this conversion operation.
gml:method is an association role to the operation method used by a coordinate
operation.
gml:parameterValue is a composition association to a parameter value or group
of parameter values used by a coordinate operation.
gml:ConversionPropertyType is a property type for association roles to a
concrete general-purpose conversion, either referencing or containing the definition of that
conversion.
gml:Transformation is a concrete object element derived from
gml:GeneralTransformation (13.6.2.13). This concrete object can be used for all operation
methods, without using a GML Application Schema that defines operation-method-specialized
element names and contents, especially for methods with only one Transformation instance.
The parameterValue elements are an unordered list of composition associations to the set of
parameter values used by this conversion operation.
gml:TransformationPropertyType is a property type for association roles to a
transformation, either referencing or containing the definition of that
transformation.
gml:AbstractGeneralParameterValue is an abstract parameter value or group of
parameter values. This abstract complexType is expected to be extended and restricted for
well-known operation methods with many instances, in Application Schemas that define
operation-method-specialized element names and contents. Specific parameter value elements
are directly contained in concrete subtypes, not in this abstract type. All concrete types
derived from this type shall extend this type to include one "...Value" element with an
appropriate type, which should be one of the element types allowed in the
ParameterValueType. In addition, all derived concrete types shall extend this type to
include a "operationParameter" property element that references one element substitutable
for the "OperationParameter" object element.
gml:AbstractGeneralParameterValuePropertyType is a property type for inline
association roles to a parameter value or group of parameter values, always containing the
values.
gml:ParameterValue is a parameter value, an ordered sequence of values, or a
reference to a file of parameter values. This concrete complex type may be used for
operation methods without using an Application Schema that defines
operation-method-specialized element names and contents, especially for methods with only
one instance. This complex type may be used, extended, or restricted for well-known
operation methods, especially for methods with many instances.
gml:value is a numeric value of an operation parameter, with its associated
unit of measure.
gml:stringValue is a character string value of an operation parameter. A string
value does not have an associated unit of measure.
gml:integerValue is a positive integer value of an operation parameter, usually
used for a count. An integer value does not have an associated unit of
measure.
gml:booleanValue is a boolean value of an operation parameter. A Boolean value
does not have an associated unit of measure.
gml:valueList is an ordered sequence of two or more numeric values of an
operation parameter list, where each value has the same associated unit of measure. An
element of this type contains a space-separated sequence of double values.
gml:integerValueList is an ordered sequence of two or more integer values of an
operation parameter list, usually used for counts. These integer values do not have an
associated unit of measure. An element of this type contains a space-separated sequence of
integer values.
gml:valueFile is a reference to a file or a part of a file containing one or
more parameter values, each numeric value with its associated unit of measure. When
referencing a part of a file, that file shall contain multiple identified parts, such as an
XML encoded document. Furthermore, the referenced file or part of a file may reference
another part of the same or different files, as allowed in XML documents.
gml:operationParameter is an association role to the operation parameter of
which this is a value.
gml:ParameterValueGroup is a group of related parameter values. The same group
can be repeated more than once in a Conversion, Transformation, or higher level
ParameterValueGroup, if those instances contain different values of one or more
parameterValues which suitably distinquish among those groups. This concrete complex type
can be used for operation methods without using an Application Schema that defines
operation-method-specialized element names and contents. This complex type may be used,
extended, or restricted for well-known operation methods, especially for methods with only
one instance. The parameterValue elements are an unordered set of composition association
roles to the parameter values and groups of values included in this group.
gml:group is an association role to the operation parameter group for which
this element provides parameter values.
gml:OperationMethod is a method (algorithm or procedure) used to perform a
coordinate operation. Most operation methods use a number of operation parameters, although
some coordinate conversions use none. Each coordinate operation using the method assigns
values to these parameters. The parameter elements are an unordered list of associations to
the set of operation parameters and parameter groups used by this operation
method.
gml:formulaCitation provides a reference to a publication giving the formula(s)
or procedure used by an coordinate operation method.
gml:formula Formula(s) or procedure used by an operation method. The use of the
codespace attribite has been deprecated. The property value shall be a character
string.
gml:sourceDimensions is the number of dimensions in the source CRS of this
operation method.
gml:targetDimensions is the number of dimensions in the target CRS of this
operation method.
gml:parameter is an association to an operation parameter or parameter
group.
gml:OperationMethodPropertyType is a property type for association roles to a
concrete general-purpose operation method, either referencing or containing the definition
of that method.
gml:GeneralOperationParameter is the abstract definition of a parameter or
group of parameters used by an operation method.
gml:minimumOccurs is the minimum number of times that values for this parameter
group or parameter are required. If this attribute is omitted, the minimum number shall be
one.
gml:AbstractGeneralOperationParameterPropertyType is a property type for
association roles to an operation parameter or group, either referencing or containing the
definition of that parameter or group.
gml:OperationParameter is the definition of a parameter used by an operation
method. Most parameter values are numeric, but other types of parameter values are possible.
This complex type is expected to be used or extended for all operation methods, without
defining operation-method-specialized element names.
gml:OperationParameterPropertyType is a property type for association roles to
an operation parameter, either referencing or containing the definition of that
parameter.
gml:OperationParameterGroup is the definition of a group of parameters used by
an operation method. This complex type is expected to be used or extended for all applicable
operation methods, without defining operation-method-specialized element names. The
generalOperationParameter elements are an unordered list of associations to the set of
operation parameters that are members of this group.
gml:maximumOccurs is the maximum number of times that values for this parameter
group may be included. If this attribute is omitted, the maximum number shall be
one.
gml:OperationParameterPropertyType is a property type for association roles to
an operation parameter group, either referencing or containing the definition of that
parameter group.
gml:AbstractSingleCRS implements a coordinate reference system consisting of
one coordinate system and one datum (as opposed to a Compound CRS).
gml:SingleCRSPropertyType is a property type for association roles to a single
coordinate reference system, either referencing or containing the definition of that
coordinate reference system.
gml:AbstractGeneralDerivedCRS is a coordinate reference system that is defined
by its coordinate conversion from another coordinate reference system. This abstract complex
type shall not be used, extended, or restricted, in a GML Application Schema, to define a
concrete subtype with a meaning equivalent to a concrete subtype specified in this
document.
gml:conversion is an association role to the coordinate conversion used to
define the derived CRS.
gml:CompundCRS is a coordinate reference system describing the position of
points through two or more independent coordinate reference systems. It is associated with a
non-repeating sequence of two or more instances of SingleCRS.
The gml:componentReferenceSystem elements are an ordered sequence of
associations to all the component coordinate reference systems included in this compound
coordinate reference system. The gml:AggregationAttributeGroup should be used to specify
that the gml:componentReferenceSystem properties are ordered.
gml:CompoundCRSPropertyType is a property type for association roles to a
compound coordinate reference system, either referencing or containing the definition of
that reference system.
gml:GeodeticCRS is a coordinate reference system based on a geodetic
datum.
gml:ellipsoidalCS is an association role to the ellipsoidal coordinate system
used by this CRS.
gml:cartesianCS is an association role to the Cartesian coordinate system used
by this CRS.
gml:sphericalCS is an association role to the spherical coordinate system used
by this CRS.
gml:geodeticDatum is an association role to the geodetic datum used by this
CRS.
gml:GeodeticCRSPropertyType is a property type for association roles to a
geodetic coordinate reference system, either referencing or containing the definition of
that reference system.
gml:VerticalCRS is a 1D coordinate reference system used for recording heights
or depths. Vertical CRSs make use of the direction of gravity to define the concept of
height or depth, but the relationship with gravity may not be straightforward. By
implication, ellipsoidal heights (h) cannot be captured in a vertical coordinate reference
system. Ellipsoidal heights cannot exist independently, but only as an inseparable part of a
3D coordinate tuple defined in a geographic 3D coordinate reference system.
gml:verticalCS is an association role to the vertical coordinate system used by
this CRS.
gml:verticalDatum is an association role to the vertical datum used by this
CRS.
gml:VerticalCRSPropertyType is a property type for association roles to a
vertical coordinate reference system, either referencing or containing the definition of
that reference system.
gml:ProjectedCRS is a 2D coordinate reference system used to approximate the
shape of the earth on a planar surface, but in such a way that the distortion that is
inherent to the approximation is carefully controlled and known. Distortion correction is
commonly applied to calculated bearings and distances to produce values that are a close
match to actual field values.
gml:baseGeodeticCRS is an association role to the geodetic coordinate reference
system used by this projected CRS.
gml:ProjectedCRSPropertyType is a property type for association roles to a
projected coordinate reference system, either referencing or containing the definition of
that reference system.
gml:DerivedCRS is a single coordinate reference system that is defined by its
coordinate conversion from another single coordinate reference system known as the base CRS.
The base CRS can be a projected coordinate reference system, if this DerivedCRS is used for
a georectified grid coverage as described in ISO 19123, Clause 8.
gml:baseCRS is an association role to the coordinate reference system used by
this derived CRS.
The gml:derivedCRSType property describes the type of a derived coordinate
reference system. The required codeSpace attribute shall reference a source of information
specifying the values and meanings of all the allowed string values for this
property.
An association role to the coordinate system used by this CRS.
gml:DerivedCRSPropertyType is a property type for association roles to a
non-projected derived coordinate reference system, either referencing or containing the
definition of that reference system.
gml:EngineeringCRS is a contextually local coordinate reference system which
can be divided into two broad categories: - earth-fixed systems applied to engineering
activities on or near the surface of the earth; - CRSs on moving platforms such as road
vehicles, vessels, aircraft, or spacecraft, see ISO 19111 8.3.
deprecated
gml:cylindricalCS is an association role to the cylindrical coordinate system
used by this CRS.
gml:linearCS is an association role to the linear coordinate system used by
this CRS.
gml:polarCS is an association role to the polar coordinate system used by this
CRS.
gml:userDefinedCS is an association role to the user defined coordinate system
used by this CRS.
gml:engineeringDatum is an association role to the engineering datum used by
this CRS.
gml:EngineeringCRSPropertyType is a property type for association roles to an
engineering coordinate reference system, either referencing or containing the definition of
that reference system.
gml:ImageCRS is an engineering coordinate reference system applied to locations
in images. Image coordinate reference systems are treated as a separate sub-type because the
definition of the associated image datum contains two attributes not relevant to other
engineering datums.
gml:affineCS is an association role to the affine coordinate system used by
this CRS.
gml:imageDatum is an association role to the image datum used by this
CRS.
gml:ImageCRSPropertyType is a property type for association roles to an image
coordinate reference system, either referencing or containing the definition of that
reference system.
gml:TemporalCRS is a 1D coordinate reference system used for the recording of
time.
gml:timeCS is an association role to the time coordinate system used by this
CRS.
gml:temporalDatum is an association role to the temporal datum used by this
CRS.
gml:TemporalCRSPropertyType is a property type for association roles to a
temporal coordinate reference system, either referencing or containing the definition of
that reference system.
gml:AbstractSurfaceType is an abstraction of a surface to support the different
levels of complexity. A surface is always a continuous region of a plane.
The AbstractSurface element is the abstract head of the substitution group for
all (continuous) surface elements.
A property that has a surface as its value domain may either be an appropriate
geometry element encapsulated in an element of this type or an XLink reference to a remote
geometry element (where remote includes geometry elements located elsewhere in the same
document). Either the reference or the contained element shall be given, but neither both
nor none.
This property element either references a surface via the XLink-attributes or
contains the surface element. surfaceProperty is the predefined property which may be used
by GML Application Schemas whenever a GML feature has a property with a value that is
substitutable for AbstractSurface.
gml:SurfaceArrayPropertyType is a container for an array of surfaces. The
elements are always contained in the array property, referencing geometry elements or arrays
of geometry elements via XLinks is not supported.
A Polygon is a special surface that is defined by a single surface patch (see
D.3.6). The boundary of this patch is coplanar and the polygon uses planar interpolation in
its interior. The elements exterior and interior describe the surface boundary of the
polygon.
A boundary of a surface consists of a number of rings. In the normal 2D case,
one of these rings is distinguished as being the exterior boundary. In a general manifold
this is not always possible, in which case all boundaries shall be listed as interior
boundaries, and the exterior will be empty.
A boundary of a surface consists of a number of rings. The "interior" rings
separate the surface / surface patch from the area enclosed by the rings.
An abstraction of a ring to support surface boundaries of different complexity.
The AbstractRing element is the abstract head of the substituition group for all closed
boundaries of a surface patch.
A property with the content model of gml:AbstractRingPropertyType encapsulates
a ring to represent the surface boundary property of a surface.
A LinearRing is defined by four or more coordinate tuples, with linear
interpolation between them; the first and last coordinates shall be coincident. The number
of direct positions in the list shall be at least four.
A property with the content model of gml:LinearRingPropertyType encapsulates a
linear ring to represent a component of a surface boundary.
A curve is a 1-dimensional primitive. Curves are continuous, connected, and
have a measurable length in terms of the coordinate system. A curve is composed of one or
more curve segments. Each curve segment within a curve may be defined using a different
interpolation method. The curve segments are connected to one another, with the end point of
each segment except the last being the start point of the next segment in the segment list.
The orientation of the curve is positive. The element segments encapsulates the segments of
the curve.
The property baseCurve references or contains the base curve, i.e. it either
references the base curve via the XLink-attributes or contains the curve element. A curve
element is any element which is substitutable for AbstractCurve. The base curve has positive
orientation.
OrientableCurve consists of a curve and an orientation. If the orientation is
"+", then the OrientableCurve is identical to the baseCurve. If the orientation is "-", then
the OrientableCurve is related to another AbstractCurve with a parameterization that
reverses the sense of the curve traversal.
A curve segment defines a homogeneous segment of a curve. The attributes
numDerivativesAtStart, numDerivativesAtEnd and numDerivativesInterior specify the type of
continuity as specified in ISO 19107:2003, 6.4.9.3. The AbstractCurveSegment element is the
abstract head of the substituition group for all curve segment elements, i.e. continuous
segments of the same interpolation mechanism. All curve segments shall have an attribute
interpolation with type gml:CurveInterpolationType specifying the curve interpolation
mechanism used for this segment. This mechanism uses the control points and control
parameters to determine the position of this curve segment.
gml:CurveSegmentArrayPropertyType is a container for an array of curve
segments.
This property element contains a list of curve segments. The order of the
elements is significant and shall be preserved when processing the array.
gml:CurveInterpolationType is a list of codes that may be used to identify the
interpolation mechanisms specified by an application schema.
A LineStringSegment is a curve segment that is defined by two or more control
points including the start and end point, with linear interpolation between them. The
content model follows the general pattern for the encoding of curve
segments.
An ArcString is a curve segment that uses three-point circular arc
interpolation ("circularArc3Points"). The number of arcs in the arc string may be explicitly
stated in the attribute numArc. The number of control points in the arc string shall be 2 *
numArc + 1. The content model follows the general pattern for the encoding of curve
segments.
An Arc is an arc string with only one arc unit, i.e. three control points
including the start and end point. As arc is an arc string consisting of a single arc, the
attribute "numArc" is fixed to "1".
A Circle is an arc whose ends coincide to form a simple closed loop. The three
control points shall be distinct non-co-linear points for the circle to be unambiguously
defined. The arc is simply extended past the third control point until the first control
point is encountered.
This variant of the arc computes the mid points of the arcs instead of storing
the coordinates directly. The control point sequence consists of the start and end points of
each arc plus the bulge (see ISO 19107:2003, 6.4.17.2). The normal is a vector normal
(perpendicular) to the chord of the arc (see ISO 19107:2003, 6.4.17.4). The interpolation is
fixed as "circularArc2PointWithBulge". The number of arcs in the arc string may be
explicitly stated in the attribute numArc. The number of control points in the arc string
shall be numArc + 1. The content model follows the general pattern for the encoding of curve
segments.
An ArcByBulge is an arc string with only one arc unit, i.e. two control points,
one bulge and one normal vector. As arc is an arc string consisting of a single arc, the
attribute "numArc" is fixed to "1".
This variant of the arc requires that the points on the arc shall be computed
instead of storing the coordinates directly. The single control point is the center point of
the arc plus the radius and the bearing at start and end. This representation can be used
only in 2D. The element radius specifies the radius of the arc. The element startAngle
specifies the bearing of the arc at the start. The element endAngle specifies the bearing of
the arc at the end. The interpolation is fixed as "circularArcCenterPointWithRadius". Since
this type describes always a single arc, the attribute "numArc" is fixed to "1". The content
model follows the general pattern for the encoding of curve segments.
A gml:CircleByCenterPoint is an gml:ArcByCenterPoint with identical start and
end angle to form a full circle. Again, this representation can be used only in
2D.
The number of control points shall be at least three. vectorAtStart is the unit
tangent vector at the start point of the spline. vectorAtEnd is the unit tangent vector at
the end point of the spline. Only the direction of the vectors shall be used to determine
the shape of the cubic spline, not their length. interpolation is fixed as "cubicSpline".
degree shall be the degree of the polynomial used for the interpolation in this spline.
Therefore the degree for a cubic spline is fixed to "3". The content model follows the
general pattern for the encoding of curve segments.
A B-Spline is a piecewise parametric polynomial or rational curve described in
terms of control points and basis functions as specified in ISO 19107:2003, 6.4.30.
Therefore, interpolation may be either "polynomialSpline" or "rationalSpline" depending on
the interpolation type; default is "polynomialSpline". degree shall be the degree of the
polynomial used for interpolation in this spline. knot shall be the sequence of distinct
knots used to define the spline basis functions (see ISO 19107:2003, 6.4.26.2). The
attribute isPolynomial shall be set to "true" if this is a polynomial spline (see ISO
19107:2003, 6.4.30.5). The attribute knotType shall provide the type of knot distribution
used in defining this spline (see ISO 19107:2003, 6.4.30.4). The content model follows the
general pattern for the encoding of curve segments.
gml:KnotPropertyType encapsulates a knot to use it in a geometric
type.
A knot is a breakpoint on a piecewise spline curve. value is the value of
the parameter at the knot of the spline (see ISO 19107:2003, 6.4.24.2). multiplicity is
the multiplicity of this knot used in the definition of the spline (with the same
weight). weight is the value of the averaging weight used for this knot of the
spline.
This enumeration type specifies values for the knots' type (see ISO 19107:2003,
6.4.25).
Bezier curves are polynomial splines that use Bezier or Bernstein polynomials
for interpolation purposes. It is a special case of the B-Spline curve with two knots.
degree shall be the degree of the polynomial used for interpolation in this spline. knot
shall be the sequence of distinct knots used to define the spline basis functions.
interpolation is fixed as "polynomialSpline". isPolynomial is fixed as "true". knotType is
not relevant for Bezier curve segments.
An offset curve is a curve at a constant distance from the basis curve.
offsetBase is the base curve from which this curve is defined as an offset. distance and
refDirection have the same meaning as specified in ISO 19107:2003, 6.4.23. The content model
follows the general pattern for the encoding of curve segments.
location, refDirection, inDimension and outDimension have the same meaning as
specified in ISO 19107:2003, 6.4.21.
A clothoid, or Cornu's spiral, is plane curve whose curvature is a fixed
function of its length. refLocation, startParameter, endParameter and scaleFactor have the
same meaning as specified in ISO 19107:2003, 6.4.22. interpolation is fixed as "clothoid".
The content model follows the general pattern for the encoding of curve
segments.
A sequence of geodesic segments. The number of control points shall be at least
two. interpolation is fixed as "geodesic". The content model follows the general pattern for
the encoding of curve segments.
A Surface is a 2-dimensional primitive and is composed of one or more surface
patches as specified in ISO 19107:2003, 6.3.17.1. The surface patches are connected to one
another. patches encapsulates the patches of the surface.
The property baseSurface references or contains the base surface. The property
baseSurface either references the base surface via the XLink-attributes or contains the
surface element. A surface element is any element which is substitutable for
gml:AbstractSurface. The base surface has positive orientation.
OrientableSurface consists of a surface and an orientation. If the orientation
is "+", then the OrientableSurface is identical to the baseSurface. If the orientation is
"-", then the OrientableSurface is a reference to a gml:AbstractSurface with an up-normal
that reverses the direction for this OrientableSurface, the sense of "the top of the
surface".
A surface patch defines a homogenuous portion of a surface. The
AbstractSurfacePatch element is the abstract head of the substituition group for all surface
patch elements describing a continuous portion of a surface. All surface patches shall have
an attribute interpolation (declared in the types derived from gml:AbstractSurfacePatchType)
specifying the interpolation mechanism used for the patch using
gml:SurfaceInterpolationType.
gml:SurfacePatchArrayPropertyType is a container for a sequence of surface
patches.
The patches property element contains the sequence of surface patches. The
order of the elements is significant and shall be preserved when processing the
array.
gml:SurfaceInterpolationType is a list of codes that may be used to identify
the interpolation mechanisms specified by an application schema.
A gml:PolygonPatch is a surface patch that is defined by a set of boundary
curves and an underlying surface to which these curves adhere. The curves shall be coplanar
and the polygon uses planar interpolation in its interior. interpolation is fixed to
"planar", i.e. an interpolation shall return points on a single plane. The boundary of the
patch shall be contained within that plane.
gml:Triangle represents a triangle as a surface patch with an outer boundary
consisting of a linear ring. Note that this is a polygon (subtype) with no inner boundaries.
The number of points in the linear ring shall be four. The ring (element exterior) shall be
a gml:LinearRing and shall form a triangle, the first and the last position shall be
coincident. interpolation is fixed to "planar", i.e. an interpolation shall return points on
a single plane. The boundary of the patch shall be contained within that
plane.
gml:Rectangle represents a rectangle as a surface patch with an outer boundary
consisting of a linear ring. Note that this is a polygon (subtype) with no inner boundaries.
The number of points in the linear ring shall be five. The ring (element exterior) shall be
a gml:LinearRing and shall form a rectangle; the first and the last position shall be
coincident. interpolation is fixed to "planar", i.e. an interpolation shall return points on
a single plane. The boundary of the patch shall be contained within that
plane.
A ring is used to represent a single connected component of a surface boundary
as specified in ISO 19107:2003, 6.3.6. Every gml:curveMember references or contains one
curve, i.e. any element which is substitutable for gml:AbstractCurve. In the context of a
ring, the curves describe the boundary of the surface. The sequence of curves shall be
contiguous and connected in a cycle. If provided, the aggregationType attribute shall have
the value "sequence".
A property with the content model of gml:RingPropertyType encapsulates a ring
to represent a component of a surface boundary.
A gml:PointGrid group contains or references points or positions which are
organised into sequences or grids. All rows shall have the same number of positions
(columns).
The element provides a substitution group head for the surface patches based on
parametric curves. All properties are specified in the derived subtypes. All derived
subtypes shall conform to the constraints specified in ISO 19107:2003, 6.4.40. If provided,
the aggregationType attribute shall have the value "set".
if provided, rows gives the number of rows, columns the number of columns in
the parameter grid. The parameter grid is represented by an instance of the gml:PointGrid
group. The element provides a substitution group head for the surface patches based on a
grid. All derived subtypes shall conform to the constraints specified in ISO 19107:2003,
6.4.41.
A polyhedral surface is a surface composed of polygon patches connected along
their common boundary curves. This differs from the surface type only in the restriction on
the types of surface patches acceptable. polygonPatches encapsulates the polygon patches of
the polyhedral surface.
A triangulated surface is a polyhedral surface that is composed only of
triangles. There is no restriction on how the triangulation is derived. trianglePatches
encapsulates the triangles of the triangulated surface.
A tin is a triangulated surface that uses the Delauny algorithm or a similar
algorithm complemented with consideration of stoplines (stopLines), breaklines (breakLines),
and maximum length of triangle sides (maxLength). controlPoint shall contain a set of the
positions (three or more) used as posts for this TIN (corners of the triangles in the TIN).
See ISO 19107:2003, 6.4.39 for details.
gml:LineStringSegmentArrayPropertyType provides a container for line
strings.
gml:AbstractSolidType is an abstraction of a solid to support the different
levels of complexity. The solid may always be viewed as a geometric primitive, i.e. is
contiguous.
The AbstractSolid element is the abstract head of the substituition group for
all (continuous) solid elements.
A property that has a solid as its value domain may either be an appropriate
geometry element encapsulated in an element of this type or an XLink reference to a remote
geometry element (where remote includes geometry elements located elsewhere in the same
document). Either the reference or the contained element shall be given, but neither both
nor none.
This property element either references a solid via the XLink-attributes or
contains the solid element. solidProperty is the predefined property which may be used by
GML Application Schemas whenever a GML feature has a property with a value that is
substitutable for AbstractSolid.
gml:SolidArrayPropertyType is a container for an array of solids. The elements
are always contained in the array property, referencing geometry elements or arrays of
geometry elements is not supported.
A solid is the basis for 3-dimensional geometry. The extent of a solid is
defined by the boundary surfaces as specified in ISO 19107:2003, 6.3.18. exterior specifies
the outer boundary, interior the inner boundary of the solid.
A shell is used to represent a single connected component of a solid boundary
as specified in ISO 19107:2003, 6.3.8. Every gml:surfaceMember references or contains one
surface, i.e. any element which is substitutable for gml:AbstractSurface. In the context of
a shell, the surfaces describe the boundary of the solid. If provided, the aggregationType
attribute shall have the value "set".
This property element either references a surface via the XLink-attributes or
contains the surface element. A surface element is any element, which is substitutable for
gml:AbstractSurface.
A property with the content model of gml:ShellPropertyType encapsulates a shell
to represent a component of a solid boundary.
gml:AbstractGeometricAggregate is the abstract head of the substitution group
for all geometric aggregates.
gml:MultiGeometry is a collection of one or more GML geometry objects of
arbitrary type. The members of the geometric aggregate may be specified either using the
"standard" property (gml:geometryMember) or the array property (gml:geometryMembers). It is
also valid to use both the "standard" and the array properties in the same
collection.
This property element either references a geometry element via the
XLink-attributes or contains the geometry element.
This property element contains a list of geometry elements. The order of the
elements is significant and shall be preserved when processing the array.
A property that has a geometric aggregate as its value domain may either be an
appropriate geometry element encapsulated in an element of this type or an XLink reference
to a remote geometry element (where remote includes geometry elements located elsewhere in
the same document). Either the reference or the contained element shall be given, but
neither both nor none.
A gml:MultiPoint consists of one or more gml:Points. The members of the
geometric aggregate may be specified either using the "standard" property (gml:pointMember)
or the array property (gml:pointMembers). It is also valid to use both the "standard" and
the array properties in the same collection.
This property element either references a Point via the XLink-attributes or
contains the Point element.
This property element contains a list of points. The order of the elements is
significant and shall be preserved when processing the array.
A property that has a collection of points as its value domain may either be an
appropriate geometry element encapsulated in an element of this type or an XLink reference
to a remote geometry element (where remote includes geometry elements located elsewhere in
the same document). Either the reference or the contained element shall be given, but
neither both nor none.
A gml:MultiCurve is defined by one or more gml:AbstractCurves. The members of
the geometric aggregate may be specified either using the "standard" property
(gml:curveMember) or the array property (gml:curveMembers). It is also valid to use both the
"standard" and the array properties in the same collection.
This property element contains a list of curves. The order of the elements is
significant and shall be preserved when processing the array.
A property that has a collection of curves as its value domain may either be an
appropriate geometry element encapsulated in an element of this type or an XLink reference
to a remote geometry element (where remote includes geometry elements located elsewhere in
the same document). Either the reference or the contained element shall be given, but
neither both nor none.
A gml:MultiSurface is defined by one or more gml:AbstractSurfaces. The members
of the geometric aggregate may be specified either using the "standard" property
(gml:surfaceMember) or the array property (gml:surfaceMembers). It is also valid to use both
the "standard" and the array properties in the same collection.
This property element contains a list of surfaces. The order of the elements is
significant and shall be preserved when processing the array.
A property that has a collection of surfaces as its value domain may either be
an appropriate geometry element encapsulated in an element of this type or an XLink
reference to a remote geometry element (where remote includes geometry elements located
elsewhere in the same document). Either the reference or the contained element shall be
given, but neither both nor none.
A gml:MultiSolid is defined by one or more gml:AbstractSolids. The members of
the geometric aggregate may be specified either using the "standard" property
(gml:solidMember) or the array property (gml:solidMembers). It is also valid to use both the
"standard" and the array properties in the same collection.
This property element either references a solid via the XLink-attributes or
contains the solid element. A solid element is any element, which is substitutable for
gml:AbstractSolid.
This property element contains a list of solids. The order of the elements is
significant and shall be preserved when processing the array.
A property that has a collection of solids as its value domain may either be an
appropriate geometry element encapsulated in an element of this type or an XLink reference
to a remote geometry element (where remote includes geometry elements located elsewhere in
the same document). Either the reference or the contained element shall be given, but
neither both nor none.
The basic feature model is given by the gml:AbstractFeatureType. The content
model for gml:AbstractFeatureType adds two specific properties suitable for geographic
features to the content model defined in gml:AbstractGMLType. The value of the gml:boundedBy
property describes an envelope that encloses the entire feature instance, and is primarily
useful for supporting rapid searching for features that occur in a particular location. The
value of the gml:location property describes the extent, position or relative location of
the feature.
This abstract element serves as the head of a substitution group which may
contain any elements whose content model is derived from gml:AbstractFeatureType. This may
be used as a variable in the construction of content models. gml:AbstractFeature may be
thought of as "anything that is a GML feature" and may be used to define variables or
templates in which the value of a GML property is "any feature". This occurs in particular
in a GML feature collection where the feature member properties contain one or multiple
copies of gml:AbstractFeature respectively.
This property describes the minimum bounding box or rectangle that encloses the
entire feature.
gml:EnvelopeWithTimePeriod is provided for envelopes that include a temporal
extent. It adds two time position properties, gml:beginPosition and gml:endPosition, which
describe the extent of a time-envelope. Since gml:EnvelopeWithTimePeriod is assigned to the
substitution group headed by gml:Envelope, it may be used whenever gml:Envelope is
valid.
The gml:locationName property element is a convenience property where the text
value describes the location of the feature. If the location names are selected from a
controlled list, then the list shall be identified in the codeSpace
attribute.
The gml:locationReference property element is a convenience property where the
text value referenced by the xlink:href attribute describes the location of the
feature.
To create a collection of GML features, a property type shall be derived by
extension from gml:AbstractFeatureMemberType. By default, this abstract property type does
not imply any ownership of the features in the collection. The owns attribute of
gml:OwnershipAttributeGroup may be used on a property element instance to assert ownership
of a feature in the collection. A collection shall not own a feature already owned by
another object.
The property gml:direction is intended as a pre-defined property expressing a
direction to be assigned to features defined in a GML application schema.
Direction vectors are specified by providing components of a
vector.
deprecated
direction descriptions are specified by a compass point code, a keyword, a
textual description or a reference to a description. A gml:compassPoint is specified by a
simple enumeration. In addition, thre elements to contain text-based descriptions of
direction are provided. If the direction is specified using a term from a list, gml:keyword
should be used, and the list indicated using the value of the codeSpace attribute. if the
direction is decribed in prose, gml:direction or gml:reference should be used, allowing the
value to be included inline or by reference.
These directions are necessarily approximate, giving direction with a precision
of 22.5°. It is thus generally unnecessary to specify the reference frame, though this may
be detailed in the definition of a GML application language.
The element gml:unitOfMeasure is a property element to refer to a unit of
measure. This is an empty element which carries a reference to a unit of measure
definition.
A gml:UnitDefinition is a general definition of a unit of measure. This generic
element is used only for units for which no relationship with other units or units systems
is known. The content model of gml:UnitDefinition adds three additional properties to
gml:Definition, gml:quantityType, gml:quantityTypeReference and gml:catalogSymbol. The
gml:catalogSymbol property optionally gives the short symbol used for this unit. This
element is usually used when the relationship of this unit to other units or units systems
is unknown.
The gml:quantityType property indicates the phenomenon to which the units
apply. This element contains an informal description of the phenomenon or type of physical
quantity that is measured or observed. When the physical quantity is the result of an
observation or measurement, this term is known as observable type or measurand. The use of
gml:quantityType for references to remote values is deprecated.
The gml:quantityTypeReference property indicates the phenomenon to which the
units apply. The content is a reference to a remote value.
The catalogSymbol is the preferred lexical symbol used for this unit of
measure. The codeSpace attribute in gml:CodeType identifies a namespace for the catalog
symbol value, and might reference the external catalog. The string value in gml:CodeType
contains the value of a symbol that should be unique within this catalog namespace. This
symbol often appears explicitly in the catalog, but it could be a combination of symbols
using a specified algebra of units.
A base unit is a unit of measure that cannot be derived by combination of other
base units within a particular system of units. For example, in the SI system of units, the
base units are metre, kilogram, second, Ampere, Kelvin, mole, and candela, for the physical
quantity types length, mass, time interval, electric current, thermodynamic temperature,
amount of substance and luminous intensity, respectively. gml:BaseUnit extends generic
gml:UnitDefinition with the property gml:unitsSystem, which carries a reference to the units
system to which this base unit is asserted to belong.
Derived units are defined by combination of other units. Derived units are used
for quantities other than those corresponding to the base units, such as hertz (s-1) for
frequency, Newton (kg.m/s2) for force. Derived units based directly on base units are
usually preferred for quantities other than the fundamental quantities within a system. If a
derived unit is not the preferred unit, the gml:ConventionalUnit element should be used
instead. The gml:DerivedUnit extends gml:UnitDefinition with the property
gml:derivationUnitTerms.
A set of gml:derivationUnitTerm elements describes a derived unit of measure.
Each element carries an integer exponent. The terms are combined by raising each referenced
unit to the power of its exponent and forming the product. This unit term references another
unit of measure (uom) and provides an integer exponent applied to that unit in defining the
compound unit. The exponent may be positive or negative, but not zero.
Conventional units that are neither base units nor defined by direct
combination of base units are used in many application domains. For example electronVolt for
energy, feet and nautical miles for length. In most cases there is a known, usually linear,
conversion to a preferred unit which is either a base unit or derived by direct combination
of base units. The gml:ConventionalUnit extends gml:UnitDefinition with a property that
describes a conversion to a preferred unit for this physical quantity. When the conversion
is exact, the element gml:conversionToPreferredUnit should be used, or when the conversion
is not exact the element gml:roughConversionToPreferredUnit is available. Both of these
elements have the same content model. The gml:derivationUnitTerm property defined above is
included to allow a user to optionally record how this unit may be derived from other ("more
primitive") units.
The elements gml:conversionToPreferredUnit and
gml:roughConversionToPreferredUnit represent parameters used to convert conventional units
to preferred units for this physical quantity type. A preferred unit is either a Base Unit
or a Derived Unit that is selected for all values of one physical quantity
type.
The elements gml:conversionToPreferredUnit and
gml:roughConversionToPreferredUnit represent parameters used to convert conventional units
to preferred units for this physical quantity type. A preferred unit is either a Base Unit
or a Derived Unit that is selected for all values of one physical quantity
type.
The inherited attribute uom references the preferred unit that this conversion
applies to. The conversion of a unit to the preferred unit for this physical quantity type
is specified by an arithmetic conversion (scaling and/or offset). The content model extends
gml:UnitOfMeasureType, which has a mandatory attribute uom which identifies the preferred
unit for the physical quantity type that this conversion applies to. The conversion is
specified by a choice of - gml:factor, which defines the scale factor, or - gml:formula,
which defines a formula by which a value using the conventional unit of measure can be
converted to obtain the corresponding value using the preferred unit of measure. The formula
defines the parameters of a simple formula by which a value using the conventional unit of
measure can be converted to the corresponding value using the preferred unit of measure. The
formula element contains elements a, b, c and d, whose values use the XML Schema type
double. These values are used in the formula y = (a + bx) / (c + dx), where x is a value
using this unit, and y is the corresponding value using the base unit. The elements a and d
are optional, and if values are not provided, those parameters are considered to be zero. If
values are not provided for both a and d, the formula is equivalent to a fraction with
numerator and denominator parameters.
The value of a physical quantity, together with its unit.
This is a prototypical definition for a specific measure type defined as a
vacuous extension (i.e. aliases) of gml:MeasureType. In this case, the content model
supports the description of a length (or distance) quantity, with its units. The unit of
measure referenced by uom shall be suitable for a length, such as metres or
feet.
The gml:angle property element is used to record the value of an angle quantity
as a single number, with its units.
All geometry elements are derived directly or indirectly from this abstract
supertype. A geometry element may have an identifying attribute (gml:id), one or more names
(elements identifier and name) and a description (elements description and
descriptionReference) . It may be associated with a spatial reference system (attribute
group gml:SRSReferenceGroup). The following rules shall be adhered to: - Every geometry type
shall derive from this abstract type. - Every geometry element (i.e. an element of a
geometry type) shall be directly or indirectly in the substitution group of
AbstractGeometry.
The attribute group SRSReferenceGroup is an optional reference to the CRS used
by this geometry, with optional additional information to simplify the processing of the
coordinates when a more complete definition of the CRS is not needed. In general the
attribute srsName points to a CRS instance of gml:AbstractCoordinateReferenceSystem. For
well-known references it is not required that the CRS description exists at the location the
URI points to. If no srsName attribute is given, the CRS shall be specified as part of the
larger context this geometry element is part of.
The attributes uomLabels and axisLabels, defined in the SRSInformationGroup
attribute group, are optional additional and redundant information for a CRS to simplify the
processing of the coordinate values when a more complete definition of the CRS is not
needed. This information shall be the same as included in the complete definition of the
CRS, referenced by the srsName attribute. When the srsName attribute is included, either
both or neither of the axisLabels and uomLabels attributes shall be included. When the
srsName attribute is omitted, both of these attributes shall be omitted. The attribute
axisLabels is an ordered list of labels for all the axes of this CRS. The gml:axisAbbrev
value should be used for these axis labels, after spaces and forbidden characters are
removed. When the srsName attribute is included, this attribute is optional. When the
srsName attribute is omitted, this attribute shall also be omitted. The attribute uomLabels
is an ordered list of unit of measure (uom) labels for all the axes of this CRS. The value
of the string in the gml:catalogSymbol should be used for this uom labels, after spaces and
forbidden characters are removed. When the axisLabels attribute is included, this attribute
shall also be included. When the axisLabels attribute is omitted, this attribute shall also
be omitted.
The AbstractGeometry element is the abstract head of the substitution group for
all geometry elements of GML. This includes pre-defined and user-defined geometry elements.
Any geometry element shall be a direct or indirect extension/restriction of
AbstractGeometryType and shall be directly or indirectly in the substitution group of
AbstractGeometry.
A geometric property may either be any geometry element encapsulated in an
element of this type or an XLink reference to a remote geometry element (where remote
includes geometry elements located elsewhere in the same or another document). Note that
either the reference or the contained element shall be given, but not both or none. If a
feature has a property that takes a geometry element as its value, this is called a geometry
property. A generic type for such a geometry property is
GeometryPropertyType.
If a feature has a property which takes an array of geometry elements as its
value, this is called a geometry array property. A generic type for such a geometry property
is GeometryArrayPropertyType. The elements are always contained inline in the array
property, referencing geometry elements or arrays of geometry elements via XLinks is not
supported.
Direct position instances hold the coordinates for a position within some
coordinate reference system (CRS). Since direct positions, as data types, will often be
included in larger objects (such as geometry elements) that have references to CRS, the
srsName attribute will in general be missing, if this particular direct position is included
in a larger element with such a reference to a CRS. In this case, the CRS is implicitly
assumed to take on the value of the containing object's CRS. if no srsName attribute is
given, the CRS shall be specified as part of the larger context this geometry element is
part of, typically a geometric object like a point, curve, etc.
posList instances (and other instances with the content model specified by
DirectPositionListType) hold the coordinates for a sequence of direct positions within the
same coordinate reference system (CRS). if no srsName attribute is given, the CRS shall be
specified as part of the larger context this geometry element is part of, typically a
geometric object like a point, curve, etc. The optional attribute count specifies the number
of direct positions in the list. If the attribute count is present then the attribute
srsDimension shall be present, too. The number of entries in the list is equal to the
product of the dimensionality of the coordinate reference system (i.e. it is a derived value
of the coordinate reference system definition) and the number of direct
positions.
GML supports two different ways to specify a geometric position: either by a
direct position (a data type) or a point (a geometric object). pos elements are positions
that are "owned" by the geometric primitive encapsulating this geometric position.
pointProperty elements contain a point that may be referenced from other geometry elements
or reference another point defined elsewhere (reuse of existing points).
GML supports two different ways to specify a list of geometric positions:
either by a sequence of geometric positions (by reusing the group definition) or a sequence
of direct positions (element posList). The posList element allows for a compact way to
specify the coordinates of the positions, if all positions are represented in the same
coordinate reference system.
For some applications the components of the position may be adjusted to yield a
unit vector.
deprecated
Envelope defines an extent using a pair of positions defining opposite corners
in arbitrary dimensions. The first direct position is the "lower corner" (a coordinate
position consisting of all the minimal ordinates for each dimension for all points within
the envelope), the second one the "upper corner" (a coordinate position consisting of all
the maximal ordinates for each dimension for all points within the envelope). The use of the
properties "coordinates" and "pos" has been deprecated. The explicitly named properties
"lowerCorner" and "upperCorner" shall be used instead.
gml:AbstractGeometricPrimitiveType is the abstract root type of the geometric
primitives. A geometric primitive is a geometric object that is not decomposed further into
other primitives in the system. All primitives are oriented in the direction implied by the
sequence of their coordinate tuples.
The AbstractGeometricPrimitive element is the abstract head of the substitution
group for all (pre- and user-defined) geometric primitives.
A property that has a geometric primitive as its value domain may either be an
appropriate geometry element encapsulated in an element of this type or an XLink reference
to a remote geometry element (where remote includes geometry elements located elsewhere in
the same document). Either the reference or the contained element shall be given, but
neither both nor none.
A Point is defined by a single coordinate tuple. The direct position of a point
is specified by the pos element which is of type DirectPositionType.
A property that has a point as its value domain may either be an appropriate
geometry element encapsulated in an element of this type or an XLink reference to a remote
geometry element (where remote includes geometry elements located elsewhere in the same
document). Either the reference or the contained element shall be given, but neither both
nor none.
This property element either references a point via the XLink-attributes or
contains the point element. pointProperty is the predefined property which may be used by
GML Application Schemas whenever a GML feature has a property with a value that is
substitutable for Point.
gml:PointArrayPropertyType is a container for an array of points. The elements
are always contained inline in the array property, referencing geometry elements or arrays
of geometry elements via XLinks is not supported.
gml:AbstractCurveType is an abstraction of a curve to support the different
levels of complexity. The curve may always be viewed as a geometric primitive, i.e. is
continuous.
The AbstractCurve element is the abstract head of the substitution group for
all (continuous) curve elements.
A property that has a curve as its value domain may either be an appropriate
geometry element encapsulated in an element of this type or an XLink reference to a remote
geometry element (where remote includes geometry elements located elsewhere in the same
document). Either the reference or the contained element shall be given, but neither both
nor none.
This property element either references a curve via the XLink-attributes or
contains the curve element. curveProperty is the predefined property which may be used by
GML Application Schemas whenever a GML feature has a property with a value that is
substitutable for AbstractCurve.
A container for an array of curves. The elements are always contained in the
array property, referencing geometry elements or arrays of geometry elements via XLinks is
not supported.
A LineString is a special curve that consists of a single segment with linear
interpolation. It is defined by two or more coordinate tuples, with linear interpolation
between them. The number of direct positions in the list shall be at least
two.
A gml:Category has an optional XML attribute codeSpace, whose value is a URI
which identifies a dictionary, codelist or authority for the term.
An XML attribute uom ("unit of measure") is required, whose value is a URI
which identifies the definition of a ratio scale or units by which the numeric value shall
be multiplied, or an interval or position scale on which the value occurs.
gml:AbstractValue is an abstract element which acts as the head of a
substitution group which contains gml:AbstractScalarValue, gml:AbstractScalarValueList,
gml:CompositeValue and gml:ValueExtent, and (transitively) the elements in their
substitution groups. These elements may be used in an application schema as variables, so
that in an XML instance document any member of its substitution group may
occur.
gml:AbstractScalarValue is an abstract element which acts as the head of a
substitution group which contains gml:Boolean, gml:Category, gml:Count and gml:Quantity, and
(transitively) the elements in their substitution groups.
gml:AbstractScalarValueList is an abstract element which acts as the head of a
substitution group which contains gml:BooleanList, gml:CategoryList, gml:CountList and
gml:QuantityList, and (transitively) the elements in their substitution
groups.
This is a convenience choice group which unifies generic values defined in this
Clause with spatial and temporal objects and the measures described above, so that any of
these may be used within aggregate values.
Property that refers to, or contains, a Value. Convenience element for general
use.
Property that refers to, or contains, a Value.
Property that contains Values.
gml:CompositeValue is an aggregate value built from other values . It contains
zero or an arbitrary number of gml:valueComponent elements, and zero or one
gml:valueComponents property elements. It may be used for strongly coupled aggregates
(vectors, tensors) or for arbitrary collections of values.
A Value Array is used for homogeneous arrays of primitive and aggregate values.
The member values may be scalars, composites, arrays or lists. ValueArray has the same
content model as CompositeValue, but the member values shall be homogeneous. The element
declaration contains a Schematron constraint which expresses this restriction precisely.
Since the members are homogeneous, the gml:referenceSystem (uom, codeSpace) may be specified
on the gml:ValueArray itself and inherited by all the members if desired.
The content model is a straightforward extension of gml:AbstractFeatureType; it
automatically has the gml:identifier, gml:description, gml:descriptionReference, gml:name,
and gml:boundedBy properties. The gml:validTime element describes the time of the
observation. Note that this may be a time instant or a time period. The gml:using property
contains or references a description of a sensor, instrument or procedure used for the
observation. The gml:target property contains or references the specimen, region or station
which is the object of the observation. This property is particularly useful for remote
observations, such as photographs, where a generic location property might apply to the
location of the camera or the location of the field of view, and thus may be ambiguous. The
gml:subject element is provided as a convenient synonym for gml:target. This is the term
commonly used in phtotography. The gml:resultOf property indicates the result of the
observation. The value may be inline, or a reference to a value elsewhere.
A gml:DirectedObservation is the same as an observation except that it adds an
additional gml:direction property. This is the direction in which the observation was
acquired. Clearly this applies only to certain types of observations such as visual
observations by people, or observations obtained from terrestrial cameras.
gml:DirectedObservationAtDistance adds an additional distance property. This is
the distance from the observer to the subject of the observation. Clearly this applies only
to certain types of observations such as visual observations by people, or observations
obtained from terrestrial cameras.
The basic gml:Definition element specifies a definition, which can be included
in or referenced by a dictionary. The content model for a generic definition is a derivation
from gml:AbstractGMLType. The gml:description property element shall hold the definition if
this can be captured in a simple text string, or the gml:descriptionReference property
element may carry a link to a description elsewhere. The gml:identifier element shall
provide one identifier identifying this definition. The identifier shall be unique within
the dictionaries using this definition. The gml:name elements shall provide zero or more
terms and synonyms for which this is the definition. The gml:remarks element shall be used
to hold additional textual information that is not conceptually part of the definition but
is useful in understanding the definition.
Sets of definitions may be collected into dictionaries or collections. A
gml:Dictionary is a non-abstract collection of definitions. The gml:Dictionary content model
adds a list of gml:dictionaryEntry properties that contain or reference gml:Definition
objects. A database handle (gml:id attribute) is required, in order that this collection may
be referred to. The standard gml:identifier, gml:description, gml:descriptionReference and
gml:name properties are available to reference or contain more information about this
dictionary. The gml:description and gml:descriptionReference property elements may be used
for a description of this dictionary. The derived gml:name element may be used for the
name(s) of this dictionary. for remote definiton references gml:dictionaryEntry shall be
used. If a Definition object contained within a Dictionary uses the descriptionReference
property to refer to a remote definition, then this enables the inclusion of a remote
definition in a local dictionary, giving a handle and identifier in the context of the local
dictionary.
This property element contains or refers to the definitions which are members
of a dictionary. The content model follows the standard GML property pattern, so a
gml:dictionaryEntry may either contain or refer to a single gml:Definition. Since
gml:Dictionary is substitutable for gml:Definition, the content of an entry may itself be a
lower level dictionary. Note that if the value is provided by reference, this definition
does not carry a handle (gml:id) in this context, so does not allow external references to
this specific definition in this context. When used in this way the referenced definition
will usually be in a dictionary in the same XML document.
gml:NilReasonType defines a content model that allows recording of an
explanation for a void value or other exception. gml:NilReasonType is a union of the
following enumerated values: - inapplicable there is no value - missing the correct value is
not readily available to the sender of this data. Furthermore, a correct value may not exist
- template the value will be available later - unknown the correct value is not known to,
and not computable by, the sender of this data. However, a correct value probably exists -
withheld the value is not divulged - other:text other brief explanation, where text is a
string of two or more characters with no included spaces and - anyURI which should refer to
a resource which describes the reason for the exception A particular community may choose to
assign more detailed semantics to the standard values provided. Alternatively, the URI
method enables a specific or more complete explanation for the absence of a value to be
provided elsewhere and indicated by-reference in an instance document. gml:NilReasonType is
used as a member of a union in a number of simple content types where it is necessary to
permit a value from the NilReasonType union as an alternative to the primary
type.
gml:SignType is a convenience type with values "+" (plus) and "-"
(minus).
Extension to the respective XML Schema built-in simple type to allow a choice
of either a value of the built-in simple type or a reason for a nil value.
Extension to the respective XML Schema built-in simple type to allow a choice
of either a value of the built-in simple type or a reason for a nil value.
Extension to the respective XML Schema built-in simple type to allow a choice
of either a value of the built-in simple type or a reason for a nil value.
Extension to the respective XML Schema built-in simple type to allow a choice
of either a value of the built-in simple type or a reason for a nil value.
Extension to the respective XML Schema built-in simple type to allow a choice
of either a value of the built-in simple type or a reason for a nil value.
gml:CodeType is a generalized type to be used for a term, keyword or name. It
adds a XML attribute codeSpace to a term, where the value of the codeSpace attribute (if
present) shall indicate a dictionary, thesaurus, classification scheme, authority, or
pattern for the term.
gml:CodeWithAuthorityType requires that the codeSpace attribute is provided in
an instance.
gml:MeasureType supports recording an amount encoded as a value of XML Schema
double, together with a units of measure indicated by an attribute uom, short for "units Of
measure". The value of the uom attribute identifies a reference system for the amount,
usually a ratio or interval scale.
The simple type gml:UomIdentifer defines the syntax and value space of the unit
of measure identifier.
This type specifies a character string of length at least one, and restricted
such that it must not contain any of the following characters: ":" (colon), " " (space),
(newline), (carriage return), (tab). This allows values corresponding to familiar
abbreviations, such as "kg", "m/s", etc. It is recommended that the symbol be an identifier
for a unit of measure as specified in the "Unified Code of Units of Measure" (UCUM)
(http://aurora.regenstrief.org/UCUM). This provides a set of symbols and a grammar for
constructing identifiers for units of measure that are unique, and may be easily entered
with a keyboard supporting the limited character set known as 7-bit ASCII. ISO 2955 formerly
provided a specification with this scope, but was withdrawn in 2001. UCUM largely follows
ISO 2955 with modifications to remove ambiguities and other problems.
This type specifies a URI, restricted such that it must start with one of the
following sequences: "#", "./", "../", or a string of characters followed by a ":". These
patterns ensure that the most common URI forms are supported, including absolute and
relative URIs and URIs that are simple fragment identifiers, but prohibits certain forms of
relative URI that could be mistaken for unit of measure symbol . NOTE It is possible to
re-write such a relative URI to conform to the restriction (e.g. "./m/s"). In an instance
document, on elements of type gml:MeasureType the mandatory uom attribute shall carry a
value corresponding to either - a conventional unit of measure symbol, - a link to a
definition of a unit of measure that does not have a conventional symbol, or when it is
desired to indicate a precise or variant definition.
This type is deprecated for tuples with ordinate values that are numbers.
CoordinatesType is a text string, intended to be used to record an array of tuples or
coordinates. While it is not possible to enforce the internal structure of the string
through schema validation, some optional attributes have been provided in previous versions
of GML to support a description of the internal structure. These attributes are deprecated.
The attributes were intended to be used as follows: Decimal symbol used for a decimal point
(default="." a stop or period) cs symbol used to separate components within a tuple or
coordinate string (default="," a comma) ts symbol used to separate tuples or coordinate
strings (default=" " a space) Since it is based on the XML Schema string type,
CoordinatesType may be used in the construction of tables of tuples or arrays of tuples,
including ones that contain mixed text and numeric values.
A type for a list of values of the respective simple type.
A type for a list of values of the respective simple type.
A type for a list of values of the respective simple type.
A type for a list of values of the respective simple type.
A type for a list of values of the respective simple type.
A type for a list of values of the respective simple type.
A type for a list of values of the respective simple type.
A type for a list of values of the respective simple type.
A type for a list of values of the respective simple type.
A type for a list of values of the respective simple type.
gml:CodeListType provides for lists of terms. The values in an instance element
shall all be valid according to the rules of the dictionary, classification scheme, or
authority identified by the value of its codeSpace attribute.
gml:CodeOrNilReasonListType provides for lists of terms. The values in an
instance element shall all be valid according to the rules of the dictionary, classification
scheme, or authority identified by the value of its codeSpace attribute. An instance element
may also include embedded values from NilReasonType. It is intended to be used in situations
where a term or classification is expected, but the value may be absent for some
reason.
gml:MeasureListType provides for a list of quantities.
gml:MeasureOrNilReasonListType provides for a list of quantities. An instance
element may also include embedded values from NilReasonType. It is intended to be used in
situations where a value is expected, but the value may be absent for some
reason.
This element has no type defined, and is therefore implicitly (according to the
rules of W3C XML Schema) an XML Schema anyType. It is used as the head of an XML Schema
substitution group which unifies complex content and certain simple content elements used
for datatypes in GML, including the gml:AbstractGML substitution group.
The abstract element gml:AbstractGML is "any GML object having identity". It
acts as the head of an XML Schema substitution group, which may include any element which is
a GML feature, or other object, with identity. This is used as a variable in content models
in GML core and application schemas. It is effectively an abstract superclass for all GML
objects.
XLink components are the standard method to support hypertext referencing in
XML. An XML Schema attribute group, gml:AssociationAttributeGroup, is provided to support
the use of Xlinks as the method for indicating the value of a property by reference in a
uniform manner in GML.
deprecated
Applying this pattern shall restrict the multiplicity of objects in a property
element using this content model to exactly one. An instance of this type shall contain an
element representing an object, or serve as a pointer to a remote object. Applying the
pattern to define an application schema specific property type allows to restrict - the
inline object to specified object types, - the encoding to "by-reference only" (see
7.2.3.7), - the encoding to "inline only" (see 7.2.3.8).
Encoding a GML property inline vs. by-reference shall not imply anything about
the "ownership" of the contained or referenced GML Object, i.e. the encoding style shall not
imply any "deep-copy" or "deep-delete" semantics. To express ownership over the contained or
referenced GML Object, the gml:OwnershipAttributeGroup attribute group may be added to
object-valued property elements. If the attribute group is not part of the content model of
such a property element, then the value may not be "owned". When the value of the owns
attribute is "true", the existence of inline or referenced object(s) depends upon the
existence of the parent object.
This element shows how an element declaration may include a Schematron
constraint to limit the property to act in either inline or by-reference mode, but not
both.
gml:abstractReference may be used as the head of a subtitution group of more
specific elements providing a value by-reference.
gml:ReferenceType is intended to be used in application schemas directly, if a
property element shall use a "by-reference only" encoding.
gml:abstractInlineProperty may be used as the head of a subtitution group of
more specific elements providing a value inline.
If the value of an object property is another object and that object contains
also a property for the association between the two objects, then this name of the reverse
property may be encoded in a gml:reversePropertyName element in an appinfo annotation of the
property element to document the constraint between the two properties. The value of the
element shall contain the qualified name of the property element.
The value of this property is a text description of the object. gml:description
uses gml:StringOrRefType as its content model, so it may contain a simple text string
content, or carry a reference to an external description. The use of gml:description to
reference an external description has been deprecated and replaced by the
gml:descriptionReference property.
The value of this property is a remote text description of the object. The
xlink:href attribute of the gml:descriptionReference property references the external
description.
The gml:name property provides a label or identifier for the object, commonly a
descriptive name. An object may have several names, typically assigned by different
authorities. gml:name uses the gml:CodeType content model. The authority for a name is
indicated by the value of its (optional) codeSpace attribute. The name may or may not be
unique, as determined by the rules of the organization responsible for the codeSpace. In
common usage there will be one name per authority, so a processing application may select
the name from its preferred codeSpace.
Often, a special identifier is assigned to an object by the maintaining
authority with the intention that it is used in references to the object For such cases, the
codeSpace shall be provided. That identifier is usually unique either globally or within an
application domain. gml:identifier is a pre-defined property for such
identifiers.
The attribute gml:id supports provision of a handle for the XML element
representing a GML Object. Its use is mandatory for all GML objects. It is of XML type ID,
so is constrained to be unique in the XML document within which it occurs.
To create a collection of GML Objects that are not all features, a property
type shall be derived by extension from gml:AbstractMemberType. This abstract property type
is intended to be used only in object types where software shall be able to identify that an
instance of such an object type is to be interpreted as a collection of objects. By default,
this abstract property type does not imply any ownership of the objects in the collection.
The owns attribute of gml:OwnershipAttributeGroup may be used on a property element instance
to assert ownership of an object in the collection. A collection shall not own an object
already owned by another object.
A GML Object Collection is any GML Object with a property element in its
content model whose content model is derived by extension from gml:AbstractMemberType. In
addition, the complex type describing the content model of the GML Object Collection may
also include a reference to the attribute group gml:AggregationAttributeGroup to provide
additional information about the semantics of the object collection. This information may be
used by applications to group GML objects, and optionally to order and index them. The
allowed values for the aggregationType attribute are defined by gml:AggregationType. See 8.4
of ISO/IEC 11404:1996 for the meaning of the values in the enumeration.
To associate metadata described by any XML Schema with a GML object, a property
element shall be defined whose content model is derived by extension from
gml:AbstractMetadataPropertyType. The value of such a property shall be metadata. The
content model of such a property type, i.e. the metadata application schema shall be
specified by the GML Application Schema. By default, this abstract property type does not
imply any ownership of the metadata. The owns attribute of gml:OwnershipAttributeGroup may
be used on a metadata property element instance to assert ownership of the metadata. If
metadata following the conceptual model of ISO 19115 is to be encoded in a GML document, the
corresponding Implementation Specification specified in ISO/TS 19139 shall be used to encode
the metadata information.
gml:AbstractTimeObject acts as the head of a substitution group for all
temporal primitives and complexes.
gml:AbstractTimePrimitive acts as the head of a substitution group for
geometric and topological temporal primitives.
gml:TimePrimitivePropertyType provides a standard content model for
associations between an arbitrary member of the substitution group whose head is
gml:AbstractTimePrimitive and another object.
gml:validTime is a convenience property element.
gml:RelatedTimeType provides a content model for indicating the relative
position of an arbitrary member of the substitution group whose head is
gml:AbstractTimePrimitive. It extends the generic gml:TimePrimitivePropertyType with an XML
attribute relativePosition, whose value is selected from the set of 13 temporal
relationships identified by Allen (1983)
gml:AbstractTimeComplex is an aggregation of temporal primitives and acts as
the head of a substitution group for temporal complexes.
gml:TimeGeometricPrimitive acts as the head of a substitution group for
geometric temporal primitives. A temporal geometry shall be associated with a temporal
reference system through the frame attribute that provides a URI reference that identifies a
description of the reference system. Following ISO 19108, the Gregorian calendar with UTC is
the default reference system, but others may also be used. The GPS calendar is an
alternative reference systems in common use. The two geometric primitives in the temporal
dimension are the instant and the period. GML components are defined to support these as
follows.
gml:TimeInstant acts as a zero-dimensional geometric primitive that represents
an identifiable position in time.
gml:TimeInstantPropertyType provides for associating a gml:TimeInstant with an
object.
gml:TimePeriod acts as a one-dimensional geometric primitive that represents an
identifiable extent in time. The location in of a gml:TimePeriod is described by the
temporal positions of the instants at which it begins and ends. The length of the period is
equal to the temporal distance between the two bounding temporal positions. Both beginning
and end may be described in terms of their direct position using gml:TimePositionType which
is an XML Schema simple content type, or by reference to an indentifiable time instant using
gml:TimeInstantPropertyType. Alternatively a limit of a gml:TimePeriod may use the
conventional GML property model to make a reference to a time instant described elsewhere,
or a limit may be indicated as a direct position.
gml:TimePeriodPropertyType provides for associating a gml:TimePeriod with an
object.
The method for identifying a temporal position is specific to each temporal
reference system. gml:TimePositionType supports the description of temporal position
according to the subtypes described in ISO 19108. Values based on calendars and clocks use
lexical formats that are based on ISO 8601, as described in XML Schema Part 2:2001. A
decimal value may be used with coordinate systems such as GPS time or UNIX time. A URI may
be used to provide a reference to some era in an ordinal reference system . In common with
many of the components modelled as data types in the ISO 19100 series of International
Standards, the corresponding GML component has simple content. However, the content model
gml:TimePositionType is defined in several steps. Three XML attributes appear on
gml:TimePositionType: A time value shall be associated with a temporal reference system
through the frame attribute that provides a URI reference that identifies a description of
the reference system. Following ISO 19108, the Gregorian calendar with UTC is the default
reference system, but others may also be used. Components for describing temporal reference
systems are described in 14.4, but it is not required that the reference system be described
in this, as the reference may refer to anything that may be indentified with a URI. For time
values using a calendar containing more than one era, the (optional) calendarEraName
attribute provides the name of the calendar era. Inexact temporal positions may be expressed
using the optional indeterminatePosition attribute. This takes a value from an
enumeration.
These values are interpreted as follows: - "unknown" indicates that no specific
value for temporal position is provided. - "now" indicates that the specified value shall be
replaced with the current temporal position whenever the value is accessed. - "before"
indicates that the actual temporal position is unknown, but it is known to be before the
specified value. - "after" indicates that the actual temporal position is unknown, but it is
known to be after the specified value. A value for indeterminatePosition may - be used
either alone, or - qualify a specific value for temporal position.
The simple type gml:TimePositionUnion is a union of XML Schema simple types
which instantiate the subtypes for temporal position described in ISO 19108. An ordinal era
may be referenced via URI. A decimal value may be used to indicate the distance from the
scale origin . time is used for a position that recurs daily (see ISO 19108:2002 5.4.4.2).
Finally, calendar and clock forms that support the representation of time in systems based
on years, months, days, hours, minutes and seconds, in a notation following ISO 8601, are
assembled by gml:CalDate
This element is used directly as a property of gml:TimeInstant (see 15.2.2.3),
and may also be used in application schemas.
The length of a time period.
gml:duration conforms to the ISO 8601 syntax for temporal length as implemented
by the XML Schema duration type.
gml:timeInterval conforms to ISO 11404 which is based on floating point values
for temporal length. ISO 11404 syntax specifies the use of a positiveInteger together with
appropriate values for radix and factor. The resolution of the time interval is to one radix
^(-factor) of the specified time unit. The value of the unit is either selected from the
units for time intervals from ISO 31-1:1992, or is another suitable unit. The encoding is
defined for GML in gml:TimeUnitType. The second component of this union type provides a
method for indicating time units other than the six standard units given in the
enumeration.
gml:TimeTopologyPrimitive acts as the head of a substitution group for
topological temporal primitives. Temporal topology primitives shall imply the ordering
information between features or feature properties. The temporal connection of features can
be examined if they have temporal topology primitives as values of their properties.
Usually, an instantaneous feature associates with a time node, and a static feature
associates with a time edge. A feature with both modes associates with the temporal topology
primitive: a supertype of time nodes and time edges. A topological primitive is always
connected to one or more other topological primitives, and is, therefore, always a member of
a topological complex. In a GML instance, this will often be indicated by the primitives
being described by elements that are descendents of an element describing a complex.
However, in order to support the case where a temporal topological primitive is described in
another context, the optional complex property is provided, which carries a reference to the
parent temporal topological complex.
gml:TimeTopologyPrimitivePropertyType provides for associating a
gml:AbstractTimeTopologyPrimitive with an object.
A temporal topology complex shall be the connected acyclic directed graph
composed of temporal topological primitives, i.e. time nodes and time edges. Because a time
edge may not exist without two time nodes on its boundaries, static features have time edges
from a temporal topology complex as the values of their temporal properties, regardless of
explicit declarations. A temporal topology complex expresses a linear or a non-linear graph.
A temporal linear graph, composed of a sequence of time edges, provides a lineage described
only by "substitution" of feature instances or feature element values. A time node as the
start or the end of the graph connects with at least one time edge. A time node other than
the start and the end shall connect to at least two time edges: one of starting from the
node, and another ending at the node. A temporal topological complex is a set of connected
temporal topological primitives. The member primtives are indicated, either by reference or
by value, using the primitive property.
gml:TimeTopologyComplexPropertyType provides for associating a
gml:TimeTopologyComplex with an object.
A time node is a zero-dimensional topological primitive that represents an
identifiable node in time (it is equivalent to a point in space). A node may act as the
termination or initiation of any number of time edges. A time node may be realised as a
geometry, its position, whose value is a time instant.
gml:TimeNodePropertyType provides for associating a gml:TimeNode with an
object
A time edge is a one-dimensional topological primitive. It is an open interval
that starts and ends at a node. The edge may be realised as a geometry whose value is a time
period.
gml:TimeEdgePropertyType provides for associating a gml:TimeEdge with an
object.
A reference system is characterized in terms of its domain of validity: the
spatial and temporal extent over which it is applicable. The basic GML element for temporal
reference systems is gml:TimeReferenceSystem. Its content model extends gml:DefinitionType
with one additional property, gml:domainOfValidity.
A temporal coordinate system shall be based on a continuous interval scale
defined in terms of a single time interval. The differences to ISO 19108 TM_CoordinateSystem
are: - the origin is specified either using the property gml:originPosition whose value is a
direct time position, or using the property gml:origin whose model is
gml:TimeInstantPropertyType; this permits more flexibility in representation and also
supports referring to a value fixed elsewhere; - the interval uses
gml:TimeIntervalLengthType.
A calendar is a discrete temporal reference system that provides a basis for
defining temporal position to a resolution of one day. gml:TimeCalendar adds one property to
those inherited from gml:TimeReferenceSystem. A gml:referenceFrame provides a link to a
gml:TimeCalendarEra that it uses. A gml:TimeCalendar may reference more than one calendar
era. The referenceFrame element follows the standard GML property model, allowing the
association to be instantiated either using an inline description using the
gml:TimeCalendarEra element, or a link to a gml:TimeCalendarEra which is explicit
elsewhere.
gml:TimeCalendarEra inherits basic properties from gml:DefinitionType and has
the following additional properties: - gml:referenceEvent is the name or description of a
mythical or historic event which fixes the position of the base scale of the calendar era.
This is given as text or using a link to description held elsewhere. - gml:referenceDate
specifies the date of the referenceEvent expressed as a date in the given calendar. In most
calendars, this date is the origin (i.e., the first day) of the scale, but this is not
always true. - gml:julianReference specifies the Julian date that corresponds to the
reference date. The Julian day number is an integer value; the Julian date is a decimal
value that allows greater resolution. Transforming calendar dates to and from Julian dates
provides a relatively simple basis for transforming dates from one calendar to another. -
gml:epochOfUse is the period for which the calendar era was used as a basis for
dating.
gml:TimeCalendarPropertyType provides for associating a gml:TimeCalendar with
an object.
gml:TimeCalendarEraPropertyType provides for associating a gml:TimeCalendarEra
with an object.
A clock provides a basis for defining temporal position within a day. A clock
shall be used with a calendar in order to provide a complete description of a temporal
position within a specific day. gml:TimeClock adds the following properties to those
inherited from gml:TimeReferenceSystemType: - gml:referenceEvent is the name or description
of an event, such as solar noon or sunrise, which fixes the position of the base scale of
the clock. - gml:referenceTime specifies the time of day associated with the reference event
expressed as a time of day in the given clock. The reference time is usually the origin of
the clock scale. - gml:utcReference specifies the 24 hour local or UTC time that corresponds
to the reference time. - gml:dateBasis contains or references the calendars that use this
clock.
gml:TimeClockPropertyType provides for associating a gml:TimeClock with an
object.
In some applications of geographic information — such as geology and
archaeology — relative position in time is known more precisely than absolute time or
duration. The order of events in time can be well established, but the magnitude of the
intervals between them cannot be accurately determined; in such cases, the use of an ordinal
temporal reference system is appropriate. An ordinal temporal reference system is composed
of a sequence of named coterminous eras, which may in turn be composed of sequences of
member eras at a finer scale, giving the whole a hierarchical structure of eras of verying
resolution. An ordinal temporal reference system whose component eras are not further
subdivided is effectively a temporal topological complex constrained to be a linear graph.
An ordinal temporal reference system some or all of whose component eras are subdivided is
effectively a temporal topological complex with the constraint that parallel branches may
only be constructed in pairs where one is a single temporal ordinal era and the other is a
sequence of temporal ordinal eras that are called "members" of the "group". This constraint
means that within a single temporal ordinal reference system, the relative position of all
temporal ordinal eras is unambiguous. The positions of the beginning and end of a given era
may calibrate the relative time scale. gml:TimeOrdinalReferenceSystem adds one or more
gml:component properties to the generic temporal reference system model.
Its content model follows the pattern of gml:TimeEdge, inheriting standard
properties from gml:DefinitionType, and adding gml:start, gml:end and gml:extent properties,
a set of gml:member properties which indicate ordered gml:TimeOrdinalEra elements, and a
gml:group property which points to the parent era. The recursive inclusion of
gml:TimeOrdinalEra elements allow the construction of an arbitrary depth hierarchical
ordinal reference schema, such that an ordinal era at a given level of the hierarchy
includes a sequence of shorter, coterminous ordinal eras.
gml:TimeOrdinalEraPropertyType provides for associating a gml:TimeOrdinalEra
with an object.
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated
deprecated