Class SP3CoordinateHermiteInterpolator
- All Implemented Interfaces:
TimeInterpolator<SP3Coordinate>
SP3 coordinates.
As this implementation of interpolation is polynomial, it should be used only with small number of interpolation points (about 10-20 points) in order to avoid Runge's phenomenon and numerical problems (including NaN appearing).
If some clock or clock rate are present in the SP3 files as default values (999999.999999), then they
are replaced by Double.NaN during parsing, so the interpolation will exhibit NaNs, but the
positions will be properly interpolated.
- Since:
- 12.0
- Author:
- Luc Maisonobe
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.orekit.time.AbstractTimeInterpolator
AbstractTimeInterpolator.InterpolationData -
Field Summary
Fields inherited from class org.orekit.time.AbstractTimeInterpolator
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC, DEFAULT_INTERPOLATION_POINTS -
Constructor Summary
ConstructorsConstructorDescriptionSP3CoordinateHermiteInterpolator(int interpolationPoints, double extrapolationThreshold, boolean useRates) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected SP3Coordinateinterpolate(AbstractTimeInterpolator<SP3Coordinate>.InterpolationData interpolationData) Interpolate instance from given interpolation data.Methods inherited from class org.orekit.time.AbstractTimeInterpolator
addOptionalSubInterpolatorIfDefined, checkInterpolatorCompatibilityWithSampleSize, getCentralDate, getCentralDate, getExtrapolationThreshold, getInternalNbInterpolationPoints, getNbInterpolationPoints, getSubInterpolators, getTimeParameter, interpolate, interpolate
-
Constructor Details
-
SP3CoordinateHermiteInterpolator
public SP3CoordinateHermiteInterpolator(int interpolationPoints, double extrapolationThreshold, boolean useRates) Constructor.As this implementation of interpolation is polynomial, it should be used only with small number of interpolation points (about 10-20 points) in order to avoid Runge's phenomenon and numerical problems (including NaN appearing).
- Parameters:
interpolationPoints- number of interpolation pointsextrapolationThreshold- extrapolation threshold beyond which the propagation will failuseRates- if true, use velocity and clock rates for interpolation
-
-
Method Details
-
interpolate
protected SP3Coordinate interpolate(AbstractTimeInterpolator<SP3Coordinate>.InterpolationData interpolationData) Interpolate instance from given interpolation data.The interpolated instance is created by polynomial Hermite interpolation ensuring velocity remains the exact derivative of position.
Note that even if first time derivatives (velocities) from sample can be ignored, the interpolated instance always includes interpolated derivatives. This feature can be used explicitly to compute these derivatives when it would be too complex to compute them from an analytical formula: just compute a few sample points from the explicit formula and set the derivatives to zero in these sample points, then use interpolation to add derivatives consistent with the positions.
- Specified by:
interpolatein classAbstractTimeInterpolator<SP3Coordinate>- Parameters:
interpolationData- interpolation data- Returns:
- interpolated instance from given interpolation data.
-