Class SP3.SP3Ephemeris
- java.lang.Object
-
- org.orekit.files.sp3.SP3.SP3Ephemeris
-
- All Implemented Interfaces:
EphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
,EphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
- Enclosing class:
- SP3
public class SP3.SP3Ephemeris extends Object implements EphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>, EphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
An ephemeris for a single satellite in a SP3 file.
-
-
Constructor Summary
Constructors Constructor Description SP3Ephemeris(String id)
Create an ephemeris for a single satellite.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getAccuracy()
Get the formal accuracy for this satellite.CartesianDerivativesFilter
getAvailableDerivatives()
Get which derivatives of position are available in this ephemeris segment.List<SP3.SP3Coordinate>
getCoordinates()
Get the coordinates for this ephemeris segment inEphemerisFile.EphemerisSegment.getFrame()
.Frame
getFrame()
Get the reference frame for this ephemeris segment.String
getId()
Get the satellite ID.int
getInterpolationSamples()
Get the number of samples to use in interpolation.double
getMu()
Get the standard gravitational parameter for the satellite.BoundedPropagator
getPropagator()
View this ephemeris as a propagator, combining data from allsegments
.List<SP3.SP3Ephemeris>
getSegments()
Returns a list containing onlythis
.AbsoluteDate
getStart()
Get the start date of the ephemeris.AbsoluteDate
getStop()
Get the end date of the ephemeris.void
setAccuracy(double accuracy)
Set the accuracy for this satellite.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.files.general.EphemerisFile.EphemerisSegment
getInertialFrame
-
-
-
-
Constructor Detail
-
SP3Ephemeris
public SP3Ephemeris(String id)
Create an ephemeris for a single satellite.- Parameters:
id
- of the satellite.
-
-
Method Detail
-
getId
public String getId()
Description copied from interface:EphemerisFile.SatelliteEphemeris
Get the satellite ID. The satellite ID is unique only within the same ephemeris file.- Specified by:
getId
in interfaceEphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
- Returns:
- the satellite's ID, never
null
.
-
getMu
public double getMu()
Description copied from interface:EphemerisFile.SatelliteEphemeris
Get the standard gravitational parameter for the satellite.- Specified by:
getMu
in interfaceEphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
- Specified by:
getMu
in interfaceEphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
- Returns:
- the gravitational parameter used in
EphemerisFile.SatelliteEphemeris.getPropagator()
, in m³/s².
-
getFrame
public Frame getFrame()
Description copied from interface:EphemerisFile.EphemerisSegment
Get the reference frame for this ephemeris segment. The defining frame forEphemerisFile.EphemerisSegment.getCoordinates()
.- Specified by:
getFrame
in interfaceEphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
- Returns:
- the reference frame for this segment. Never
null
.
-
getInterpolationSamples
public int getInterpolationSamples()
Description copied from interface:EphemerisFile.EphemerisSegment
Get the number of samples to use in interpolation.- Specified by:
getInterpolationSamples
in interfaceEphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
- Returns:
- the number of points to use for interpolation.
-
getAvailableDerivatives
public CartesianDerivativesFilter getAvailableDerivatives()
Description copied from interface:EphemerisFile.EphemerisSegment
Get which derivatives of position are available in this ephemeris segment.While
EphemerisFile.EphemerisSegment.getCoordinates()
always returns position, velocity, and acceleration the return value from this method indicates which of those are in the ephemeris file and are actually valid.- Specified by:
getAvailableDerivatives
in interfaceEphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
- Returns:
- a value indicating if the file contains velocity and/or acceleration data.
-
getCoordinates
public List<SP3.SP3Coordinate> getCoordinates()
Description copied from interface:EphemerisFile.EphemerisSegment
Get the coordinates for this ephemeris segment inEphemerisFile.EphemerisSegment.getFrame()
.- Specified by:
getCoordinates
in interfaceEphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
- Returns:
- a list of state vectors in chronological order. The coordinates are not
necessarily evenly spaced in time. The value of
EphemerisFile.EphemerisSegment.getAvailableDerivatives()
indicates if the velocity or accelerations were specified in the file. Any position, velocity, or acceleration coordinates that are not specified in the ephemeris file are zero in the returned values.
-
getSegments
public List<SP3.SP3Ephemeris> getSegments()
Returns a list containing onlythis
.- Specified by:
getSegments
in interfaceEphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
- Returns:
- the segments contained in the ephemeris file for this satellite.
-
getStart
public AbsoluteDate getStart()
Description copied from interface:EphemerisFile.SatelliteEphemeris
Get the start date of the ephemeris.The date returned by this method is equivalent to
getPropagator().getMinDate()
.- Specified by:
getStart
in interfaceEphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
- Specified by:
getStart
in interfaceEphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
- Returns:
- ephemeris start date.
-
getStop
public AbsoluteDate getStop()
Description copied from interface:EphemerisFile.SatelliteEphemeris
Get the end date of the ephemeris.The date returned by this method is equivalent to
getPropagator().getMaxDate()
.- Specified by:
getStop
in interfaceEphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
- Specified by:
getStop
in interfaceEphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
- Returns:
- ephemeris end date.
-
getPropagator
public BoundedPropagator getPropagator()
Description copied from interface:EphemerisFile.SatelliteEphemeris
View this ephemeris as a propagator, combining data from allsegments
.In order to view the ephemeris for this satellite as a
Propagator
several conditions must be met. An OrekitFrame
must be constructable from the frame specification in the ephemeris file. This condition is met whenEphemerisFile.EphemerisSegment.getFrame()
return normally for allsegments
. If there are multiple segments they must be adjacent such that there are no duplicates or gaps in the ephemeris. The definition of adjacent depends on the ephemeris format as some formats define usable start and stop times that are different from the ephemeris data start and stop times. If these conditions are not met anOrekitException
may be thrown by this method or by one of the methods of the returnedPropagator
.Each call to this method creates a new propagator.
- Specified by:
getPropagator
in interfaceEphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
- Specified by:
getPropagator
in interfaceEphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
- Returns:
- a propagator for all the data in this ephemeris file.
-
setAccuracy
public void setAccuracy(double accuracy)
Set the accuracy for this satellite.- Parameters:
accuracy
- in m.
-
getAccuracy
public double getAccuracy()
Get the formal accuracy for this satellite.The accuracy is limited by the SP3 standard to be a power of 2 in mm. The value returned here is in meters.
- Returns:
- magnitude of one standard deviation, in m.
-
-