org.orekit.utils
Class EphemerisPvLagrange
java.lang.Object
org.orekit.utils.AbstractBoundedPVProvider
org.orekit.utils.EphemerisPvLagrange
- All Implemented Interfaces:
- PVCoordinatesProvider
public class EphemerisPvLagrange
- extends AbstractBoundedPVProvider
This class extends AbstractBoundedPVProvider
which implements PVCoordinatesProvider
and so provides a position velocity for a given date.
The provided position velocity is based on a Lagrange interpolation in a given position velocity ephemeris.
Tabulated entries are chronologically classified.
The interpolation extracts points from the ephemeris depending on the polynome order and the date to interpolate.
Points extraction is based on an implementation of the ISearchIndex interface.
This implementation should be based on a table of duration
created from the date table with the duration = 0 at the first index.
- Since:
- 3.1
- Version:
- $Id: EphemerisPvLagrange.java 17625 2017-05-19 12:06:56Z bignon $
- Author:
- chabaudp
- Concurrency :
- not thread-safe
- Concurrency comment :
- internal mutable attributes
Method Summary |
PVCoordinates |
getPVCoordinates(AbsoluteDate date,
Frame frame)
Frame can be null : by default the frame of expression is the frame used at instantiation
(which is the frame of the first spacecraft state when instantiation is done from a table of spacecraft states). |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EphemerisPvLagrange
public EphemerisPvLagrange(PVCoordinates[] tabPV,
int order,
Frame frame,
AbsoluteDate[] tabDate,
ISearchIndex algo)
- Creates an instance of EphemerisPvLagrange
- Parameters:
tabPV
- position velocity coordinates tableorder
- interpolation orderframe
- coordinates expression frametabDate
- table of dates for each position velocityalgo
- class to find the nearest date index from a given date in the date table.
(If null, algo will be BinarySearchIndexOpenClosed
by default
based on a table of duration since the first date of the dates table)
- Throws:
IllegalArgumentException
- if parameters are not consistent,
see AbstractBoundedPVProvider
.
EphemerisPvLagrange
public EphemerisPvLagrange(SpacecraftState[] tabState,
int order,
ISearchIndex algo)
- Creates an instance of EphemerisPvLagrange from a spacecraftstate list
- Parameters:
tabState
- Spacecraftstate listorder
- lagrange polynome orderalgo
- class to find the nearest date index from a given date in the date table
(If null, algo will be BinarySearchIndexOpenClosed
by default
based on a table of duration since the first date of the dates table)
- Throws:
IllegalArgumentException
- if parameters are not consistent,
see AbstractBoundedPVProvider
.
getPVCoordinates
public PVCoordinates getPVCoordinates(AbsoluteDate date,
Frame frame)
throws OrekitException
- Frame can be null : by default the frame of expression is the frame used at instantiation
(which is the frame of the first spacecraft state when instantiation is done from a table of spacecraft states).
- Parameters:
date
- date of interpolationframe
- frame of coordinates expression. (can be null)
- Returns:
- PVcoordinates at interpolation date in the chosen frame
- Throws:
OrekitException
- if date of interpolation is too near from min and max input dates
compare to Lagrange order- See Also:
PVCoordinatesProvider.getPVCoordinates(org.orekit.time.AbsoluteDate,
org.orekit.frames.Frame)
Copyright © 2017 CNES. All Rights Reserved.