org.opengis.geometry.coordinate

## Interface ArcString

• ### Method Summary

All Methods
Modifier and Type Method and Description
`List<Arc>` `asArcs()`
Constructs a sequence of arcs that is the geometric equivalent of this arc string.
`PointArray` `getControlPoints()`
Returns the sequence of points used to control the arcs in this string.
`CurveInterpolation` `getInterpolation()`
The interpolation for a `ArcString` is "circular arc by 3 points".
`int` `getNumArc()`
Returns the number of circular arcs in the string.
• ### Methods inherited from interface CurveSegment

`getBoundary, getCurve, getNumDerivativesAtEnd, getNumDerivativesAtStart, getNumDerivativesInterior, getSamplePoints, reverse`
• ### Methods inherited from interface GenericCurve

`asLineString, forConstructiveParam, forParam, getEndConstructiveParam, getEndParam, getEndPoint, getParamForPoint, getStartConstructiveParam, getStartParam, getStartPoint, getTangent, length, length`
• ### Method Detail

• #### getNumArc

```@UML(identifier="numArc",
obligation=MANDATORY,
specification=ISO_19107)
int getNumArc()```
Returns the number of circular arcs in the string. Since the interpolation method requires overlapping sets of 3 positions, the number of arcs determines the number of control points:
`numArc = (`controlPoints`.length - 1)/2`
Returns:
The number of circular arcs.
• #### getControlPoints

```@UML(identifier="controlPoints",
obligation=MANDATORY,
specification=ISO_19107)
PointArray getControlPoints()```
Returns the sequence of points used to control the arcs in this string. The first three positions in the sequence determines the first arc. Any three consecutive positions beginning with an odd offset, determine another arc in the string.
Returns:
The control points. The array size is ```2*numArc +1 ```.
• #### getInterpolation

```@UML(identifier="interpolation",
obligation=MANDATORY,
specification=ISO_19107)
CurveInterpolation getInterpolation()```
The interpolation for a `ArcString` is "circular arc by 3 points".
Specified by:
`getInterpolation` in interface `CurveSegment`
Returns:
Always `CurveInterpolation.CIRCULAR_ARC_3_POINTS`.
• #### asArcs

```@UML(identifier="asGM_Arc",
obligation=MANDATORY,
specification=ISO_19107)
List<Arc> asArcs()```
Constructs a sequence of arcs that is the geometric equivalent of this arc string.
Returns:
The sequence of arcs.