OrientableCurveType, OrientableCurve, baseCurve Geometric primitives 1-dimensional

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. 66 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved.

10.4.7.2 CurveSegmentArrayPropertyType, segments

complexType name=CurveSegmentArrayPropertyType sequence minOccurs=0 maxOccurs=unbounded element ref=gml:AbstractCurveSegment sequence complexType gml:CurveSegmentArrayPropertyType is a container for an array of curve segments. element name=segments type=gml:CurveSegmentArrayPropertyType This property element contains a list of curve segments. The order of the elements is significant and shall be preserved when processing the array.

10.4.7.3 CurveInterpolationType

simpleType name=CurveInterpolationType restriction base=string enumeration value=linear enumeration value=geodesic enumeration value=circularArc3Points enumeration value=circularArc2PointWithBulge enumeration value=circularArcCenterPointWithRadius enumeration value=elliptical enumeration value=clothoid enumeration value=conic enumeration value=polynomialSpline enumeration value=cubicSpline enumeration value=rationalSpline restriction simpleType gml:CurveInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an application schema. This type implements ISO 19107 GM_CurveInterpolation see D.2.3.4 and ISO 19107:2003, 6.4.8.

10.4.7.4 LineStringSegmentType, LineStringSegment

complexType name=LineStringSegmentType complexContent extension base=gml:AbstractCurveSegmentType 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 attribute name=interpolation type=gml:CurveInterpolationType fixed=linear extension complexContent complexType