LineStringType, LineString Geometric primitives 1-dimensional

64 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. sequence choice choice minOccurs=2 maxOccurs=unbounded element ref=gml:pos element ref=gml:pointProperty element ref=gml:pointRep choice element ref=gml:posList element ref=gml:coordinates choice sequence extension complexContent complexType element name=LineString type=gml:LineStringType substitutionGroup=gml:AbstractCurve A gml:LineString is a special curve that consists of a single segment with linear interpolation see D.3.5. It is defined by two or more coordinate tuples, with linear interpolation between them. The encoding of the control points follows the pattern described in 10.1.4.4. The number of direct positions in the list shall be at least two. NOTE ISO 19107 GM_LineString is implemented by gml:LineStringSegment.

10.4.5 CurveType, Curve

complexType name=CurveType complexContent extension base=gml:AbstractCurveType sequence element ref=gml:segments sequence extension complexContent complexType element name=Curve type=gml:CurveType substitutionGroup=gml:AbstractCurve gml:Curve implements ISO 19107 GM_Curve see D.2.3.3 and ISO 19107:2003, 6.3.16. A curve is a 1-dimensional primitive. Curves are continuous, connected, and have a measurable length in terms of the coordinate system. A curve is composed of one or more curve segments. Each curve segment within a curve may be defined using a different interpolation method. The curve segments are connected to one another, with the end point of each segment except the last being the start point of the next segment in the segment list. The orientation of the curve is positive. The element gml:segments encapsulates the segments of the curve.

10.4.6 OrientableCurveType, OrientableCurve, baseCurve

complexType name=OrientableCurveType complexContent extension base=gml:AbstractCurveType sequence Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 65 element ref=gml:baseCurve sequence attribute name=orientation type=gml:SignType default=+ extension complexContent complexType element name=baseCurve type=gml:CurvePropertyType element name=OrientableCurve type=gml:OrientableCurveType substitutionGroup=gml:AbstractCurve gml:OrientableCurve implements ISO 19107 GM_OrientableCurve see D.2.3.3 and ISO 19107:2003, 6.3.14. gml:OrientableCurve consists of a curve and an orientation. If the orientation is +, then the gml:OrientableCurve is identical to the gml:baseCurve. If the orientation is -, then the gml:OrientableCurve is related to another gml:AbstractCurve with a parameterization that reverses the sense of the curve traversal. The property gml:baseCurve references or contains the base curve, i.e. it either references the base curve via the XLink-attributes or contains the curve element. A curve element is any element which is substitutable for gml:AbstractCurve. The base curve has positive orientation. NOTE This definition allows for a nested structure, i.e. an gml:OrientableCurve may use another gml:OrientableCurve as its base curve. 10.4.7 Curve segments 10.4.7.1 AbstractCurveSegmentType, AbstractCurveSegment complexType name=AbstractCurveSegmentType abstract=true attribute name=numDerivativesAtStart type=integer default=0 attribute name=numDerivativesAtEnd type=integer default=0 attribute name=numDerivativeInterior type=integer default=0 complexType element name=AbstractCurveSegment type=gml:AbstractCurveSegmentType abstract=true substitutionGroup=gml:AbstractObject gml:AbstractCurveSegment implements ISO 19107 GM_CurveSegment see D.2.3.3 and ISO 19107:2003, 6.4.9. A curve segment defines a homogeneous segment of a curve. The attributes numDerivativesAtStart, numDerivativesAtEnd and numDerivativesInterior specify the type of continuity as specified in ISO 19107:2003, 6.4.9.3. The gml:AbstractCurveSegment element is the abstract head of the substitution group for all curve segment elements, i.e. continuous segments of the same interpolation mechanism. The encoding of the control points in a curve segment shall follow the pattern described in 10.1.4.4. All curve segments shall have an attribute interpolation with type gml:CurveInterpolationType specifying the curve interpolation mechanism used for this segment. This mechanism uses the control points and control parameters to determine the position of this curve segment.