Class SP3File.SP3Ephemeris
- java.lang.Object
-
- org.orekit.files.sp3.SP3File.SP3Ephemeris
-
- All Implemented Interfaces:
EphemerisFile.EphemerisSegment,EphemerisFile.SatelliteEphemeris
- Enclosing class:
- SP3File
public class SP3File.SP3Ephemeris extends Object implements EphemerisFile.SatelliteEphemeris, EphemerisFile.EphemerisSegment
An ephemeris for a single satellite in a SP3 file.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublegetAccuracy()Get the formal accuracy for this satellite.CartesianDerivativesFiltergetAvailableDerivatives()Get which derivatives of position are available in this ephemeris segment.List<SP3File.SP3Coordinate>getCoordinates()Get the coordinates for this ephemeris segment.FramegetFrame()Get the reference frame for this ephemeris segment.StringgetFrameCenterString()Get the name of the center of the coordinate system the ephemeris is provided in.StringgetFrameString()Get the defining frame for this ephemeris segment.StringgetId()Get the satellite ID.intgetInterpolationSamples()Get the number of samples to use in interpolation.doublegetMu()Get the standard gravitational parameter for the satellite.BoundedPropagatorgetPropagator()View this ephemeris as a propagator, combining data from allsegments.List<SP3File.SP3Ephemeris>getSegments()Returns a list containing onlythis.AbsoluteDategetStart()Get the start date of the ephemeris.AbsoluteDategetStop()Get the end date of the ephemeris.TimeScalegetTimeScale()Get the time scale for this ephemeris segment.StringgetTimeScaleString()Get the time scale for this ephemeris segment.
-
-
-
Method Detail
-
getId
public String getId()
Description copied from interface:EphemerisFile.SatelliteEphemerisGet the satellite ID. The satellite ID is unique only within the same ephemeris file.- Specified by:
getIdin interfaceEphemerisFile.SatelliteEphemeris- Returns:
- the satellite's ID, never
null.
-
getMu
public double getMu()
Description copied from interface:EphemerisFile.SatelliteEphemerisGet the standard gravitational parameter for the satellite.- Specified by:
getMuin interfaceEphemerisFile.EphemerisSegment- Specified by:
getMuin interfaceEphemerisFile.SatelliteEphemeris- Returns:
- the gravitational parameter use in
EphemerisFile.SatelliteEphemeris.getPropagator(), in m^3 / s^2.
-
getFrameCenterString
public String getFrameCenterString()
Description copied from interface:EphemerisFile.EphemerisSegmentGet the name of the center of the coordinate system the ephemeris is provided in. This may be a natural origin, such as the center of the Earth, another satellite, etc.- Specified by:
getFrameCenterStringin interfaceEphemerisFile.EphemerisSegment- Returns:
- the name of the frame center
-
getFrameString
public String getFrameString()
Description copied from interface:EphemerisFile.EphemerisSegmentGet the defining frame for this ephemeris segment.- Specified by:
getFrameStringin interfaceEphemerisFile.EphemerisSegment- Returns:
- the frame identifier, as specified in the ephemeris file, or
nullif the ephemeris file does not specify a frame.
-
getFrame
public Frame getFrame()
Description copied from interface:EphemerisFile.EphemerisSegmentGet the reference frame for this ephemeris segment.- Specified by:
getFramein interfaceEphemerisFile.EphemerisSegment- Returns:
- the reference frame for this segment. Never
null.
-
getTimeScaleString
public String getTimeScaleString()
Description copied from interface:EphemerisFile.EphemerisSegmentGet the time scale for this ephemeris segment.- Specified by:
getTimeScaleStringin interfaceEphemerisFile.EphemerisSegment- Returns:
- the time scale identifier, as specified in the ephemeris file, or
nullif the ephemeris file does not specify a time scale.
-
getTimeScale
public TimeScale getTimeScale()
Description copied from interface:EphemerisFile.EphemerisSegmentGet the time scale for this ephemeris segment.- Specified by:
getTimeScalein interfaceEphemerisFile.EphemerisSegment- Returns:
- the time scale for this segment. Never
null.
-
getInterpolationSamples
public int getInterpolationSamples()
Description copied from interface:EphemerisFile.EphemerisSegmentGet the number of samples to use in interpolation.- Specified by:
getInterpolationSamplesin interfaceEphemerisFile.EphemerisSegment- Returns:
- the number of points to use for interpolation.
-
getAvailableDerivatives
public CartesianDerivativesFilter getAvailableDerivatives()
Description copied from interface:EphemerisFile.EphemerisSegmentGet 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:
getAvailableDerivativesin interfaceEphemerisFile.EphemerisSegment- Returns:
- a value indicating if the file contains velocity and/or acceleration data.
-
getCoordinates
public List<SP3File.SP3Coordinate> getCoordinates()
Description copied from interface:EphemerisFile.EphemerisSegmentGet the coordinates for this ephemeris segment.- Specified by:
getCoordinatesin interfaceEphemerisFile.EphemerisSegment- 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<SP3File.SP3Ephemeris> getSegments()
Returns a list containing onlythis.- Specified by:
getSegmentsin interfaceEphemerisFile.SatelliteEphemeris- Returns:
- the segments contained in the ephemeris file for this satellite.
-
getStart
public AbsoluteDate getStart()
Description copied from interface:EphemerisFile.SatelliteEphemerisGet the start date of the ephemeris.The date returned by this method is equivalent to
getPropagator().getMinDate().- Specified by:
getStartin interfaceEphemerisFile.EphemerisSegment- Specified by:
getStartin interfaceEphemerisFile.SatelliteEphemeris- Returns:
- ephemeris start date.
-
getStop
public AbsoluteDate getStop()
Description copied from interface:EphemerisFile.SatelliteEphemerisGet the end date of the ephemeris.The date returned by this method is equivalent to
getPropagator().getMaxDate().- Specified by:
getStopin interfaceEphemerisFile.EphemerisSegment- Specified by:
getStopin interfaceEphemerisFile.SatelliteEphemeris- Returns:
- ephemeris end date.
-
getPropagator
public BoundedPropagator getPropagator()
Description copied from interface:EphemerisFile.SatelliteEphemerisView this ephemeris as a propagator, combining data from allsegments.In order to view the ephemeris for this satellite as a
Propagatorseveral conditions must be met. An OrekitFrameandTimeScalemust be constructable from the frame and time scale specification in the ephemeris file. This condition is met whenEphemerisFile.EphemerisSegment.getFrame()andEphemerisFile.EphemerisSegment.getTimeScale()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 anOrekitExceptionmay 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:
getPropagatorin interfaceEphemerisFile.EphemerisSegment- Specified by:
getPropagatorin interfaceEphemerisFile.SatelliteEphemeris- Returns:
- a propagator for all the data in this ephemeris file.
-
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.
-
-