Draft Core GML Profile for the Netherlands (level 1).
Copyright (c) 2007-2008 Geonovum
All Rights Reserved.
The "_GeometricAggregate" element is the abstract head of
the substitution group for all geometric aggregates.
This is the abstract root type of the geometric aggregates.
A MultiPoint is defined by one or more Points, referenced
through pointMember elements.
A property that has a collection of points as its value
domain shall contain an appropriate geometry element
encapsulated in an element of this type.
A MultiCurve is defined by one or more Curves, referenced
through curveMember elements.
A property that has a collection of curves as its value domain
shall contain an appropriate geometry element encapsulated in
an element of this type.
A MultiSurface is defined by one or more Surfaces,
referenced through surfaceMember elements.
A property that has a collection of surfaces as its value
domain shall contain an appropriate geometry element
encapsulated in an element of this type.
This property element contains the Point element.
This property element contains the surface element. A surface
element is any element which is substitutable for "_Surface".
Curve is a 1-dimensional primitive. Curves are continuous,
connected, and have a measurable length in terms of the
coordinate system.
A curve is composed of one or more curve segments.
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.
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.
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.
This property element contains the curve element. A curve
element is any element which is substitutable for "_Curve".
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.
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 Arc is a curve segment that uses three-point
circular arc interpolation.
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".
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
non-co-linear points for the Circle to be unambiguously defined. The
arc is simply extended past the third control point until the first control
point is encountered.
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.
A Surface is a 2-dimensional 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.
CurveInterpolationType is a list of codes that may be
used to identify the interpolation mechanisms specified
by an schema.
SurfaceInterpolationType is a list of codes that may be
used to identify the interpolation mechanisms specified
by an application schema.
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.
A property that has a surface as its value domain shall contain
an appropriate geometry element encapsulated in an element
of this type.
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.
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.
Encapsulates a ring to represent the surface boundary property
of a surface.
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 LinearRing is defined by four or more coordinate tuples,
with linear interpolation between them; the first and last
coordinates must be coincident.
The "posList" element provides 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.
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). In the GML profile, only a single curve is allowed.
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.
The "_Geometry" element is the abstract head of the
substituition group for all geometry elements of GML 3.
This includes pre-defined and user-defined 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 shall contain any geometry element
encapsulated in an element of this type.
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.
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 "_GeometricPrimitive" element is the abstract head of
the substituition group for all (pre- and user-defined)
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 Point is defined by a single coordinate tuple.
A property that has a point as its value domain shall contain
an appropriate geometry element encapsulated in an element
of this type.
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.
A property that has a curve as its value domain shall contain
an appropriate geometry element encapsulated in an element
of this type.
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.
DirectPosition instances hold the coordinates for one position
in the coordinate reference system (CRS) referenced in a
larger element. In this case, the CRS shall be assumed to be
the value referenced in the containing object's CRS.
DirectPositionList instances hold the coordinates for a
sequence of direct positions within the same coordinate
reference system (CRS).
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).
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.
An abstract feature provides a set of common properties,
including id, 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 abstract feature base type, that shall include an
identifying attribute ('id').
Bounding shape.
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 must have an
ID and are thus referenceable.
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.
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.
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.
These attributes can be attached to any element, thus
allowing it to act as a pointer.
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.
Restricted to only allow a text string, as done in GML 3.2.
XML List based on XML Schema double type. An element
of this type contains a space-separated list of double
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.
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.
A set of values, representing a list of token with the
lexical value space of NCName. The tokens are seperated
by whitespace.