geometry.xsd GML Geometry schema. GML 3.0, 2001-04-26. Copyright (c) 2001-2002 OGC, All Rights Reserved. All geometry elements are derived from this abstract supertype; a geometry element may have an identifying attribute ('gml:id'). It may be associated with a spatial reference system. For backward compatibility with GML2. This identifer is superceded by gml:id inherited from AbstractGMLType. A container for an array of geometry objects. 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. deprecated deprecated with GML version 3.0 An abstraction of a curve to support the different levels of complexity. This schema defines a simpler encoding of the conceptual model of ISO 19107. Instead of defining the full hierarchy of CompositeCurve, Curve and CurveSegment, only two distinct levels are defined in this XML encoding: CompositeCurve and CurveSegment. The mapping to the ISO 19107 model is as follows: - Every ISO 19107 CurveSegment is mapped to a GML 3 CurveSegment. - Every ISO 19107 Curve consisting of exactly one CurveSegment is realized by the same GML 3 CurveSegment which may then carry an id-attribute. - Every ISO 19107 Curve consisting of more than one CurveSegment is mapped to a GML 3 CompositeCurve. - Every ISO 19107 CompositeCurve is mapped to a GML 3 CompositeCurve. 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. 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. Curve segment defines a homogeneous segment of a curve. A LineString is defined by two or more coordinate tuples, with linear interpolation between them. deprecated deprecated with GML version 3.0 An ArcString is a curve segment that uses three-point circular arc interpolation. An Arc is an arc string with only one arc unit, i.e. three control points. A Circle is an arc whose first and last control points coincide to form a full circle. The "start" and "end" bearing are equal and shall be the bearing for the first controlPoint listed. Note: This still requires at least 3 distinct non-co-linear points to be unambiguously defined. The arc is simply extended until the first 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. An ArcByBulge is an arc string with only one arc unit, i.e. two control points and one bulge. 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. 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. 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 line-strings, 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. A knot is a breakpoint on a piecewise spline curve. Encapsulates a knot to use it in a geometric type. A B-Spline 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 non-decreasing 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. Bezier curves are polynomial splines that use Bezier or Bernstein polynomials for interpolation purposes. It is a special case of the B-Spline curve with two knots. An abstraction of a surface to support the different levels of complexity. This schema defines a simpler encoding of the conceptual model of ISO 19107. Instead of defining the full hierarchy of CompositeSurface, Surface and SurfacePatch, only two distinct levels are defined in this XML encoding: CompositeSurface and SurfacePatch. The mapping to the ISO 19107 model is as follows: - Every ISO 19107 SurfacePatch is mapped to a GML 3 SurfacePatch. - Every ISO 19107 Surface consisting of exactly one SurfacePatch is realized by the same GML 3 SurfacePatch which may then carry an id-attribute. - Every ISO 19107 Surface consisting of more than one SurfacePatch is mapped to a GML 3 CompositeSurface. - Every ISO 19107 CompositeSurface is mapped to a GML 3 CompositeSurface. 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 up-normal that reverses the direction for this OrientableSurface, the sense of "the top of the surface". 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. A surface patch defines a homogenuous portion of a surface. Deprecated with GML version 3. Deprecated with GML version 3. A Polygon 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. 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 co-incident. 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 co-incident. An abstraction of a ring to support surface boundaries of different complexity. Encapsulates a ring to represent the surface boundary property of a surface. 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. Encapsulates a ring to represent properties in features or geometry collections. A LinearRing is defined by four or more coordinate tuples, with linear interpolation between them; the first and last coordinates must be coincident. deprecated with GML version 3.0 Encapsulates a ring to represent properties in features or geometry collections. An abstraction of a solid to support the different levels of complexity. A solid is the basis for 3-dimensional 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. 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. A geometric complex. A geometry collection must include one or more geometries, referenced through geometryMember elements. deprecated deprecated with GML version 3.0 deprecated deprecated with GML version 3.0 A MultiPoint is defined by one or more Points, referenced through pointMember elements. A MultiCurve is defined by one or more Curves, referenced through curveMember elements. A MultiSurface is defined by one or more Surfaces, referenced through surfaceMember elements. A MultiSolid is defined by one or more Solids, referenced through solidMember elements. 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 quasi-uniform 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. deprecated deprecated with GML version 3.0 Represents a coordinate tuple in one, two, or three dimensions. Deprecated with GML version 3.0. deprecated deprecated with GML version 3.0 deprecated deprecated with GML version 3.0 A MultiLineString is defined by one or more LineStrings, referenced through lineStringMember elements. Deprecated with GML version 3.0. A MultiPolygon is defined by one or more Polygons, referenced through polygonMember elements. Deprecated with GML version 3.0.