ArcStringType, ArcString ArcType, Arc

68 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. attribute name=numArc type=integer fixed=1 restriction complexContent complexType element name=Arc type=gml:ArcType substitutionGroup=gml:ArcString gml:Arc implements ISO 19107 GM_Arc see D.2.3.4 and ISO 19107:2003, 6.4.15. An Arc is an arc string with only one arc unit, i.e. three control points including the start and end point. As arc is an arc string consisting of a single arc, the attribute ―numArc‖ is fixed to 1.

10.4.7.7 CircleType, Circle

complexType name=CircleType complexContent extension base=gml:ArcType complexContent complexType element name=Circle type=gml:CircleType substitutionGroup=gml:Arc gml:Circle implements ISO 19107 GM_Circle see D.2.3.4 and ISO 19107:2003, 6.4.16. A Circle is an arc whose ends coincide to form a simple closed loop. The three control points shall 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.

10.4.7.8 ArcStringByBulgeType, ArcStringByBulge

complexType name=ArcStringByBulgeType 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=bulge type=double maxOccurs=unbounded element name=normal type=gml:VectorType maxOccurs=unbounded sequence attribute name=interpolation type=gml:CurveInterpolationType fixed=circularArc2PointWithBulge attribute name=numArc type=integer extension complexContent complexType element name=ArcStringByBulge type=gml:ArcStringByBulgeType substitutionGroup=gml:AbstractCurveSegment gml:ArcStringByBuldge implements ISO 19107 GM_ArcStringByBuldge see D.2.3.4 and ISO 19107:2003, 6.4.17. Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 69 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 gml:bulge see ISO 19107:2003, 6.4.17.2. The gml:normal is a vector normal perpendicular to the chord of the arc see ISO 19107:2003, 6.4.17.4. The interpolation is fixed as circularArc2PointWithBulge. The number of arcs in the arc string may be explicitly stated in the attribute numArc. The number of control points in the arc string shall be numArc + 1. The content model follows the general pattern for the encoding of curve segments see 10.4.7.

10.4.7.9 ArcByBulgeType, ArcByBulge

complexType name=ArcByBulgeType complexContent restriction base=gml:ArcStringByBulgeType sequence choice choice minOccurs=2 maxOccurs=2 element ref=gml:pos element ref=gml:pointProperty element ref=gml:pointRep choice element ref=gml:posList element ref=gml:coordinates choice element name=bulge type=double element name=normal type=gml:VectorType sequence attribute name=numArc type=integer fixed=1 restriction complexContent complexType element name=ArcByBulge type=gml:ArcByBulgeType substitutionGroup=gml:ArcStringByBulge gml:ArcByBuldge implements ISO 19107 GM_ArcByBuldge see D.2.3.4 and ISO 19107:2003, 6.4.18. An ArcByBulge is an arc string with only one arc unit, i.e. two control points, one bulge and one normal vector. As arc is an arc string consisting of a single arc, the attribute ―numArc‖ is fixed to 1.

10.4.7.10 ArcByCenterPointType, ArcByCenterPoint

complexType name=ArcByCenterPointType complexContent extension base=gml:AbstractCurveSegmentType 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