Definition Type: ComplexType
Name: ArcStringByBulgeType
Namespace: http://www.opengis.net/gml
Type: gml:AbstractCurveSegmentType
Containing Schema: geometryPrimitives.xsd
Abstract
Documentation:
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 bulge.
Collapse XSD Schema Diagram:
Drilldown into normal in schema geometryprimitives_xsd Drilldown into bulge in schema geometryprimitives_xsd Drilldown into coordinates in schema geometrybasic0d1d_xsd Drilldown into pointRep in schema geometrybasic0d1d_xsd Drilldown into pos in schema geometrybasic0d1d_xsd Drilldown into numDerivativeInterior in schema geometryprimitives_xsd Drilldown into numDerivativesAtEnd in schema geometryprimitives_xsd Drilldown into numDerivativesAtStart in schema geometryprimitives_xsd Drilldown into AbstractCurveSegmentType in schema geometryprimitives_xsd Drilldown into numArc in schema geometryprimitives_xsd Drilldown into interpolation in schema geometryprimitives_xsdXSD Diagram of ArcStringByBulgeType in schema geometryprimitives_xsd (Geography Markup Language)
Collapse XSD Schema Code:
<complexType name="ArcStringByBulgeType">
    <annotation>
        <documentation>
				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 bulge.
			</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 two.</documentation>
                    </annotation>
                    <choice minOccurs="2" maxOccurs="unbounded">
                        <element ref="gml:pos" />
                        <element ref="gml:pointRep" />
                    </choice>
                    <element ref="gml:coordinates" />
                </choice>
                <element name="bulge" type="double" maxOccurs="unbounded">
                    <annotation>
                        <documentation>The bulge controls the offset of each arc's midpoint. The "bulge" is the real number multiplier for the normal that determines the offset direction of the midpoint of each arc. The length of the bulge sequence is exactly 1 less than the length of the control point array, since a bulge is needed for each pair of adjacent points in the control point array. The bulge is not given by a distance, since it is simply a multiplier for the normal.
The midpoint of the resulting arc is given by: midPoint = ((startPoint + endPoint)/2.0) + bulge*normal</documentation>
                    </annotation>
                </element>
                <element name="normal" type="gml:VectorType" maxOccurs="unbounded">
                    <annotation>
                        <documentation>The attribute "normal" is a vector normal (perpendicular) to the chord of the arc, the line joining the first and last
point of the arc. In a 2D coordinate system, there are only two possible directions for the normal, and it is often given as a signed real, indicating its length, with a positive sign indicating a left turn angle from the chord line, and a negative sign indicating a right turn from the chord. In 3D, the normal determines the plane of the arc, along with the start and endPoint of the arc.
The normal is usually a unit vector, but this is not absolutely necessary. If the normal is a zero vector, the geometric object becomes equivalent to the straight line between the two end points. The length of the normal sequence is exactly the same as for the bulge sequence, 1 less than the control point sequence length.</documentation>
                    </annotation>
                </element>
            </sequence>
            <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="circularArc2PointWithBulge">
                <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 ArcStringByBulge the interpolation is fixed as "circularArc2PointWithBulge".</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 numArc + 1.</documentation>
                </annotation>
            </attribute>
        </extension>
    </complexContent>
</complexType>
Collapse Child Elements:
Name Type Min Occurs Max Occurs
pos gml:pos (1) (1)
pointRep gml:pointRep (1) (1)
coordinates gml:coordinates (1) (1)
bulge gml:bulge (1) unbounded
normal gml:normal (1) unbounded
Collapse Child Attributes:
Name Type Default Value Use
numDerivativesAtStart gml:numDerivativesAtStart 0 Optional
numDerivativesAtEnd gml:numDerivativesAtEnd 0 Optional
numDerivativeInterior gml:numDerivativeInterior 0 Optional
interpolation gml:interpolation (Optional)
numArc gml:numArc Optional
Collapse Derivation Tree:
Collapse References:
gml:ArcByBulgeType, gml:ArcStringByBulge