Package org.opengis.geometry.primitive
Class CurveInterpolation
 Object

 CodeList<CurveInterpolation>

 CurveInterpolation

 All Implemented Interfaces:
Serializable
,Comparable<CurveInterpolation>
,ControlledVocabulary
@UML(identifier="GM_CurveInterpolation", specification=ISO_19107) public final class CurveInterpolation extends CodeList<CurveInterpolation>
List of codes that may be used to identify the interpolation mechanisms. As a code list, there is no intention of limiting the potential values ofCurveInterpolation
. Subtypes ofCurveSegment
can be spawned directly through subclassing, or indirectly by specifying an interpolation method and an associated control parameters record to support it. Since:
 GeoAPI 1.0
 See Also:
 Serialized Form


Field Summary
Fields Modifier and Type Field Description static CurveInterpolation
CIRCULAR_ARC_2_POINTS_WITH_BULGE
For each consecutive pair of control points, the interpolation mechanism shall return direct positions on a circular arc passing from the first control point to the second control point, such that the associated control parameter determines the offset of the center of the arc from the center point of the chord, positive for leftward and negative for rightward.static CurveInterpolation
CIRCULAR_ARC_3_POINTS
For each set of three consecutive control points, the middle one being an even offset from the beginning of the sequence of control points, the interpolation mechanism shall return direct positions on a circular arc passing from the first point through the middle point to the third point.static CurveInterpolation
CLOTHOID
Uses a Cornu's spiral or clothoid interpolation.static CurveInterpolation
CONIC
Same as elliptical arc but using 5 consecutive control points to determine a conic section.static CurveInterpolation
CUBIC_SPLINE
The control points are interpolated using initial tangents and cubic polynomials, a form of degree 3 polynomial spline.static CurveInterpolation
ELLIPTICAL
For each set of four consecutive control points, the interpolation mechanism shall return direct positions on an elliptical arc passing from the first control point through the middle control points in order to the fourth control point.static CurveInterpolation
GEODESIC
The interpolation mechanism shall return direct positions on a geodesic curve between each consecutive pair of control points.static CurveInterpolation
LINEAR
The interpolation mechanism shall return direct positions on a straight line between each consecutive pair of control points.static CurveInterpolation
POLYNOMIAL_SPLINE
The control points are ordered as in a linestring, but they are spanned by a polynomial spline function.static CurveInterpolation
RATIONAL_SPLINE
The control points are ordered as in a line string, but they are spanned by a rational (quotient of polynomials) spline function.

Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CurveInterpolation[]
family()
Returns the list of codes of the same kind than this code list element.static CurveInterpolation
valueOf(String code)
Returns the curve interpolation that matches the given string, or returns a new one if none match it.static CurveInterpolation[]
values()
Returns the list ofCurveInterpolation
s.



Field Detail

LINEAR
@UML(identifier="linear", obligation=CONDITIONAL, specification=ISO_19107) public static final CurveInterpolation LINEAR
The interpolation mechanism shall return direct positions on a straight line between each consecutive pair of control points.

GEODESIC
@UML(identifier="geodesic", obligation=CONDITIONAL, specification=ISO_19107) public static final CurveInterpolation GEODESIC
The interpolation mechanism shall return direct positions on a geodesic curve between each consecutive pair of control points. A geodesic curve is a curve of shortest length. The geodesic shall be determined in the coordinate reference system of the curve in which the curve segment is used.

CIRCULAR_ARC_3_POINTS
@UML(identifier="circularArc3Points", obligation=CONDITIONAL, specification=ISO_19107) public static final CurveInterpolation CIRCULAR_ARC_3_POINTS
For each set of three consecutive control points, the middle one being an even offset from the beginning of the sequence of control points, the interpolation mechanism shall return direct positions on a circular arc passing from the first point through the middle point to the third point. The sequence of control points shall have an odd number of elements. If the 3 points are colinear, the circular arc becomes a straight line.

CIRCULAR_ARC_2_POINTS_WITH_BULGE
@UML(identifier="circularArc2PointWithBulge", obligation=CONDITIONAL, specification=ISO_19107) public static final CurveInterpolation CIRCULAR_ARC_2_POINTS_WITH_BULGE
For each consecutive pair of control points, the interpolation mechanism shall return direct positions on a circular arc passing from the first control point to the second control point, such that the associated control parameter determines the offset of the center of the arc from the center point of the chord, positive for leftward and negative for rightward. This form shall only be used in 2 dimensions because of the restricted nature of the definition technique.

ELLIPTICAL
@UML(identifier="elliptical", obligation=CONDITIONAL, specification=ISO_19107) public static final CurveInterpolation ELLIPTICAL
For each set of four consecutive control points, the interpolation mechanism shall return direct positions on an elliptical arc passing from the first control point through the middle control points in order to the fourth control point. If the 4 control points are colinear, the arc becomes a straight line. If the 4 control points are on the same circle, the arc becomes a circular one.

CLOTHOID
@UML(identifier="clothoid", obligation=CONDITIONAL, specification=ISO_19107) public static final CurveInterpolation CLOTHOID
Uses a Cornu's spiral or clothoid interpolation.

CONIC
@UML(identifier="conic", obligation=CONDITIONAL, specification=ISO_19107) public static final CurveInterpolation CONIC
Same as elliptical arc but using 5 consecutive control points to determine a conic section.

POLYNOMIAL_SPLINE
@UML(identifier="polynomialSpline", obligation=CONDITIONAL, specification=ISO_19107) public static final CurveInterpolation POLYNOMIAL_SPLINE
The control points are ordered as in a linestring, but they are spanned by a polynomial spline function. Normally, the degree of continuity is determined by the degree of the polynomials chosen.

CUBIC_SPLINE
@UML(identifier="cubicSpline", obligation=CONDITIONAL, specification=ISO_19107) public static final CurveInterpolation CUBIC_SPLINE
The control points are interpolated using initial tangents and cubic polynomials, a form of degree 3 polynomial spline.

RATIONAL_SPLINE
@UML(identifier="rationalSpline", obligation=CONDITIONAL, specification=ISO_19107) public static final CurveInterpolation RATIONAL_SPLINE
The control points are ordered as in a line string, but they are spanned by a rational (quotient of polynomials) spline function. Normally, the degree of continuity is determined by the degree of the polynomials chosen.


Method Detail

values
public static CurveInterpolation[] values()
Returns the list ofCurveInterpolation
s. Returns:
 the list of codes declared in the current JVM.

family
public CurveInterpolation[] family()
Returns the list of codes of the same kind than this code list element. Invoking this method is equivalent to invokingvalues()
, except that this method can be invoked on an instance of the parentCodeList
class. Specified by:
family
in interfaceControlledVocabulary
 Specified by:
family
in classCodeList<CurveInterpolation>
 Returns:
 all code values for this code list.

valueOf
public static CurveInterpolation valueOf(String code)
Returns the curve interpolation that matches the given string, or returns a new one if none match it. More specifically, this methods returns the first instance for whichname().equals(code)
returnstrue
. If no existing instance is found, then a new one is created for the given name. Parameters:
code
 the name of the code to fetch or to create. Returns:
 a code matching the given name.

