## org.opengis.geometry.primitive
Class CurveInterpolation

    Object
      CodeList<CurveInterpolation>
          CurveInterpolation

All Implemented Interfaces:
  Serializable, Comparable<CurveInterpolation>

    @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 of `CurveInterpolation`. Subtypes of `CurveSegment` 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
Version:
  ISO 19107
See Also:
  Serialized Form

Field Summary

`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 line-string, 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
`CodeList[]` `family()` Returns the list of enumerations of the same kind than this enum.
`static CurveInterpolation` `valueOf(String code)` Returns the CoverageContentType that matches the given string, or returns a new one if none match it.
`static CurveInterpolation[]` `values()` Returns the list of `CurveInterpolation`s.

Methods inherited from class CodeList
`compareTo, name, ordinal, readResolve, toString`

Methods inherited from class Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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 co-linear, 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 co-linear, 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 line-string, 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 of `CurveInterpolation`s.

### family

    public CodeList[] family()

  Returns the list of enumerations of the same kind than this enum.

  Specified by:
    `family` in class `CodeList<CurveInterpolation>`

### valueOf

    public static CurveInterpolation valueOf(String code)

  Returns the CoverageContentType that matches the given string, or returns a new one if none match it.

Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.