public class SP3File.SP3Ephemeris extends Object implements EphemerisFile.SatelliteEphemeris, EphemerisFile.EphemerisSegment
Modifier and Type | Method and Description |
---|---|
double |
getAccuracy()
Get the formal accuracy for this satellite.
|
CartesianDerivativesFilter |
getAvailableDerivatives()
Get which derivatives of position are available in this ephemeris segment.
|
List<SP3File.SP3Coordinate> |
getCoordinates()
Get the coordinates for this ephemeris segment in
EphemerisFile.EphemerisSegment.getFrame() . |
Frame |
getFrame()
Get the reference frame for this ephemeris segment.
|
String |
getFrameCenterString()
Get the name of the center of the coordinate system the ephemeris is provided
in.
|
String |
getFrameString()
Get the defining 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 all
segments . |
List<SP3File.SP3Ephemeris> |
getSegments()
Returns a list containing only
this . |
AbsoluteDate |
getStart()
Get the start date of the ephemeris.
|
AbsoluteDate |
getStop()
Get the end date of the ephemeris.
|
TimeScale |
getTimeScale()
Get the time scale for this ephemeris segment.
|
String |
getTimeScaleString()
Get the time scale for this ephemeris segment.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getInertialFrame
public String getId()
EphemerisFile.SatelliteEphemeris
getId
in interface EphemerisFile.SatelliteEphemeris
null
.public double getMu()
EphemerisFile.SatelliteEphemeris
getMu
in interface EphemerisFile.EphemerisSegment
getMu
in interface EphemerisFile.SatelliteEphemeris
EphemerisFile.SatelliteEphemeris.getPropagator()
, in m^3 /
s^2.public String getFrameCenterString()
EphemerisFile.EphemerisSegment
getFrameCenterString
in interface EphemerisFile.EphemerisSegment
public String getFrameString()
EphemerisFile.EphemerisSegment
getFrameString
in interface EphemerisFile.EphemerisSegment
null
if the ephemeris file does not specify a frame.public Frame getFrame()
EphemerisFile.EphemerisSegment
EphemerisFile.EphemerisSegment.getCoordinates()
.getFrame
in interface EphemerisFile.EphemerisSegment
null
.public String getTimeScaleString()
EphemerisFile.EphemerisSegment
getTimeScaleString
in interface EphemerisFile.EphemerisSegment
null
if the ephemeris file does not specify a time scale.public TimeScale getTimeScale()
EphemerisFile.EphemerisSegment
getTimeScale
in interface EphemerisFile.EphemerisSegment
null
.public int getInterpolationSamples()
EphemerisFile.EphemerisSegment
getInterpolationSamples
in interface EphemerisFile.EphemerisSegment
public CartesianDerivativesFilter getAvailableDerivatives()
EphemerisFile.EphemerisSegment
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.
getAvailableDerivatives
in interface EphemerisFile.EphemerisSegment
public List<SP3File.SP3Coordinate> getCoordinates()
EphemerisFile.EphemerisSegment
EphemerisFile.EphemerisSegment.getFrame()
.getCoordinates
in interface EphemerisFile.EphemerisSegment
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.public List<SP3File.SP3Ephemeris> getSegments()
this
.getSegments
in interface EphemerisFile.SatelliteEphemeris
public AbsoluteDate getStart()
EphemerisFile.SatelliteEphemeris
The date returned by this method is equivalent to getPropagator().getMinDate()
.
getStart
in interface EphemerisFile.EphemerisSegment
getStart
in interface EphemerisFile.SatelliteEphemeris
public AbsoluteDate getStop()
EphemerisFile.SatelliteEphemeris
The date returned by this method is equivalent to getPropagator().getMaxDate()
.
getStop
in interface EphemerisFile.EphemerisSegment
getStop
in interface EphemerisFile.SatelliteEphemeris
public BoundedPropagator getPropagator()
EphemerisFile.SatelliteEphemeris
segments
.
In order to view the ephemeris for this satellite as a Propagator
several conditions must be met. An Orekit Frame
and TimeScale
must be constructable from the frame and time scale specification in the
ephemeris file. This condition is met when EphemerisFile.EphemerisSegment.getFrame()
and EphemerisFile.EphemerisSegment.getTimeScale()
return normally for all segments
. 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 an OrekitException
may be thrown by
this method or by one of the methods of the returned Propagator
.
Each call to this method creates a new propagator.
getPropagator
in interface EphemerisFile.EphemerisSegment
getPropagator
in interface EphemerisFile.SatelliteEphemeris
public double getAccuracy()
The accuracy is limited by the SP3 standard to be a power of 2 in mm. The value returned here is in meters.
Copyright © 2002-2020 CS Group. All rights reserved.