org.opengis.geometry.coordinate
Interface CubicSpline

All Superinterfaces:
CurveSegment, GenericCurve, PolynomialSpline, SplineCurve

@UML(identifier="GM_CubicSpline",
     specification=ISO_19107)
public interface CubicSpline
extends PolynomialSpline

Cubic splines. Cubic splines are similar to line strings in that they are a sequence of segments each with its own defining function. A cubic spline uses the control points and a set of derivative parameters to define a piecewise 3rd degree polynomial interpolation. Unlike line-strings, the parameterization by arc length is not necessarily still a polynomial. Splines have two parameterizations that are used in this specification, the defining one (constructive parameter) and the one that has been reparameterized by arc length to satisfy the requirements in GenericCurve.

The function describing the curve must be C2, that is, have a continuous 1st and 2nd derivative at all points, and pass through the control points in the order given. Between the control points, the curve segment is defined by a cubic polynomial. At each control point, the polynomial changes in such a manner that the 1st and 2nd derivative vectors are the same from either side. The control parameters record must contain vectorAtStart, and vectorAtEnd which are the unit tangent vectors at controlPoint[0] and controlPoint[n] where n = controlPoint.length-1.

Since:
GeoAPI 2.0
Version:
ISO 19107

Method Summary
 CurveInterpolation getInterpolation()
          The interpolation mechanism for a CubicSpline is CUBIC_SPLINE.
 List getVectorAtEnd()
          The values used for the final derivative.
 List getVectorAtStart()
          The values used for the initial derivative.
 
Methods inherited from interface SplineCurve
getControlPoints, getDegree, getKnots
 
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

getInterpolation

@UML(identifier="interpolation",
     obligation=MANDATORY,
     specification=ISO_19107)
CurveInterpolation getInterpolation()
The interpolation mechanism for a CubicSpline is CUBIC_SPLINE.

Specified by:
getInterpolation in interface CurveSegment
Specified by:
getInterpolation in interface PolynomialSpline
Returns:
The interpolation mechanism used for this segment.

getVectorAtStart

@UML(identifier="vectorAtStart",
     obligation=MANDATORY,
     specification=ISO_19107)
List getVectorAtStart()
The values used for the initial derivative. The restriction on vectorAtStart and vectorAtEnd reduce these sequences to a single tangent vector each. Consequently, the size of the returned list is 1.

Specified by:
getVectorAtStart in interface PolynomialSpline

getVectorAtEnd

@UML(identifier="vectorAtEnd",
     obligation=MANDATORY,
     specification=ISO_19107)
List getVectorAtEnd()
The values used for the final derivative. The restriction on vectorAtStart and vectorAtEnd reduce these sequences to a single tangent vector each. Consequently, the size of the returned list is 1.

Specified by:
getVectorAtEnd in interface PolynomialSpline


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