@UML(identifier="GM_ArcStringByBulge", specification=ISO_19107) public interface ArcStringByBulge extends CurveSegment
GeometryFactory.createArcStringByBulge(java.util.List<org.opengis.geometry.coordinate.Position>, double[], java.util.List<double[]>)
Modifier and Type | Method and Description |
---|---|
ArcString |
asArcString()
Recast as a base arc string.
|
double[] |
getBulges()
Returns the offset of each arc's midpoint.
|
CurveInterpolation |
getInterpolation()
The interpolation for a
ArcStringByBulge is "Circular arc by 2 points and bulge
factor". |
List<double[]> |
getNormals()
Returns a vector normal (perpendicular) to the chord of the arc, the line joining the first
and last point of the arc.
|
int |
getNumArc()
Returns the number of circular arcs in the string.
|
getBoundary, getCurve, getNumDerivativesAtEnd, getNumDerivativesAtStart, getNumDerivativesInterior, getSamplePoints, reverse
asLineString, forConstructiveParam, forParam, getEndConstructiveParam, getEndParam, getEndPoint, getParamForPoint, getStartConstructiveParam, getStartParam, getStartPoint, getTangent, length, length
@UML(identifier="bulge", obligation=MANDATORY, specification=ISO_19107) double[] getBulges()
The bulge is not given by a distance, since it is simply a multiplier for the normal, the unit of the offset distance is determined by the length function for vectors in the coordinate reference system. In the examples in this specification, the normal is often given as a Euclidean unit vector, which may or may not fix its length to one depending of the distance formulae used for the coordinate reference system.
The midpoint of the resulting arc is given by:
midPoint = ((startPoint
+
endPoint
)/2.0)
+ bulge×normal
@UML(identifier="numArc", obligation=MANDATORY, specification=ISO_19107) int getNumArc()
numArc =controlPoints
.length - 1
@UML(identifier="normal", obligation=MANDATORY, specification=ISO_19107) List<double[]> getNormals()
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.
@UML(identifier="interpolation", obligation=MANDATORY, specification=ISO_19107) CurveInterpolation getInterpolation()
ArcStringByBulge
is "Circular arc by 2 points and bulge
factor".getInterpolation
in interface CurveSegment
CurveInterpolation.CIRCULAR_ARC_2_POINTS_WITH_BULGE
.@UML(identifier="asGM_ArcString", obligation=MANDATORY, specification=ISO_19107) ArcString asArcString()
Copyright © 1996–2019 Geotools. All rights reserved.