ArcByBulgeType, ArcByBulge ArcByCenterPointType, ArcByCenterPoint

70 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. element name=radius type=gml:LengthType element name=startAngle type=gml:AngleType minOccurs=0 element name=endAngle type=gml:AngleType minOccurs=0 sequence attribute name=interpolation type=gml:CurveInterpolationType fixed=circularArcCenterPointWithRadius attribute name=numArc type=integer use=required fixed=1 extension complexContent complexType element name=ArcByCenterPoint type=gml:ArcByCenterPointType substitutionGroup=gml:AbstractCurveSegment This variant of the arc requires that the points on the arc shall be computed instead of storing the coordinates directly. The single control point is the center point of the arc plus the radius and the bearing at start and end. This representation can be used only in 2D. The element gml:radius specifies the radius of the arc. The element gml:startAngle specifies the bearing of the arc at the start. The element gml:endAngle specifies the bearing of the arc at the end. The interpolation is fixed as circularArcCenterPointWithRadius. Since this type describes always a single arc, the attribute ―numArc‖ is fixed to 1. The content model follows the general pattern for the encoding of curve segments see 10.4.7.

10.4.7.11 CircleByCenterPointType, CircleByCenterPoint

complexType name=CircleByCenterPointType complexContent restriction base=gml:ArcByCenterPointType sequence choice choice element ref=gml:pos element ref=gml:pointProperty element ref=gml:pointRep choice element ref=gml:posList element ref=gml:coordinates choice element name=radius type=gml:LengthType sequence restriction complexContent complexType element name=CircleByCenterPoint type=gml:CircleByCenterPointType substitutionGroup=gml:ArcByCenterPoint A gml:CircleByCenterPoint is an gml:ArcByCenterPoint with identical start and end angle to form a full circle. Again, this representation can be used only in 2D. Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 71

10.4.7.12 CubicSplineType, CubicSpline

complexType name=CubicSplineType 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 element name=vectorAtStart type=gml:VectorType element name=vectorAtEnd type=gml:VectorType sequence attribute name=interpolation type=gml:CurveInterpolationType fixed=cubicSpline attribute name=degree type=integer fixed=3 extension complexContent complexType element name=CubicSpline type=gml:CubicSplineType substitutionGroup=gml:AbstractCurveSegment gml:CubicSpline implements ISO 19107 GM_CubicSpline see D.2.3.4 and ISO 19107:2003, 6.4.28. The number of control points shall be at least three. gml:vectorAtStart is the unit tangent vector at the start point of the spline. gml:vectorAtEnd is the unit tangent vector at the end point of the spline. Only the direction of the vectors shall be used to determine the shape of the cubic spline, not their length. interpolation is fixed as cubicSpline. degree shall be the degree of the polynomial used for the interpolation in this spline. Therefore the degree for a cubic spline is fixed to 3. The content model follows the general pattern for the encoding of curve segments see 10.4.7.

10.4.7.13 BSplineType, BSpline

complexType name=BSplineType complexContent extension base=gml:AbstractCurveSegmentType sequence choice choice minOccurs=0 maxOccurs=unbounded element ref=gml:pos element ref=gml:pointProperty element ref=gml:pointRep choice element ref=gml:posList element ref=gml:coordinates choice element name=degree type=nonNegativeInteger element name=knot type=gml:KnotPropertyType minOccurs=2 maxOccurs=unbounded