basicTypes.xsd
Generic simpleContent components for use in GML
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
Some common reasons for a null value:
innapplicable  the object does not have a 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:reason  as indicated by "reason" string
Specific communities may agree to assign more strict semantics when these terms are used in a particular context.
Utility type for null elements. The value may be selected from one of the enumerated tokens, or may be a URI in which case this should identify a resource which describes the reason for the null.
Utility type used in various places
 e.g. to indicate the direction of topological objects;
"+" for forwards, or "" for backwards.
Union of the XML Schema boolean type and the GML Nulltype. An element which uses this type may have content which is either a boolean {0,1,true,false} or a value from Nulltype
XML List based on the union type defined above. An element declared with this type contains a spaceseparated list of boolean values {0,1,true,false} with null values interspersed as needed
XML List based on XML Schema boolean type. An element of this type contains a spaceseparated list of boolean values {0,1,true,false}
Union of the XML Schema string type and the GML Nulltype. An element which uses this type may have content which is either a string or a value from Nulltype. Note that a "string" may contain whitespace.
Union of the XML Schema Name type and the GML Nulltype. An element which uses this type may have content which is either a Name or a value from Nulltype. Note that a "Name" may not contain whitespace.
XML List based on the union type defined above. An element declared with this type contains a spaceseparated list of Name values with null values interspersed as needed
XML List based on XML Schema Name type. An element of this type contains a spaceseparated list of Name values
Union of the XML Schema double type and the GML Nulltype. An element which uses this type may have content which is either a double or a value from Nulltype
XML List based on the union type defined above. An element declared with this type contains a spaceseparated list of double values with null values interspersed as needed
XML List based on XML Schema double type. An element of this type contains a spaceseparated list of double values
Union of the XML Schema integer type and the GML Nulltype. An element which uses this type may have content which is either an integer or a value from Nulltype
XML List based on the union type defined above. An element declared with this type contains a spaceseparated list of integer values with null values interspersed as needed
XML List based on XML Schema integer type. An element of this type contains a spaceseparated list of integer values
Name or code with an (optional) authority. Text token.
If the codeSpace attribute is present, then its value should identify a dictionary, thesaurus
or authority for the term, such as the organisation who assigned the value,
or the dictionary from which it is taken.
A text string with an optional codeSpace attribute.
List of values on a uniform nominal scale. List of text tokens.
In a list context a token should not include any spaces, so xsd:Name is used instead of xsd:string.
If a codeSpace attribute is present, then its value is a reference to
a Reference System for the value, a dictionary or code list.
List of values on a uniform nominal scale. List of text tokens.
In a list context a token should not include any spaces, so xsd:Name is used instead of xsd:string.
A member of the list may be a typed null.
If a codeSpace attribute is present, then its value is a reference to
a Reference System for the value, a dictionary or code list.
Number with a scale.
The value of uom (Units Of Measure) attribute is a reference to a Reference System for the amount, either a ratio or position scale.
List of numbers with a uniform scale.
The value of uom (Units Of Measure) attribute is a reference to
a Reference System for the amount, either a ratio or position scale.
List of numbers with a uniform scale.
A member of the list may be a typed null.
The value of uom (Units Of Measure) attribute is a reference to
a Reference System for the amount, either a ratio or position scale.
Tables or arrays of tuples.
May be used for textencoding of values from a table.
Actually just a string, but allows the user to indicate which characters are used as separators.
The value of the 'cs' attribute is the separator for coordinate values,
and the value of the 'ts' attribute gives the tuple separator (a single space by default);
the default values may be changed to reflect local usage.
Defaults to CSV within a tuple, space between tuples.
However, any string content will be schemavalid.
A set of values, representing a list of token with the lexical value space of NCName. The tokens are seperated by whitespace.
A set of values, representing a list of token with the lexical value space of QName. The tokens are seperated by whitespace.
How to encode coordinate operation definitions. Builds on referenceSystems.xsd to encode the data needed to define coordinate operations, including Transformations, Conversions, and other specific subtypes of operations.
This schema encodes the Coordinate Operation (CC_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111  Spatial referencing by coordinates, as described in Annex C of Topic 2.
Caution: The CRS package in GML 3.1 and GML 3.1.1 is preliminary, and is expected to undergo some modifications that are not backward compatible during the development of GML 3.2 (ISO 19136). The GML 3.2 package will implement the model described in the revised version of ISO 19111.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
Basic encoding for coordinate operation objects, simplifying and restricting the DefinitionType as needed.
The name by which this coordinate operation is identified.
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 must 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.
Set of alternative identifications of this coordinate operation. The first coordinateOperationID, if any, is normally the primary identification code, and any others are aliases.
Comments on or information about this coordinate operation, including source information.
Unordered set of estimates of the impact of this coordinate operation on point position accuracy. Gives position error estimates for target coordinates of this coordinate operation, assuming no errors in source coordinates.
An identification of a coordinate operation.
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.
Association to the source CRS (coordinate reference system) of this coordinate operation.
Association to the target CRS (coordinate reference system) of this coordinate operation. For constraints on multiplicity of "sourceCRS" and "targetCRS", see UML model of Coordinate Operation package in OGC Abstract Specification topic 2.
Association to a coordinate operation, either referencing or containing the definition of that coordinate operation.
An ordered sequence of two or more single coordinate operations. The 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.
Ordered sequence of associations to the two or more single operations used by this concatenated operation.
Association to a single operation.
Association to a concatenated operation, either referencing or containing the definition of that concatenated operation.
A single (not concatenated) coordinate operation.
Association to a single operation, either referencing or containing the definition of that single operation.
A passthrough operation specifies that a subset of a coordinate tuple is subject to a specific coordinate operation.
Ordered sequence of positive integers defining the positions in a coordinate tuple of the coordinates affected by this passthrough operation.
A positive integer defining a position in a coordinate tuple.
Association to the operation applied to the specified ordinates.
Association to a pass through operation, either referencing or containing the definition of that pass through operation.
A parameterized mathematical operation on coordinates that transforms or converts coordinates to another coordinate reference system. This coordinate operation 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.
This abstract complexType shall not be directly used, extended, or restricted in a compliant Application Schema.
Association to an abstract operation, either referencing or containing the definition of that operation.
An abstract operation on coordinates that does not include any change of datum. The bestknown 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 abstract complexType is expected to be extended for wellknown operation methods with many Conversion instances, in Application Schemas that define operationmethodspecialized 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 "_generalParameterValue" element.
Association to a general conversion, either referencing or containing the definition of that conversion.
A concrete operation on coordinates that does not include any change of Datum. The bestknown 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 complexType can be used with all operation methods, without using an Application Schema that defines operationmethodspecialized element names and contents, especially for methods with only one Conversion instance.
Unordered list of composition associations to the set of parameter values used by this conversion operation.
Association to the operation method used by this coordinate operation.
Composition association to a parameter value used by this coordinate operation.
Association to a concrete generalpurpose conversion, either referencing or containing the definition of that conversion.
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 "overdetermined", 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.
This abstract complexType is expected to be extended for wellknown operation methods with many Transformation instances, in Application Schemas that define operationmethodspecialized 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 "_generalParameterValue" element.
Association to a general transformation, either referencing or containing the definition of that transformation.
A concrete 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 "overdetermined", 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.
This concrete complexType can be used for all operation methods, without using an Application Schema that defines operationmethodspecialized element names and contents, especially for methods with only one Transformation instance.
Unordered set of composition associations to the set of parameter values used by this transformation operation.
Association to a transformation, either referencing or containing the definition of that transformation.
Abstract parameter value or group of parameter values.
This abstract complexType is expected to be extended and restricted for wellknown operation methods with many instances, in Application Schemas that define operationmethodspecialized 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 "valueOfParameter" element that references one element substitutable for the "OperationParameter" element.
A parameter value, ordered sequence of values, or reference to a file of parameter values. This concrete complexType can be used for operation methods without using an Application Schema that defines operationmethodspecialized element names and contents, especially for methods with only one instance. This complexType can be used, extended, or restricted for wellknown operation methods, especially for methods with many instances.
Numeric value of an operation parameter, with its associated unit of measure.
Value of an angle operation parameter, in either degreeminutesecond format or single value format.
String value of an operation parameter. A string value does not have an associated unit of measure.
Positive integer value of an operation parameter, usually used for a count. An integer value does not have an associated unit of measure.
Boolean value of an operation parameter. A Boolean value does not have an associated unit of measure.
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 spaceseparated sequence of double values.
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 spaceseparated sequence of integer values.
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 must contain multiple identified parts, such as an XML encoded document. Furthermore, the referenced file or part of a file can reference another part of the same or different files, as allowed in XML documents.
Association to the operation parameter that this is a value of.
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 complexType can be used for operation methods without using an Application Schema that defines operationmethodspecialized element names and contents, especially for methods with only one instance. This complexType can be used, extended, or restricted for wellknown operation methods, especially for methods with many instances.
Unordered set of composition associations to the parameter values and groups of values included in this group.
A composition association to a parameter value or group of values included in this group.
Association to the operation parameter group for which this element provides parameter values.
Basic encoding for operation method objects, simplifying and restricting the DefinitionType as needed.
The name by which this operation method is identified.
Definition of an algorithm 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.
Set of alternative identifications of this operation method. The first methodID, if any, is normally the primary identification code, and any others are aliases.
Comments on or information about this operation method, including source information.
Unordered list of associations to the set of operation parameters and parameter groups used by this operation method.
An identification of an operation method.
Formula(s) used by this operation method. The value may be a reference to a publication. Note that the operation method may not be analytic, in which case this element references or contains the procedure, not an analytic formula.
Number of dimensions in the source CRS of this operation method.
Number of dimensions in the target CRS of this operation method.
Association to an operation parameter or parameter group used by this operation method.
Association to a concrete generalpurpose operation method, either referencing or containing the definition of that method.
Abstract definition of a parameter or group of parameters used by an operation method.
The minimum number of times that values for this parameter group or parameter are required. If this attribute is omitted, the minimum number is one.
Association to an operation parameter or group, either referencing or containing the definition of that parameter or group.
Basic encoding for operation parameter objects, simplifying and restricting the DefinitionType as needed.
The name by which this operation parameter is identified.
The definition of a parameter used by an operation method. Most parameter values are numeric, but other types of parameter values are possible. This complexType is expected to be used or extended for all operation methods, without defining operationmethodspecialized element names.
Set of alternative identifications of this operation parameter. The first parameterID, if any, is normally the primary identification code, and any others are aliases.
Comments on or information about this operation parameter, including source information.
An identification of an operation parameter.
Association to an operation parameter, either referencing or containing the definition of that parameter.
Basic encoding for operation parameter group objects, simplifying and restricting the DefinitionType as needed.
The name by which this operation parameter group is identified.
The definition of a group of parameters used by an operation method. This complexType is expected to be used or extended for all applicable operation methods, without defining operationmethodspecialized element names.
Set of alternative identifications of this operation parameter group. The first groupID, if any, is normally the primary identification code, and any others are aliases.
Comments on or information about this operation parameter group, including source information.
Unordered list of associations to the set of operation parameters that are members of this group.
An identification of an operation parameter group.
The maximum number of times that values for this parameter group can be included. If this attribute is omitted, the maximum number is one.
Association to an operation parameter that is a member of a group.
Association to an operation parameter, either referencing or containing the definition of that parameter.
How to encode coordinate reference system definitions. Builds on referenceSystems.xsd to encode the data needed to define coordinate reference systems, including the specific subtypes of coordinate reference systems.
This schema encodes the Coordinate Reference System (SC_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates, with the exception of the abstract "SC_CRS" class. The "SC_CRS" class is encoded in referenceSystems.xsd, to eliminate the (circular) references from coordinateOperations.xsd to coordinateReferenceSystems.xsd. That UML model is adapted from ISO 19111  Spatial referencing by coordinates, as described in Annex C of Topic 2.
Caution: The CRS package in GML 3.1 and GML 3.1.1 is preliminary, and is expected to undergo some modifications that are not backward compatible during the development of GML 3.2 (ISO 19136). The GML 3.2 package will implement the model described in the revised version of ISO 19111.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
A coordinate reference system consists of an ordered sequence of coordinate system axes that are related to the earth through a datum. A coordinate reference system is defined by one datum and by one coordinate system. Most coordinate reference system do not move relative to the earth, except for engineering coordinate reference systems defined on moving platforms such as cars, ships, aircraft, and spacecraft. For further information, see OGC Abstract Specification Topic 2.
Coordinate reference systems are commonly divided into subtypes. The common classification criterion for subtyping of coordinate reference systems is the way in which they deal with earth curvature. This has a direct effect on the portion of the earth's surface that can be covered by that type of CRS with an acceptable degree of error. The exception to the rule is the subtype "Temporal" which has been added by analogy.
Association to a coordinate reference system, either referencing or containing the definition of that reference system.
A coordinate reference system describing the position of points through two or more independent coordinate reference systems.
Ordered sequence of associations to all the component coordinate reference systems included in this compound coordinate reference system.
An association to a component coordinate reference system included in this compound coordinate reference system.
Association to a compound coordinate reference system, either referencing or containing the definition of that reference system.
A coordinate reference system based on an ellipsoidal approximation of the geoid; this provides an accurate representation of the geometry of geographic features for a large portion of the earth's surface.
Association to the ellipsoidal coordinate system used by this CRS.
Association to the geodetic datum used by this CRS.
Association to a geographic coordinate reference system, either referencing or containing the definition of that reference system.
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.
Association to the vertical coordinate system used by this CRS.
Association to the vertical datum used by this CRS.
Association to a vertical coordinate reference system, either referencing or containing the definition of that reference system.
A 3D coordinate reference system with the origin at the approximate centre of mass of the earth. A geocentric CRS deals with the earth's curvature by taking a 3D spatial view, which obviates the need to model the earth's curvature.
Association to the Cartesian coordinate system used by this CRS.
Association to the spherical coordinate system used by this CRS.
Association to a geocentric coordinate reference system, either referencing or containing the definition of that reference system.
A coordinate reference system that is defined by its coordinate conversion from another coordinate reference system (not by a datum). This abstract complexType 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.
Association to the coordinate reference system used by this derived CRS.
Association to the coordinate conversion used to define this derived CRS.
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.
Association to a projected coordinate reference system, either referencing or containing the definition of that reference system.
A coordinate reference system that is defined by its coordinate conversion from another coordinate reference system but is not a projected coordinate reference system. This category includes coordinate reference systems derived from a projected coordinate reference system.
Type of a derived coordinate reference system.
Reference to a source of information specifying the values and meanings of all the allowed string values for this DerivedCRSTypeType.
Association to the coordinate system used by this CRS.
Association to a nonprojected derived coordinate reference system, either referencing or containing the definition of that reference system.
A contextually local coordinate reference system; which can be divided into two broad categories:
 earthfixed 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.
For further information, see OGC Abstract Specification Topic 2.
Association to the engineering datum used by this CRS.
Association to an engineering coordinate reference system, either referencing or containing the definition of that reference system.
An engineering coordinate reference system applied to locations in images. Image coordinate reference systems are treated as a separate subtype because a separate user community exists for images with its own terms of reference.
Association to the oblique Cartesian coordinate system used by this CRS.
Association to the image datum used by this CRS.
Association to an image coordinate reference system, either referencing or containing the definition of that reference system.
A 1D coordinate reference system used for the recording of time.
Association to the temporal coordinate system used by this CRS.
Association to the temporal datum used by this CRS.
Association to a temporal coordinate reference system, either referencing or containing the definition of that reference system.
How to encode coordinate system definitions. Builds on referenceSystems.xsd to encode the data needed to define coordinate systems, including the specific subtypes of coordinate systems.
This schema encodes the Coordinate System (CS_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111  Spatial referencing by coordinates, as described in Annex C of Topic 2.
Caution: The CRS package in GML 3.1 and GML 3.1.1 is preliminary, and is expected to undergo some modifications that are not backward compatible during the development of GML 3.2 (ISO 19136). The GML 3.2 package will implement the model described in the revised version of ISO 19111.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
Basic encoding for coordinate system axis objects, simplifying and restricting the DefinitionType as needed.
The name by which this coordinate system axis is identified.
Definition of a coordinate system axis.
Set of alternative identifications of this coordinate system axis. The first axisID, if any, is normally the primary identification code, and any others are aliases.
Comments on or information about this coordinate system axis, including data source information.
An identification of a coordinate system axis.
The abbreviation used for this coordinate system axis. This abbreviation can be used to identify the ordinates in a coordinate tuple. Examples are X and Y. The codeSpace attribute can reference a source of more information on a set of standardized abbreviations, or on this abbreviation.
Direction of this coordinate system axis (or in the case of Cartesian projected coordinates, the direction of this coordinate system axis at the origin). Examples: north or south, east or west, up or down. Within any set of coordinate system axes, only one of each pair of terms can be used. For earthfixed 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. Note that an EngineeringCRS can include specific descriptions of the directions of its coordinate system axes. For example, the path of a linear CRS axis can be referenced in another document, such as referencing a GML feature that references or includes a curve geometry. The codeSpace attribute can reference a source of more information on a set of standardized directions, or on this direction.
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.
Association to a coordinate system axis, either referencing or containing the definition of that axis.
Basic encoding for coordinate system objects, simplifying and restricting the DefinitionType as needed.
The name by which this coordinate system is identified.
A coordinate system (CS) is the set 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, whenever those coordinates use a coordinate reference system that uses this coordinate system. This abstract complexType 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.
Set of alternative identifications of this coordinate system. The first csID, if any, is normally the primary identification code, and any others are aliases.
Comments on or information about this coordinate system, including data source information.
Ordered sequence of associations to the coordinate system axes included in this coordinate system.
An identification of a coordinate system.
Association to a coordinate system axis.
Association to a coordinate system, either referencing or containing the definition of that coordinate system.
A two or threedimensional coordinate system in which position is specified by geodetic latitude, geodetic longitude, and (in the threedimensional case) ellipsoidal height. An EllipsoidalCS shall have two or three usesAxis associations.
Association to an ellipsoidal coordinate system, either referencing or containing the definition of that coordinate system.
A 1, 2, or 3dimensional coordinate system. Gives the position of points relative to orthogonal straight axes in the 2 and 3dimensional cases. In the 1dimensional case, it contains a single straight coordinate axis. In the multidimensional case, all axes shall have the same length unit of measure. A CartesianCS shall have one, two, or three usesAxis associations.
Association to a Cartesian coordinate system, either referencing or containing the definition of that coordinate system.
A onedimensional 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 usesAxis association.
Association to a vertical coordinate system, either referencing or containing the definition of that coordinate system.
A onedimensional coordinate system containing a single time axis, used to describe the temporal position of a point in the specified time units from a specified time origin. A TemporalCS shall have one usesAxis association.
Association to a temporal coordinate system, either referencing or containing the definition of that coordinate system.
A onedimensional coordinate system that consists of the points that lie on the single axis described. The associated ordinate is the distance from the specified origin to the point along the axis. Example: usage of the line feature representing a road to describe points on or along that road. A LinearCS shall have one usesAxis association.
Association to a linear coordinate system, either referencing or containing the definition of that coordinate system.
A two or threedimensional coordinate system that consists of any combination of coordinate axes not covered by any other coordinate system type. An example is a multilinear coordinate system which contains one coordinate axis that may have any 1D shape which has no intersections with itself. This nonstraight axis is supplemented by one or two straight axes to complete a 2 or 3 dimensional coordinate system. The nonstraight axis is typically incrementally straight or curved. A UserDefinedCS shall have two or three usesAxis associations.
Association to a userdefined coordinate system, either referencing or containing the definition of that coordinate system.
A threedimensional coordinate system with one distance measured from the origin and two angular coordinates. Not to be confused with an ellipsoidal coordinate system based on an ellipsoid "degenerated" into a sphere. A SphericalCS shall have three usesAxis associations.
Association to a spherical coordinate system, either referencing or containing the definition of that coordinate system.
A twodimensional 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 usesAxis associations.
Association to a polar coordinate system, either referencing or containing the definition of that coordinate system.
A threedimensional 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 usesAxis associations.
Association to a cylindrical coordinate system, either referencing or containing the definition of that coordinate system.
A two or threedimensional coordinate system with straight axes that are not necessarily orthogonal. An ObliqueCartesianCS shall have two or three usesAxis associations.
Association to an obliqueCartesian coordinate system, either referencing or containing the definition of that coordinate system.
coverage.xsd
GML Coverage schema.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
Abstract element which acts as the head of a substitution group for coverages. Note that a coverage is a GML feature.
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
A discrete coverage consists of a domain set, range set and optionally a coverage function. The domain set consists of either geometry or temporal 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. This definition conforms to ISO 19123.
The spatiotemporal domain of a coverage.
Typically
* a geometry collection,
* an implicit geometry (e.g. a grid),
* an explicit or implicit collection of time instances or periods, or
N.B. Temporal geometric complexes and temporal grids are not yet implemented in GML.
each member _Value holds a tuple or "row" from the equivalent table
each list holds the complete set of one scalar component from the values  i.e. a "column" from the equivalent table
Its tuple list holds the values as spaceseparated tuples each of which contains commaseparated components, and the tuple structure is specified using the rangeParameters property.
a reference to an external source for the data, together with a description of how that external source is structured
The function or rule which defines the map from members of the domainSet to the range.
More functions will be added to this list
List of codes that identifies the file structure model for records stored in files.
Metadata about the rangeSet. Definition of record structure.
This is required if the rangeSet is encoded in a DataBlock.
We use a gml:_Value with empty values as a map of the composite value structure.
Description of a rule for associating members from the domainSet with members of the rangeSet.
Defines how values in the domain are mapped to the range set. The start point and the sequencing rule are specified here.
If absent, the implied value is "Linear".
Index position of the first grid post, which must lie somwhere in the GridEnvelope. If absent, the startPoint is equal to the value of gridEnvelope::low from the grid definition.
Exends GridFunctionType with a lookUpTable. This contains a list of indexes of members within the rangeSet corresponding with the members of the domainSet. The domainSet is traversed in list order if it is enumerated explicitly, or in the order specified by a SequenceRule if the domain is an implicit set. The length of the lookUpTable corresponds with the length of the subset of the domainSet for which the coverage is defined.
List of codes (adopted from ISO 19123 Annex C) that identifies the rule for traversing a grid to correspond with the sequence of members of the rangeSet.
The enumeration value here indicates the incrementation order to be used on the first 2 axes, i.e. "+xy" means that the points on the first axis are to be traversed from lowest to highest and the points on the second axis are to be traversed from highest to lowest. The points on all other axes (if any) beyond the first 2 are assumed to increment from lowest to highest.
A discrete coverage type whose domain is defined by a collection of point
A discrete coverage type whose domain is defined by a collection of curves.
A discrete coverage type whose domain is defined by a collection of surface patches (includes polygons, triangles, rectangles, etc).
A discrete coverage type whose domain is defined by a collection of Solids.
How to encode positional data quality information. Builds on units.xsd to encode the data needed to describe the positional accuracy of coordinate operations.
This schema encodes the Data Quality (DQ) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111  Spatial referencing by coordinates, as described in Annex C of Topic 2.
Caution: The CRS package in GML 3.1 and GML 3.1.1 is preliminary, and is expected to undergo some modifications that are not backward compatible during the development of GML 3.2 (ISO 19136). The GML 3.2 package will implement the model described in the revised version of ISO 19111.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
Position error estimate (or accuracy) data.
A description of the position accuracy parameter(s) provided.
Closeness of reported coordinate values to values accepted as or being true.
Closeness of the relative positions of two or more positions to their respective relative positions accepted as or being true.
A quantitative result defined by the evaluation procedure used, and identified by the measureDescription.
Error estimate covariance matrix.
Ordered sequence of units of measure, corresponding to the row and column index numbers of the covariance matrix, starting with row and column 1 and ending with row/column N. Each unit of measure is for the ordinate reflected in the relevant row and column of the covariance matrix.
Unordered set of elements in this covariance matrix. Because the covariance matrix is symmetrical, only the elements in the upper or lower diagonal part (including the main diagonal) of the matrix need to be specified. Any zero valued covariance elements can be omitted.
An element of a covariance matrix.
Row number of this covariance element value.
Column number of this covariance element value.
Value of covariance matrix element.
How to encode datum definitions. Builds on referenceSystems.xsd to encode the data needed to define datums, including the specific subtypes of datums.
This schema encodes the Datum (CD_) package of the extended UML Model for OGC Abstract Specification Topic 2: Spatial Referencing by Coordinates. That UML model is adapted from ISO 19111  Spatial referencing by coordinates, as described in Annex C of Topic 2.
Caution: The CRS package in GML 3.1 and GML 3.1.1 is preliminary, and is expected to undergo some modifications that are not backward compatible during the development of GML 3.2 (ISO 19136). The GML 3.2 package will implement the model described in the revised version of ISO 19111.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
Basic encoding for datum objects, simplifying and restricting the DefinitionType as needed.
The name by which this datum is identified.
A datum 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 can be associated with only specific types of coordinate systems. This abstract complexType 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.
Set of alternative identifications of this datum. The first datumID, if any, is normally the primary identification code, and any others are aliases.
Comments on this reference system, including source information.
An identification of a datum.
Description, possibly including coordinates, of the point or points used to anchor the datum to the Earth. Also known as the "origin", especially for engineering and image datums. The codeSpace attribute can 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 point may be a physical point, or it may be a point with defined coordinates in another CRS. When appropriate, the coordinates of this anchor point can be referenced in another document, such as referencing a GML feature that references or includes a point position.
 For an image datum, the anchor point 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 point, a temporal datum carries a separate time origin of type DateTime.
The time after which this datum definition is valid. This time may be precise (e.g. 1997.0 for IRTF97) or merely a year (e.g. 1983 for NAD83). In the latter case, the epoch usually refers to the year in which a major recalculation of the geodetic control network, underlying the datum, was executed or initiated. An old datum can remain valid after a new datum is defined. Alternatively, a datum may be superseded by a later datum, in which case the realization epoch for the new datum defines the upper limit for the validity of the superseded datum.
Association to a datum, either referencing or containing the definition of that datum.
An engineering datum defines the origin of an engineering coordinate reference system, and is used in a region around that origin. This origin can 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).
Association to an engineering datum, either referencing or containing the definition of that datum.
An image datum defines the origin of an image coordinate reference system, and is used in a local context only. For more information, see OGC Abstract Specification Topic 2.
Specification of the way an image grid is associated with the image data attributes.
Reference to a source of information specifying the values and meanings of all the allowed string values for this PixelInCellType.
Association to an image datum, either referencing or containing the definition of that datum.
A textual description and/or a set of parameters identifying a particular reference level surface used as a zeroheight surface, including its position with respect to the Earth for any of the height types recognized by this standard. There are several types of Vertical Datums, and each may place constraints on the Coordinate Axis with which it is combined to create a Vertical CRS.
Type of a vertical datum.
Reference to a source of information specifying the values and meanings of all the allowed string values for this VerticalDatumTypeType.
Association to a vertical datum, either referencing or containing the definition of that datum.
Partially defines the origin of a temporal coordinate reference system. This type restricts the AbstractDatumType to remove the "anchorPoint" and "realizationEpoch" elements.
Defines the origin of a temporal coordinate reference system. This type extends the TemporalDatumRestrictionType to add the "origin" element with the dateTime type.
The date and time origin of this temporal datum.
Association to a temporal datum, either referencing or containing the definition of that datum.
A geodetic datum defines the precise location and orientation in 3dimensional space of a defined ellipsoid (or sphere) that approximates the shape of the earth, or of a Cartesian coordinate system centered in this ellipsoid (or sphere).
Association to the prime meridian used by this geodetic datum.
Association to the ellipsoid used by this geodetic datum.
Association to a geodetic datum, either referencing or containing the definition of that datum.
Basic encoding for prime meridian objects, simplifying and restricting the DefinitionType as needed.
The name by which this prime meridian is identified. The meridianName most common value is Greenwich, and that value shall be used when the greenwichLongitude value is zero.
A prime meridian defines the origin from which longitude values are determined.
Set of alternative identifications of this prime meridian. The first meridianID, if any, is normally the primary identification code, and any others are aliases.
Comments on or information about this prime meridian, including source information.
An identification of a prime meridian.
Longitude of the prime meridian measured from the Greenwich meridian, positive eastward. The greenwichLongitude most common value is zero, and that value shall be used when the meridianName value is Greenwich.
Association to a prime meridian, either referencing or containing the definition of that meridian.
Basic encoding for ellipsoid objects, simplifying and restricting the DefinitionType as needed.
The name by which this ellipsoid is identified.
An ellipsoid is a geometric figure that can 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.
Set of alternative identifications of this ellipsoid. The first ellipsoidID, if any, is normally the primary identification code, and any others are aliases.
Comments on or information about this ellipsoid, including source information.
An identification of an ellipsoid.
Length of the semimajor 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.
Association to an ellipsoid, either referencing or containing the definition of that ellipsoid.
Definition of the second parameter that defines the shape of an ellipsoid. An ellipsoid requires two defining parameters: semimajor axis and inverse flattening or semimajor axis and semiminor 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 semimajor axis "degenerates" into the radius of the sphere.
Inverse flattening value of the ellipsoid. Value is a scale factor (or ratio) that has no physical unit. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a scale factor, such as percent, permil, or partspermillion.
Length of the semiminor axis of the ellipsoid. 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.
The ellipsoid is degenerate and is actually a sphere. The sphere is completely defined by the semimajor axis, which is the radius of the sphere.
defaultStyle.xsd
Default Style schema for GML 3.1.1
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
Toplevel property. Used in application schemas to "attach" the styling information to GML data. The link between the data and the style should be established through this property only.
[complexType of] Toplevel property. Used in application schemas to "attach" the styling information to GML data. The link between the data and the style should be established through this property only.
The value of the toplevel property. It is an abstract element. Used as the head element of the substitution group for extensibility purposes.
[complexType of] The value of the toplevel property. It is an abstract element. Used as the head element of the substitution group for extensibility purposes.
Predefined concrete value of the toplevel property. Encapsulates all other styling information.
[complexType of] Predefined concrete value of the toplevel property. Encapsulates all other styling information.
The style descriptor for features.
[complexType of] The style descriptor for features.
Used to specify the grammar of the feature query mechanism.
Base complex type for geometry, topology, label and graph styles.
The style descriptor for geometries of a feature.
[complexType of] The style descriptor for geometries of a feature.
deprecated
Deprecated in GML version 3.1.0. Use symbol with inline content instead.
The style descriptor for topologies of a feature. Describes individual topology elements styles.
[complexType of] The style descriptor for topologies of a feature. Describes individual topology elements styles.
deprecated
Deprecated in GML version 3.1.0. Use symbol with inline content instead.
The style descriptor for labels of a feature, geometry or topology.
[complexType of] The style descriptor for labels of a feature, geometry or topology.
The style descriptor for a graph consisting of a number of features. Describes graphspecific style attributes.
[complexType of] The style descriptor for a graph consisting of a number of features. Describes graphspecific style attributes.
The symbol property. Extends the gml:AssociationType to allow for remote referencing of symbols.
[complexType of] The symbol property. Allows for remote referencing of symbols.
Used to specify the type of the symbol used.
Label is mixed  composed of text and XPath expressions used to extract the useful information from the feature.
Defines the geometric transformation of entities. There is no particular grammar defined for this value.
Used to vary individual graphic parameters and attributes of the style, symbol or text.
Graphspecific styling property.
Graphspecific styling property.
Graphspecific styling property.
Graphspecific styling property.
Dictionary schema for GML 3.1.1
Components to support the lists of definitions.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
This content model group makes it easier to construct types that
derive from DefinitionType and its descendents "by restriction".
A reference to the group saves having to enumerate the standard definition properties.
See definition of StandardObjectProperties for more documentation
A definition, which can be included in or referenced by a dictionary. In this extended type, the inherited "description" optional element can hold the definition whenever only text is needed. The inherited "name" elements can provide one or more brief terms for which this is the definition. The inherited "metaDataProperty" elements can be used to reference or include more information about this definition.
The gml:id attribute is required  it must be possible to reference this definition using this handle.
A nonabstract bag that is specialized for use as a dictionary which contains a set of definitions. These definitions are referenced from other places, in the same and different XML documents. In this restricted type, the inherited optional "description" element can be used for a description of this dictionary. The inherited optional "name" element can be used for the name(s) of this dictionary. The inherited "metaDataProperty" elements can be used to reference or contain more information about this dictionary. The inherited required gml:id attribute allows the dictionary to be referenced using this handle.
An entry in this dictionary. The content of an entry can itself be a lower level dictionary or definition collection. This element follows the standard GML property model, so the value may be provided directly or by reference. 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 entry in this context. When used in this way the referenced definition will usually be in a dictionary in the same XML document.
An identified reference to a remote entry in this dictionary, to be used when this entry should be identified to allow external references to this specific entry.
An entry in a dictionary of definitions. An instance of this type contains or refers to a definition object.
The number of definitions contained in this dictionaryEntry is restricted to one, but a DefinitionCollection or Dictionary that contains multiple definitions can be substituted if needed. Specialized descendents of this dictionaryEntry might be restricted in an application schema to allow only including specified types of definitions as valid entries in a dictionary.
This element in a dictionary entry contains the actual definition.
A nonidentified reference to a remote entry in this dictionary, to be used when this entry need not be identified to allow external references to this specific entry. The remote entry referenced will usually be in a dictionary in the same XML document. This element will usually be used in dictionaries that are inside of another dictionary.
An entry in a dictionary of definitions that contains a GML object which references a remote definition object. This entry is expected to be convenient in allowing multiple elements in one XML document to contain short (abbreviated XPointer) references, which are resolved to an external definition provided in a Dictionary element in the same XML document. Specialized descendents of this dictionaryEntry might be restricted in an application schema to allow only including specified types of definitions as valid entries in a dictionary.
A proxy entry in a dictionary of definitions. An element of this type contains a reference to a remote definition object. This entry is expected to be convenient in allowing multiple elements in one XML document to contain short (abbreviated XPointer) references, which are resolved to an external definition provided in a Dictionary element in the same XML document.
A reference to a remote entry in this dictionary, used when this dictionary entry is identified to allow external references to this specific entry. The remote entry referenced can be in a dictionary in the same or different XML document.
direction.xsd
This schema defines "direction" element and type.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
Direction expressed as a vector, either using components, or using angles.
Basic support for tracking moving objects and objects with changing state.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
A timeslice encapsulates the timevarying properties of a dynamic featureit
must be extended to represent a timestamped projection of a feature. The dataSource
property describes how the temporal data was acquired.
This type encapsulates various dynamic properties of moving objects
(points, lines, regions). It is useful for dealing with features whose
geometry or topology changes over time.
The history relationship associates a feature with a sequence of TimeSlice instances.
The track of a moving object is a sequence of specialized timeslices that indicate the status of the object.
A dynamic feature may possess a history and/or a timestamp.
A dynamic feature collection may possess a history and/or a timestamp.
GML Feature schema.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
An abstract feature provides a set of common properties, including id, metaDataProperty, name and description inherited from AbstractGMLType, plus boundedBy. A concrete feature type must derive from this type and specify additional properties in an application schema. A feature must possess an identifying attribute ('id'  'fid' has been deprecated).
deprecated
deprecated in GML version 3.1
Bounding shape.
Envelope that includes also a temporal extent.
Container for a feature  follow gml:AssociationType pattern.
Container for features  follow gml:ArrayAssociationType pattern.
A feature collection contains zero or more features.
Concrete generic feature collection.
Makes boundedBy mandatory
deprecated
deprecated in GML version 3.1
Deprecated in GML 3.1.0
Convenience property for generalised location.
A representative location for plotting or analysis.
Often augmented by one or more additional geometry properties with more specific semantics.
Deprecated in GML 3.1.0
Deprecated in GML 3.1.0
GXML component
Deprecated in GML 3.1.0
geometryAggregates.xsd
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
The "_GeometricAggregate" element is the abstract head of the substituition group for all geometric aggremates.
This is the abstract root type of the geometric aggregates.
A geometry collection must include one or more geometries, referenced through geometryMember elements.
The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection.
NOTE: Array properties cannot reference remote geometry elements.
This property element either references a geometric aggregate via the XLinkattributes or contains the "multi geometry" element. multiGeometryProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for _GeometricAggregate.
A property that has a geometric aggregate as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
A MultiPoint is defined by one or more Points, referenced through pointMember elements.
The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection.
NOTE: Array properties cannot reference remote geometry elements.
This property element either references a point aggregate via the XLinkattributes or contains the "multi point" element. multiPointProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for MultiPoint.
A property that has a collection of points as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
A MultiCurve is defined by one or more Curves, referenced through curveMember elements.
The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection.
NOTE: Array properties cannot reference remote geometry elements.
This property element either references a curve aggregate via the XLinkattributes or contains the "multi curve" element. multiCurveProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for MultiCurve.
A property that has a collection of curves as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
A MultiSurface is defined by one or more Surfaces, referenced through surfaceMember elements.
The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection.
NOTE: Array properties cannot reference remote geometry elements.
This property element either references a surface aggregate via the XLinkattributes or contains the "multi surface" element. multiSurfaceProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for MultiSurface.
A property that has a collection of surfaces as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
A MultiSolid is defined by one or more Solids, referenced through solidMember elements.
The members of the geometric aggregate can be specified either using the "standard" property or the array property style. It is also valid to use both the "standard" and the array property style in the same collection.
NOTE: Array properties cannot reference remote geometry elements.
This property element either references a solid aggregate via the XLinkattributes or contains the "multi solid" element. multiSolidProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for MultiSolid.
A property that has a collection of solids as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
Deprecated with GML 3.0 and included for backwards compatibility with GML 2. Use the "MultiSurface" element instead.
Deprecated with GML 3.0 and included for backwards compatibility with GML 2. Use the "MultiCurve" element instead.
A MultiLineString is defined by one or more LineStrings, referenced through lineStringMember elements. Deprecated with GML version 3.0. Use MultiCurveType instead.
This type is deprecated with GML 3 and shall not be used. It is included for backwards compatibility with GML 2. Use MultiCurvePropertyType instead.
A property that has a collection of line strings as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
A MultiPolygon is defined by one or more Polygons, referenced through polygonMember elements. Deprecated with GML version 3.0. Use MultiSurfaceType instead.
This type is deprecated with GML 3 and shall not be used. It is included for backwards compatibility with GML 2. Use MultiSurfacePropertyType instead.
A property that has a collection of polygons as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
This property element either references a geometry element via the XLinkattributes 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.
This property element either references a Point via the XLinkattributes 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.
This property element contains a list of curves. The order of the elements is significant and shall be preserved when processing the array.
This property element either references a surface via the XLinkattributes or contains the surface element. A surface element is any element which is substitutable for "_Surface".
This property element contains a list of surfaces. The order of the elements is significant and shall be preserved when processing the array.
This property element either references a solid via the XLinkattributes or contains the solid element. A solid element is any element which is substitutable for "_Solid".
This property element contains a list of solids. The order of the elements is significant and shall be preserved when processing the array.
deprecated
Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "curveMember" instead.
This property element either references a line string via the XLinkattributes or contains the line string element.
deprecated
Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "curveMember" instead.
This property element either references a line string via the XLinkattributes or contains the line string element.
deprecated
Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "surfaceMember" instead.
This property element either references a polygon via the XLinkattributes or contains the polygon element.
geometryBasic0d1d.xsd
Schematron validation
The presence of a dimension attribute implies the presence of the srsName attribute.
The presence of an axisLabels attribute implies the presence of the srsName attribute.
The presence of an uomLabels attribute implies the presence of the srsName attribute.
The presence of an uomLabels attribute implies the presence of the axisLabels attribute and vice versa.
The presence of a count attribute implies the presence of the dimension attribute.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
This includes not only measures.xsd, but also units.xsd, gmlBase.xsd and basicTypes.xsd.
The "_Geometry" element is the abstract head of the substituition group for all geometry elements of GML 3. This
includes predefined and userdefined geometry elements. Any geometry element must be a direct or indirect extension/restriction
of AbstractGeometryType and must be directly or indirectly in the substitution group of "_Geometry".
A geometric property can 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 document). Note that either
the reference or the contained element must be given, but not both or none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference
remote resources (including those elsewhere in the same document). A simple link element can be constructed by
including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation
of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create
sophisticated links between resources; such links can be used to reference remote properties. A simple link element
can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by
including the gml:AssociationAttributeGroup.
A container for an array of geometry elements. The elements are always contained in the array property,
referencing geometry elements or arrays of geometry elements is not supported.
All geometry elements are derived directly or indirectly from this abstract supertype. A geometry element may
have an identifying attribute ("gml:id"), a name (attribute "name") and a description (attribute "description"). It may be associated
with a spatial reference system (attribute "srsName"). The following rules shall be adhered:  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 _Geometry.
This attribute is included for backward compatibility with GML 2 and is deprecated with GML 3.
This identifer is superceded by "gml:id" inherited from AbstractGMLType. The attribute "gid" should not be used
anymore and may be deleted in future versions of GML without further notice.
Optional reference to the CRS used by this geometry, with optional additional information to simplify use when
a more complete definition of the CRS is not needed.
In general this reference points to a CRS instance of gml:CoordinateReferenceSystemType
(see coordinateReferenceSystems.xsd). 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 must be specified as part of the larger context this
geometry element is part of, e.g. a geometric element like point, curve, etc. It is expected that this attribute will be specified
at the direct position level only in rare cases.
The "srsDimension" is the length of coordinate sequence (the number of entries in the list). This dimension is
specified by the coordinate reference system. When the srsName attribute is omitted, this attribute shall be omitted.
Optional additional and redundant information for a CRS to simplify use when a more complete definition of the
CRS is not needed. This information shall be the same as included in the more 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.
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 forbiddden 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.
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 forbiddden 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 "_GeometricPrimitive" element is the abstract head of the substituition group for all (pre and userdefined)
geometric primitives.
This 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.
A property that has a geometric primitive as its value domain can 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 must be given, but neither
both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote
resources (including those elsewhere in the same document). A simple link element can be constructed by including a
specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide
Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between
resources; such links can be used to reference remote properties. A simple link element can be used to implement pointer
functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
A Point is defined by a single coordinate tuple.
GML supports two different ways to specify the direct poisiton of a point. 1. The "pos" element is of type
DirectPositionType.
Deprecated with GML version 3.1.0 for coordinates with ordinate values that are numbers. Use "pos"
instead. The "coordinates" element shall only be used for coordinates with ordinates that require a string
representation, e.g. DMS representations.
Deprecated with GML version 3.0. Use "pos" instead. The "coord" element is included for
backwards compatibility with GML 2.
This property element either references a point via the XLinkattributes or contains the point element. pointProperty
is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that
is substitutable for Point.
Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.
A property that has a point as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote
resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific
set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium.
XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be
used to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has
been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
A container for an array of points. The elements are always contained in the array property, referencing geometry
elements or arrays of geometry elements is not supported.
The "_Curve" element is the abstract head of the substituition group for all (continuous) curve elements.
An abstraction of a curve to support the different levels of complexity. The curve can always be viewed as a geometric
primitive, i.e. is continuous.
This property element either references a curve via the XLinkattributes or contains the curve element. curveProperty is the
predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is
substitutable for _Curve.
A property that has a curve as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote
resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific
set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium.
XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used
to reference remote properties. A simple link element can be used to implement pointer functionality, and this functionality has been built
into various GML 3 elements by including the gml:AssociationAttributeGroup.
A container for an array of curves. The elements are always contained in the array property, referencing geometry elements
or arrays of geometry elements 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. It is backwards compatible with the LineString of GML 2, GM_LineString of ISO 19107 is
implemented by LineStringSegment.
GML supports two different ways to specify the control points of a line string. 1. A sequence of "pos"
(DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part
of this curve, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference
another point defined outside of this curve (reuse of existing points). 2. The "posList" element allows for a compact way to
specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong
to this curve only. The number of direct positions in the list must be at least two.
Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility
with GML 3.0.0.
Deprecated with GML version 3.0. Use "pos" instead. The "coord" element is included for backwards
compatibility with GML 2.
Deprecated with GML version 3.1.0. Use "posList" instead.
DirectPosition instances hold the coordinates for a position within some coordinate reference system (CRS). Since
DirectPositions, 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 DirectPosition 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.
DirectPositionList instances hold the coordinates for a sequence of direct positions within the same coordinate
reference system (CRS).
"count" allows to specify the number of direct positions in the list. If the attribute count is present then
the attribute srsDimension shall be present, too.
Vector instances hold the compoents for a (usually spatial) vector within some coordinate reference system (CRS).
Since Vectors will often be included in larger objects that have references to CRS, the "srsName" attribute may be missing.
In this case, the CRS is implicitly assumed to take on the value of the containing object's CRS.
Note that this content model is the same as DirectPositionType, but is defined separately to reflect the distinct semantics, and to avoid validation problems. SJDC 20041202
A geometric position represented either by a DirectPosition or a Point.
A list of geometric positions represented either by a DirectPosition or a Point.
Deprecated with GML version 3.1.0.
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).
deprecated
deprecated with GML version 3.0
deprecated
Deprecated with GML version 3.1. Use the explicit properties "lowerCorner" and "upperCorner" instead.
Deprecated with GML version 3.1.0. Use the explicit properties "lowerCorner" and "upperCorner" instead.
Deprecated with GML 3.0 and included for backwards compatibility with GML 2. Use the "pos" element instead.
Represents a coordinate tuple in one, two, or three dimensions. Deprecated with GML 3.0 and replaced by
DirectPositionType.
Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "curveProperty" instead. This
property element either references a line string via the XLinkattributes or contains the line string element.
This type is deprecated with GML 3 and shall not be used. It is included for backwards compatibility with GML 2. Use
CurvePropertyType instead. A property that has a line string as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources
(including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes.
The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to
be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by
including the gml:AssociationAttributeGroup.
geometryBasic2d.xsd
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
The "_Surface" element is the abstract head of the substituition group for all (continuous) surface elements.
An abstraction of a surface to support the different levels of complexity. A surface is always a continuous region of a plane.
This property element either references a surface via the XLinkattributes or contains the surface element. surfaceProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for _Surface.
A property that has a surface as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
A container for an array of surfaces. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements is not supported.
A Polygon is a special surface that is defined by a single surface patch. The boundary of this patch is coplanar and the polygon uses planar interpolation in its interior. It is backwards compatible with the Polygon of GML 2, GM_Polygon of ISO 19107 is implemented by PolygonPatch.
The "_Ring" element is the abstract head of the substituition group for all closed boundaries of a surface patch.
An abstraction of a ring to support surface boundaries of different complexity.
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 seperate the surface / surface patch from the area enclosed by the rings.
Deprecated with GML 3.0, included only for backwards compatibility with GML 2. Use "exterior" instead.
Deprecated with GML 3.0, included only for backwards compatibility with GML 2. Use "interior" instead.
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 must be coincident.
GML supports two different ways to specify the control points of a linear ring.
1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this ring, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this ring (reuse of existing points).
2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this ring only. The number of direct positions in the list must be at least four.
Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.
Deprecated with GML version 3.1.0. Use "posList" instead.
Deprecated with GML version 3.0 and included for backwards compatibility with GML 2. Use "pos" elements instead.
Encapsulates a ring to represent properties in features or geometry collections.
Deprecated with GML 3.0 and included only for backwards compatibility with GML 2.0. Use "surfaceProperty" instead.
This property element either references a polygon via the XLinkattributes or contains the polygon element.
This type is deprecated with GML 3 and shall not be used. It is included for backwards compatibility with GML 2. Use SurfacePropertyType instead.
A property that has a polygon as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
geometryComplexes.xsd
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
A CompositeCurve is defined by a sequence of (orientable) curves such that the each curve in the sequence terminates at the start point of the subsequent curve in the list.
This element references or contains one curve in the composite curve. The curves are contiguous, the collection of curves is ordered.
NOTE: This definition allows for a nested structure, i.e. a CompositeCurve may use, for example, another CompositeCurve as a curve member.
A CompositeSurface is defined by a set of orientable surfaces. A composite surface 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.
This element references or contains one surface in the composite surface. The surfaces are contiguous.
NOTE: This definition allows for a nested structure, i.e. a CompositeSurface may use, for example, another CompositeSurface as a member.
A composite solid 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.
This element references or contains one solid in the composite solid. The solids are contiguous.
NOTE: This definition allows for a nested structure, i.e. a CompositeSolid may use, for example, another CompositeSolid as a member.
A geometric complex.
A property that has a geometric complex as its value domain can 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 must be given, but neither both nor none.
NOTE: The allowed geometry elements contained in such a property (or referenced by it) have to be modelled by an XML Schema choice element since the composites inherit both from geometric complex *and* geometric primitive and are already part of the _GeometricPrimitive substitution group.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
geometryPrimitives.xsd
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
Curve is a 1dimensional 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.
This element encapsulates the segments of the curve.
This property element either references a curve via the XLinkattributes or contains the curve element. A curve element is any element which is substitutable for "_Curve".
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 _Curve with a parameterization that reverses the sense of the curve traversal.
References or contains the base curve (positive orientation).
NOTE: This definition allows for a nested structure, i.e. an OrientableCurve may use another OrientableCurve as its base curve.
If the orientation is "+", then the OrientableCurve is identical to the baseCurve. If the orientation is "", then the OrientableCurve is related to another _Curve with a parameterization that reverses the sense of the curve traversal. "+" is the default value.
The "_CurveSegment" element is the abstract head of the substituition group for all curve segment elements, i.e. continuous segments of the same interpolation mechanism.
Curve segment defines a homogeneous segment of a curve.
The attribute "numDerivativesAtStart" specifies the type of continuity between this curve segment and its predecessor. If this is the first curve segment in the curve, one of these values, as appropriate, is ignored. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity.
NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity.
The attribute "numDerivativesAtEnd" specifies the type of continuity between this curve segment and its successor. If this is the last curve segment in the curve, one of these values, as appropriate, is ignored. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity.
NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity.
The attribute "numDerivativesInterior" specifies the type of continuity that is guaranteed interior to the curve. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity.
NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity.
This property element contains a list of curve segments. The order of the elements is significant and shall be preserved when processing the array.
A container for an array of curve segments.
A LineStringSegment is a curve segment that is defined by two or more coordinate tuples, with linear interpolation between them.
Note: LineStringSegment implements GM_LineString of ISO 19107.
GML supports two different ways to specify the control points of a curve segment.
1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the list must be at least two.
Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.
Deprecated with GML version 3.1.0. Use "posList" instead.
The attribute "interpolation" specifies 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. For a LineStringSegment the interpolation is fixed as "linear".
An ArcString is a curve segment that uses threepoint circular arc interpolation.
GML supports two different ways to specify the control points of a curve segment.
1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the list must be at least three.
Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.
Deprecated with GML version 3.1.0. Use "posList" instead.
The attribute "interpolation" specifies 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. For an ArcString the interpolation is fixed as "circularArc3Points".
The number of arcs in the arc string can be explicitly stated in this attribute. The number of control points in the arc string must be 2 * numArc + 1.
An Arc is an arc string with only one arc unit, i.e. three control points.
GML supports two different ways to specify the control points of a curve segment.
1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the list must be three.
Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.
Deprecated with GML version 3.1.0. Use "posList" instead.
An arc is an arc string consiting of a single arc, the attribute is fixed to "1".
A Circle is an arc whose ends coincide to form a simple closed loop. The "start" and "end" bearing are equal and shall be the bearing for the first controlPoint listed. The three control points must be distinct noncolinear 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.
GML supports two different ways to specify the control points of a curve segment.
1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the list must be at least two.
Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.
Deprecated with GML version 3.1.0. Use "posList" instead.
The bulge controls the offset of each arc's midpoint. The "bulge" is the real number multiplier for the normal that determines the offset direction of the midpoint of each arc. The length of the bulge sequence is exactly 1 less than the length of the control point array, since a bulge is needed for each pair of adjacent points in the control point array. The bulge is not given by a distance, since it is simply a multiplier for the normal.
The midpoint of the resulting arc is given by: midPoint = ((startPoint + endPoint)/2.0) + bulge*normal
The attribute "normal" is a vector normal (perpendicular) to the chord of the arc, the line joining the first and last
point of the arc. In a 2D coordinate system, there are only two possible directions for the normal, and it is often given as a signed real, indicating its length, with a positive sign indicating a left turn angle from the chord line, and a negative sign indicating a right turn from the chord. In 3D, the normal determines the plane of the arc, along with the start and endPoint of the arc.
The normal is usually a unit vector, but this is not absolutely necessary. If the normal is a zero vector, the geometric object becomes equivalent to the straight line between the two end points. The length of the normal sequence is exactly the same as for the bulge sequence, 1 less than the control point sequence length.
The attribute "interpolation" specifies 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. For an ArcStringByBulge the interpolation is fixed as "circularArc2PointWithBulge".
The number of arcs in the arc string can be explicitly stated in this attribute. The number of control points in the arc string must be numArc + 1.
An ArcByBulge is an arc string with only one arc unit, i.e. two control points and one bulge.
GML supports two different ways to specify the control points of a curve segment.
1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the list must be two.
Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.
Deprecated with GML version 3.1.0. Use "posList" instead.
The bulge controls the offset of each arc's midpoint. The "bulge" is the real number multiplier for the normal that determines the offset direction of the midpoint of each arc. The length of the bulge sequence is exactly 1 less than the length of the control point array, since a bulge is needed for each pair of adjacent points in the control point array. The bulge is not given by a distance, since it is simply a multiplier for the normal.
The midpoint of the resulting arc is given by: midPoint = ((startPoint + endPoint)/2.0) + bulge*normal
The attribute "normal" is a vector normal (perpendicular) to the chord of the arc, the line joining the first and last
point of the arc. In a 2D coordinate system, there are only two possible directions for the normal, and it is often given as a signed real, indicating its length, with a positive sign indicating a left turn angle from the chord line, and a negative sign indicating a right turn from the chord. In 3D, the normal determines the plane of the arc, along with the start and endPoint of the arc.
The normal is usually a unit vector, but this is not absolutely necessary. If the normal is a zero vector, the geometric object becomes equivalent to the straight line between the two end points. The length of the normal sequence is exactly the same as for the bulge sequence, 1 less than the control point sequence length.
An arc is an arc string consiting of a single arc, the attribute is fixed to "1".
This variant of the arc requires that the points on the arc have to be computed instead of storing the coordinates directly. The control point is the center point of the arc plus the radius and the bearing at start and end. This represenation can be used only in 2D.
GML supports two different ways to specify the control points of a curve segment.
1. A "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) element. The "pos" element contains a center point that is only part of this curve segment, a "pointProperty" element contains a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
2. The "posList" element can be used to specifiy the coordinates of the center point, too. The number of direct positions in the list must be one.
Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.
Deprecated with GML version 3.1.0. Use "posList" instead.
The radius of the arc.
The bearing of the arc at the start.
The bearing of the arc at the end.
The attribute "interpolation" specifies 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. For an ArcByCenterPoint the interpolation is fixed as "circularArcCenterPointWithRadius".
Since this type describes always a single arc, the attribute is fixed to "1".
A CircleByCenterPoint is an ArcByCenterPoint with identical start and end angle to form a full circle. Again, this represenation can be used only in 2D.
An offset curve is a curve at a constant
distance from the basis curve. They can be useful as a cheap
and simple alternative to constructing curves that are offsets
by definition.
offsetBase is a reference to thecurve from which this
curve is define as an offset.
distance is the distance at which the
offset curve is generated from the basis curve. In 2D systems, positive distances
are to be to the left of the basis curve, and the negative distances are to be to the
right of the basis curve.
refDistance is used to define the vector
direction of the offset curve from the basis curve. It can
be omitted in the 2D case, where the distance can be
positive or negative. In that case, distance defines left
side (positive distance) or right side (negative distance)
with respect to the tangent to the basis curve.
In 3D the basis curve shall have a well defined tangent
direction for every point. The offset curve at any point
in 3D, the basis curve shall have a welldefined tangent
direction for every point. The offset curve at any point
(parameter) on the basis curve c is in the direction
   
s = v x t where v = c.refDirection()
and

t = c.tangent()

For the offset direction to be welldefined, v shall not
on any point of the curve be in the same, or opposite,
direction as

t.
The default value of the refDirection shall be the local
coordinate axis vector for elevation, which indicates up for
the curve in a geographic sense.
NOTE! If the refDirection is the positive tangent to the
local elevation axis ("points upward"), then the offset
vector points to the left of the curve when viewed from
above.
A placement takes a standard geometric
construction and places it in geographic space. It defines a
transformation from a constructive parameter space to the
coordinate space of the coordinate reference system being used.
Parameter spaces in formulae in this International Standard are
given as (u, v) in 2D and(u, v, w) in 3D. Coordinate reference
systems positions are given in formulae, in this International
Standard, by either (x, y) in 2D, or (x, y, z) in 3D.
Affine placements are defined by linear transformations from
parameter space to the target coordiante space. 2dimensional
Cartesian parameter space,(u,v) transforms into 3dimensional co
ordinate reference systems,(x,y,z) by using an affine
transformation,(u,v)>(x,y,z) which is defined :
x ux vx x0
u
y = uy vy + y0
v
x uz vz z0
Then, given this equation, the location element of the
AffinePlacement is the direct position (x0, y0, z0), which is the
target position of the origin in (u, v). The two reference
directions (ux, uy, uz) and (vx, vy, vz) are the target
directions of the unit vectors at the origin in (u, v).
The location property gives
the target of the parameter space origin. This is the vector
(x0, y0, z0) in the formulae above.
The attribute refDirection gives the
target directions for the coordinate basis vectors of the
parameter space. These are the columns of the matrix in the
formulae given above. The number of directions given shall be
inDimension. The dimension of the directions shall be
outDimension.
Dimension of the constructive parameter
space.
Dimension of the coordinate space.
A clothoid, or Cornu's spiral, is plane
curve whose curvature is a fixed function of its length.
In suitably chosen coordinates it is given by Fresnel's
integrals.
x(t) = 0integralt cos(AT*T/2)dT
y(t) = 0integralt sin(AT*T/2)dT
This geometry is mainly used as a transition curve between
curves of type straight line to circular arc or circular arc
to circular arc. With this curve type it is possible to
achieve a C2continous transition between the above mentioned
curve types. One formula for the Clothoid is A*A = R*t where
A is constant, R is the varying radius of curvature along the
the curve and t is the length along and given in the Fresnel
integrals.
The "refLocation" is an affine mapping
that places the curve defined by the Fresnel Integrals
into the coordinate reference system of this object.
The element gives the value for the
constant in the Fresnel's integrals.
The startParameter is the arc length
distance from the inflection point that will be the start
point for this curve segment. This shall be lower limit
used in the Fresnel integral and is the value of the
constructive parameter of this curve segment at its start
point. The startParameter can either be positive or
negative.
NOTE! If 0.0 (zero), lies between the startParameter and
the endParameter of the clothoid, then the curve goes
through the clothoid's inflection point, and the direction
of its radius of curvature, given by the second
derivative vector, changes sides with respect to the
tangent vector. The term length distance for the
The endParameter is the arc length
distance from the inflection point that will be the end
point for this curve segment. This shall be upper limit
used in the Fresnel integral and is the value of the
constructive parameter of this curve segment at its
start point. The startParameter can either be positive
or negative.
A GeodesicString consists of sequence of
geodesic segments. The type essentially combines a sequence of
Geodesic into a single object.
The GeodesicString is computed from two or more positions and an
interpolation using geodesics defined from the geoid (or
ellipsoid) of the coordinate reference system being used.
The attribute "interpolation" specifies 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. For an
GeodesicString the interpolation is fixed as "geodesic".
A Geodesic consists of two distinct
positions joined by a geodesic curve. The control points of
a Geodesic shall lie on the geodesic between its start
point and end points. Between these two points, a geodesic
curve defined from ellipsoid or geoid model used by the
coordinate reference systems may be used to interpolate
other positions. Any other point in the controlPoint array
must fall on this geodesic.
Cubic splines are similar to line strings in that they are a sequence of segments each with its own defining function. A cubic spline uses the control points and a set of derivative parameters to define a piecewise 3rd degree polynomial interpolation. Unlike linestrings, the parameterization by arc length is not necessarily still a polynomial.
The function describing the curve must be C2, that is, have a continuous 1st and 2nd derivative at all points, and pass through the controlPoints in the order given. Between the control points, the curve segment is defined by a cubic polynomial. At each control point, the polynomial changes in such a manner that the 1st and 2nd derivative vectors are the same from either side. The control parameters record must contain vectorAtStart, and vectorAtEnd which are the unit tangent vectors at controlPoint[1] and controlPoint[n] where n = controlPoint.count.
Note: only the direction of the vectors is relevant, not their length.
GML supports two different ways to specify the control points of a curve segment.
1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the list must be at least three.
Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.
Deprecated with GML version 3.1.0. Use "posList" instead.
"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.
The attribute "interpolation" specifies 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. For a CubicSpline the interpolation is fixed as "cubicSpline".
The degree for a cubic spline is "3".
A knot is a breakpoint on a piecewise spline curve.
The property "value" is the value of the parameter at the knot of the spline. The sequence of knots shall be a nondecreasing sequence. That is, each knot's value in the sequence shall be equal to or greater than the previous knot's value. The use of equal consecutive knots is normally handled using the multiplicity.
The property "multiplicity" is the multiplicity of this knot used in the definition of the spline (with the same weight).
The property "weight" is the value of the averaging weight used for this knot of the spline.
Encapsulates a knot to use it in a geometric type.
A BSpline is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. Knots are breakpoints on the curve that connect its pieces. They are given as a nondecreasing sequence of real numbers. If the weights in the knots are equal then it is a polynomial spline. The degree is the algebraic degree of the basis functions.
GML supports two different ways to specify the control points of a curve segment.
1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only.
Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.
Deprecated with GML version 3.1.0. Use "posList" instead.
The attribute "degree" shall be the degree of the polynomial used for interpolation in this spline.
The property "knot" shall be the sequence of distinct knots used to define the spline basis functions.
The attribute "interpolation" specifies 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. For a BSpline the interpolation can be either "polynomialSpline" or "rationalSpline", default is "polynomialSpline".
The attribute isPolynomial is set to true if this is a polynomial spline.
The attribute "knotType" gives the type of knot distribution used in defining this spline. This is for information only
and is set according to the different constructionfunctions.
Bezier curves are polynomial splines that use Bezier or Bernstein polynomials for interpolation purposes. It is a special case of the BSpline curve with two knots.
GML supports two different ways to specify the control points of a curve segment.
1. A sequence of "pos" (DirectPositionType) or "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
2. The "posList" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only.
Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.
Deprecated with GML version 3.1.0. Use "posList" instead.
The attribute "degree" shall be the degree of the polynomial used for interpolation in this spline.
The property "knot" shall be the sequence of distinct knots used to define the spline basis functions.
The attribute "interpolation" specifies 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. For a Bezier the interpolation is fixed as "polynomialSpline".
The attribute isPolynomial is set to true as this is a polynomial spline.
The property "knotType" is not relevant for Bezier curve segments.
A Surface is a 2dimensional primitive and is composed of one or more surface patches. The surface patches are connected to one another.
The orientation of the surface is positive ("up"). The orientation of a surface chooses an "up" direction through the choice of the upward normal, which, if the surface is not a cycle, is the side of the surface from which the exterior boundary appears counterclockwise. Reversal of the surface orientation reverses the curve orientation of each boundary component, and interchanges the conceptual "up" and "down" direction of the surface. If the surface is the boundary of a solid, the "up" direction is usually outward. For closed surfaces, which have no boundary, the up direction is that of the surface patches, which must be consistent with one another. Its included surface patches describe the interior structure of the Surface.
This element encapsulates the patches of the surface.
This property element either references a surface via the XLinkattributes or contains the surface element. A surface element is any element which is substitutable for "_Surface".
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 Surface with an upnormal that reverses the direction for this OrientableSurface, the sense of "the top of the surface".
References or contains the base surface (positive 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 Surface with an upnormal that reverses the direction for this OrientableSurface, the sense of "the top of the surface". "+" is the default value.
The "_SurfacePatch" element is the abstract head of the substituition group for all surface pach elements describing a continuous portion of a surface.
A surface patch defines a homogenuous portion of a surface.
This property element contains a list of surface patches. The order of the elements is significant and shall be preserved when processing the array.
A container for an array of surface patches.
A 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 are coplanar and the polygon uses planar interpolation in its interior. Implements GM_Polygon of ISO 19107.
The attribute "interpolation" specifies the interpolation mechanism used for this surface patch. Currently only planar surface patches are defined in GML 3, the attribute is fixed to "planar", i.e. the interpolation method shall return points on a single plane. The boundary of the patch shall be contained within that plane.
Represents a triangle as a surface 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 must be four.
Constraint: The Ring shall be a LinearRing and must form a triangle, the first and the last position must be coincident.
The attribute "interpolation" specifies the interpolation mechanism used for this surface patch. Currently only planar surface patches are defined in GML 3, the attribute is fixed to "planar", i.e. the interpolation method shall return points on a single plane. The boundary of the patch shall be contained within that plane.
Represents a rectangle as a surface 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 must be five.
Constraint: The Ring shall be a LinearRing and must form a rectangle; the first and the last position must be coincident.
The attribute "interpolation" specifies the interpolation mechanism used for this surface patch. Currently only planar surface patches are defined in GML 3, the attribute is fixed to "planar", i.e. the interpolation method shall return points on a single plane. The boundary of the patch shall be contained within that plane.
This property element either references a curve via the XLinkattributes or contains the curve element. A curve element is any element which is substitutable for "_Curve".
A Ring is used to represent a single connected component of a surface boundary. It consists of a sequence of curves connected in a cycle (an object whose boundary is empty).
A Ring is structurally similar to a composite curve in that the endPoint of each curve in the sequence is the startPoint of the next curve in the Sequence. Since the sequence is circular, there is no exception to this rule. Each ring, like all boundaries, is a cycle and each ring is simple.
NOTE: Even though each Ring is simple, the boundary need not be simple. The easiest case of this is where one of the interior rings of a surface is tangent to its exterior ring.
This element references or contains one curve in the composite curve. The curves are contiguous, the collection of curves is ordered.
NOTE: This definition allows for a nested structure, i.e. a CompositeCurve may use, for example, another CompositeCurve as a curve member.
Encapsulates a ring to represent properties in features or geometry collections.
Reference points which are organised
into sequences or grids(sequences of equal length sequences).
A gridded surface is a parametric curve
surface derived from a rectangular grid in the parameter
space. The rows from this grid are control points for
horizontal surface curves; the columns are control points
for vertical surface curves. The working assumption is that
for a pair of parametric coordinates (s, t) that the
horizontal curves for each integer offset are calculated
and evaluated at "s". The defines a sequence of control
points:
cn(s) : s 1 .....columns
From this sequence a vertical curve is calculated for "s",
and evaluated at "t". In most cases, the order of
calculation (horizontalvertical vs. verticalhorizontal)
does not make a difference. Where it does, the horizontal
vertical order shall be the one used.
Logically, any pair of curve interpolation types can lead
to a subtype of GriddedSurface. The following clauses
define some most commonly encountered surfaces that can
be represented in this manner.
This is the double indexed sequence
of control points, given in row major form.
NOTE! There in no assumption made about the shape
of the grid.
For example, the positions need not effect a "21/2D"
surface, consecutive points may be equal in any or all
of the ordinates. Further, the curves in either or both
directions may close.
The attribute rows gives the number
of rows in the parameter grid.
The attribute columns gives the number
of columns in the parameter grid.
A cone is a gridded surface given as a
family of conic sections whose control points vary linearly.
NOTE! A 5point ellipse with all defining positions identical
is a point. Thus, a truncated elliptical cone can be given as a
2x5 set of control points
((P1, P1, P1, P1, P1), (P2, P3, P4, P5, P6)). P1 is the apex
of the cone. P2, P3,P4, P5 and P6 are any five distinct points
around the base ellipse of the cone. If the horizontal curves
are circles as opposed to ellipses, the a circular cone can
be constructed using ((P1, P1, P1),(P2, P3, P4)). The apex most
not coinside with the other plane.
A cylinder is a gridded surface given as a
family of circles whose positions vary along a set of parallel
lines, keeping the cross sectional horizontal curves of a
constant shape.
NOTE! Given the same working assumptions as in the previous
note, a Cylinder can be given by two circles, giving us the
control points of the form ((P1, P2, P3),(P4, P5, P6)).
A sphere is a gridded surface given as a
family of circles whose positions vary linearly along the
axis of the sphere, and whise radius varies in proportions to
the cosine function of the central angle. The horizontal
circles resemble lines of constant latitude, and the vertical
arcs resemble lines of constant longitude.
NOTE! If the control points are sorted in terms of increasing
longitude, and increasing latitude, the upNormal of a sphere
is the outward normal.
EXAMPLE If we take a gridded set of latitudes and longitudes
in degrees,(u,v) such as
(90,180) (90,90) (90,0) (90, 90) (90, 180)
(45,180) (45,90) (45,0) (45, 90) (45, 180)
( 0,180) ( 0,90) ( 0,0) ( 0, 90) ( 0, 180)
( 45,180) ( 45,90) ( 45,0) ( 45, 90) ( 45, 180)
( 90,180) ( 90,90) ( 90,0) ( 90, 90) ( 90, 180)
And map these points to 3D using the usual equations (where R
is the radius of the required sphere).
z = R sin u
x = (R cos u)(sin v)
y = (R cos u)(cos v)
We have a sphere of Radius R, centred at (0,0), as a gridded
surface. Notice that the entire first row and the entire last
row of the control points map to a single point in each 3D
Euclidean space, North and South poles respectively, and that
each horizontal curve closes back on itself forming a
geometric cycle. This gives us a metrically bounded (of finite
size), topologically unbounded (not having a boundary, a
cycle) surface.
A polyhedral surface is a surface composed
of polygon surfaces connected along their common boundary
curves. This differs from the surface type only in the
restriction on the types of surface patches acceptable.
This property encapsulates the patches of
the polyhedral surface.
This property element contains a list of
polygon patches. The order of the patches is significant and
shall be preserved when processing the list.
This type defines a container for an array of
polygon patches.
This property element contains a list of
triangle patches. The order of the patches is significant and
shall be preserved when processing the list.
This type defines a container for an array of
triangle patches.
A triangulated surface is a polyhedral
surface that is composed only of triangles. There is no
restriction on how the triangulation is derived.
This property encapsulates the patches of
the triangulated surface.
A tin is a triangulated surface that uses
the Delauny algorithm or a similar algorithm complemented with
consideration of breaklines, stoplines, and maximum length of
triangle sides. These networks satisfy the Delauny's criterion
away from the modifications: Fore each triangle in the
network, the circle passing through its vertices does not
contain, in its interior, the vertex of any other triangle.
Stoplines are lines where the local
continuity or regularity of the surface is questionable.
In the area of these pathologies, triangles intersecting
a stopline shall be removed from the tin surface, leaving
holes in the surface. If coincidence occurs on surface
boundary triangles, the result shall be a change of the
surface boundary. Stoplines contains all these
pathological segments as a set of line strings.
Breaklines are lines of a critical
nature to the shape of the surface, representing local
ridges, or depressions (such as drainage lines) in the
surface. As such their constituent segments must be
included in the tin eve if doing so
violates the Delauny criterion. Break lines contains these
critical segments as a set of line strings.
Areas of the surface where data is not
sufficiently dense to assure reasonable calculation shall be
removed by adding a retention criterion for triangles based
on the length of their sides. For many triangle sides
exceeding maximum length, the adjacent triangles to that
triangle side shall be removed from the surface.
The corners of the triangles in the TIN
are often referred to as pots. ControlPoint shall contain a
set of the GM_Position used as posts for this TIN. Since each
TIN contains triangles, there must be at least 3 posts. The
order in which these points are given does not affect the
surface that is represented. Application schemas may add
information based on ordering of control points to facilitate
the reconstruction of the TIN from the control points.
The "_Solid" element is the abstract head of the substituition group for all (continuous) solid elements.
An abstraction of a solid to support the different levels of complexity. A solid is always contiguous.
This property element either references a solid via the XLinkattributes or contains the solid element. solidProperty is the predefined property which can be used by GML Application Schemas whenever a GML Feature has a property with a value that is substitutable for _Solid.
A property that has a solid as its value domain can 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 must be given, but neither both nor none.
This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties.
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.
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 3dimensional geometry. The extent of a solid is defined by the boundary surfaces (shells). A shell is represented by a composite surface, where every shell is used to represent a single connected component of the boundary of a solid. It consists of a composite surface (a list of orientable surfaces) connected in a topological cycle (an object whose boundary is empty). Unlike a Ring, a Shell's elements have no natural sort order. Like Rings, Shells are simple.
Boundaries of solids are similar to surface boundaries. In normal 3dimensional Euclidean space, one (composite) surface is distinguished as the exterior. In the more general case, this is not always possible.
Boundaries of solids are similar to surface boundaries.
CurveInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an
application schema.
SurfaceInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an
application schema.
Defines allowed values for the knots` type. Uniform knots implies that all knots are of multiplicity 1 and they differ by a positive constant from the preceding knot. Knots are quasiuniform iff they are of multiplicity (degree + 1) at the ends, of multiplicity 1 elsewhere, and they differ by a positive constant from the preceding knot.
Schematron validation
Property element may not carry both a reference to an object and contain an object.
Property element must either carry a reference to an object or contain an object.
GML base schema for GML 3
Components to support the GML encoding model.
The abstract Schematron rules can be used by any schema that includes gmlBase.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
This abstract element is the head of a substitutionGroup hierararchy which may contain either simpleContent or complexContent elements. It is used to assert the model position of "class" elements declared in other GML schemas.
Global element which acts as the head of a substitution group that may include any element which is a GML feature, object, geometry or complex value
This content model group makes it easier to construct types that
derive from AbstractGMLType and its descendents "by restriction".
A reference to the group saves having to enumerate the standard object properties.
Multiple names may be provided. These will often be distinguished by being assigned by different authorities, as indicated by the value of the codeSpace attribute. In an instance document there will usually only be one name per authority.
All complexContent GML elements are directly or indirectly derived from this abstract supertype
to establish a hierarchy of GML types that may be distinguished from other XML types by their ancestry.
Elements in this hierarchy may have an ID and are thus referenceable.
Generic GML element to contain a heterogeneous collection of GML _Objects
A nonabstract generic collection type that can be used as a document element for a collection of any GML types  Geometries, Topologies, Features ...
FeatureCollections may only contain Features. GeometryCollections may only contain Geometrys. Bags are less constrained they must contain objects that are substitutable for gml:_Object. This may mix several levels, including Features, Definitions, Dictionaries, Geometries etc.
The content model would ideally be
member 0..*
members 0..1
member 0..*
for maximum flexibility in building a collection from both homogeneous and distinct components:
included "member" elements each contain a single Object
an included "members" element contains a set of Objects
However, this is nondeterministic, thus prohibited by XSD.
Generic GML element to contain a homogeneous array of GML _Objects
A nonabstract generic collection type that can be used as a document element for a homogeneous collection of any GML types  Geometries, Topologies, Features ...
Abstract element which acts as the head of a substitution group for packages of MetaData properties.
An abstract base type for complex metadata types.
Concrete element in the _MetaData substitution group, which permits any wellformed XML content. Intended to act as a container for metadata defined in external schemas, for which it is not possible to add the concrete components to the GML _MetaData substitution group directly. Deprecated with GML version 3.1.0.
Deprecated with GML version 3.1.0.
must carry a reference to an object or contain an object but not both
A pattern or base for derived types used to specify complex types corresponding to an unspecified UML association  either composition or aggregation. Restricts the cardinality of Objects contained in the association to a maximum of one. An instance of this type can contain an element representing an Object, or serve as a pointer to a remote Object.
Descendents of this type can be restricted in an application schema to
* allow only specified classes as valid participants in the aggregation
* allow only association by reference (i.e. empty the content model) or by value (i.e. remove the xlinks).
When used for association by reference, the value of the gml:remoteSchema attribute can be used to locate a schema fragment that constrains the target instance.
In many cases it is desirable to impose the constraint prohibiting the occurence of both reference and value in the same instance, as that would be ambiguous. This is accomplished by adding a directive in the annotation element of the element declaration. This directive can be in the form of normative prose, or can use a Schematron pattern to automatically constrain cooccurrence  see the declaration for _strictAssociation below.
If cooccurence is not prohibited, then both a link and content may be present. If this occurs in an instance, then the rule for interpretation is that the instance found by traversing the href provides the normative value of the property, and should be used when possible. The value(s) included as content may be used if the remote instance cannot be resolved. This may be considered to be a "cached" version of the value(s).
A pattern or base for derived types used to specify complex types corresponding to a UML aggregation association. An instance of this type serves as a pointer to a remote Object.
A base for derived types used to specify complex types containing an array of objects, by unspecified UML association  either composition or aggregation. An instance of this type contains elements representing Objects.
Ideally this type would be derived by extension of AssociationType.
However, this leads to a nondeterministic content model, since both the base and the extension have minOccurs="0", and is thus prohibited in XML Schema.
Contains or refers to a metadata package that contains metadata properties.
Base type for complex metadata property types.
Database handle for the object. It is of XML type ID, so is constrained to be unique in the XML document within which it occurs. An external identifier for the object in the form of a URI may be constructed using standard XML and XPointer methods. This is done by concatenating the URI for the document, a fragment separator, and the value of the id attribute.
Reference to an XML Schema fragment that specifies the content model of the propertys value. This is in conformance with the XML Schema Section 4.14 Referencing Schemas from Elsewhere.
Attribute group used to enable property elements to refer to their value remotely. It contains the simple link components from xlinks.xsd, with all members optional, and the remoteSchema attribute, which is also optional. These attributes can be attached to any element, thus allowing it to act as a pointer. The 'remoteSchema' attribute allows an element that carries link attributes to indicate that the element is declared in a remote schema rather than by the schema that constrains the current document instance.
Label for the object, normally a descriptive name. An object may have several names, typically assigned by different authorities. 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.
Contains a simple text description of the object, or refers to an external description.
This type is available wherever there is a need for a "text" type property. It is of string type, so the text can be included inline, but the value can also be referenced remotely via xlinks from the AssociationAttributeGroup. If the remote reference is present, then the value obtained by traversing the link should be used, and the string content of the element can be used for an annotation.
grids.xsd
Grid geometries
A subset of implicit geometries
Designed for use with GML Coverage schema, but maybe useful elsewhere as well.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
An unrectified grid, which is a network composed of two or more sets of equally spaced parallel lines in which the members of each set intersect the members of the other sets at right angles.
Provides grid coordinate values for the diametrically opposed corners of an envelope that bounds a section of grid. The value of a single coordinate is the number of offsets from the origin of the grid in the direction of a specific axis.
Should be substitutionGroup="gml:Grid" but changed in order to accomplish XercesJ schema validation
A rectified grid has an origin and vectors that define its post locations.
Extends the units.xsd and basicTypes.xsd schemas with types for recording measures using specific types of units, especially the measures and units needed for coordinate reference systems and coordinate operations. The specific unit types encoded are length, angle, scale factor, time, area, volume, speed, and grid length. This schema allows angle values to be recorded as single numbers or in degreeminutesecond format.
Parts of this schema are based on Subclause 6.5.7 of ISO/CD 19103 Geographic information  Conceptual schema language, on Subclause A.5.2.2.3 of ISO/CD 19118 Geographic information  Encoding, and on Subclause 4.7 of OpenGIS Recommendation Paper OGC 02007r4 Units of Measure Use and Definition Recommendations.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
Value of a length (or distance) quantity, 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.
Value of a scale factor (or ratio) that has no physical unit. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a scale factor, such as percent, permil, or partspermillion.
Value of a time or temporal quantity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a time value, such as seconds or weeks.
Value of a length (or distance) quantity in a grid, where the grid spacing does not have any associated physical units, or does not have a constant physical spacing. This grid length will often be used in a digital image grid, where the base units are likely to be pixel spacings. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for length along the axes of a grid, such as pixel spacings or grid spacings.
Value of a spatial area quantity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for an area, such as square metres or square miles.
Value of a spatial volume quantity, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a volume, such as cubic metres or cubic feet.
Value of a speed, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for a velocity, such as metres per second or miles per hour.
Value of an angle quantity provided in either degreeminutesecond format or single value format.
Value of an angle quantity recorded as a single number, with its units. Uses the MeasureType with the restriction that the unit of measure referenced by uom must be suitable for an angle, such as degrees or radians.
Angle value provided in degreeminutesecond or degreeminute format.