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
Methods inherited from interface GenericCurve |
asLineString, forConstructiveParam, forParam, getEndConstructiveParam, getEndParam, getEndPoint, getParamForPoint, getStartConstructiveParam, getStartParam, getStartPoint, getTangent, length, length |
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.