<complexType name="ArcStringType">
<annotation>
<documentation>
An ArcString is a curve segment that uses three-point circular arc interpolation.
</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractCurveSegmentType">
<sequence>
<choice>
<annotation>
<documentation>GML supports two different ways to specify the control points of a curve segment.
1. A sequence of "pos" (DirectPositionType) or "pointRep" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointRep" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
2. The "coordinates" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only. The number of direct positions in the coordinate list must be at least three.</documentation>
</annotation>
<choice minOccurs="3" maxOccurs="unbounded">
<element ref="gml:pos" />
<element ref="gml:pointRep" />
</choice>
<element ref="gml:coordinates" />
</choice>
</sequence>
<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="circularArc3Points">
<annotation>
<documentation>The attribute "interpolation" specifies 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. For an ArcString the interpolation is fixed as "circularArc3Points".</documentation>
</annotation>
</attribute>
<attribute name="numArc" type="integer" use="optional">
<annotation>
<documentation>The number of arcs in the arc string can be explicitly stated in this attribute. The number of control points in the arc string must be 2 * numArc + 1.</documentation>
</annotation>
</attribute>
</extension>
</complexContent>
</complexType>
|