public class SP3.SP3Ephemeris extends Object implements EphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>, EphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
Constructor and Description |
---|
SP3Ephemeris(String id)
Create an ephemeris for a single satellite.
|
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<SP3.SP3Coordinate> |
getCoordinates()
Get the coordinates for this ephemeris segment in
EphemerisFile.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 all
segments . |
List<SP3.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.
|
void |
setAccuracy(double accuracy)
Set the accuracy for this satellite.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getInertialFrame
public SP3Ephemeris(String id)
id
- of the satellite.public String getId()
EphemerisFile.SatelliteEphemeris
getId
in interface EphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
null
.public double getMu()
EphemerisFile.SatelliteEphemeris
getMu
in interface EphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
getMu
in interface EphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
EphemerisFile.SatelliteEphemeris.getPropagator()
, in m³/s².public Frame getFrame()
EphemerisFile.EphemerisSegment
EphemerisFile.EphemerisSegment.getCoordinates()
.getFrame
in interface EphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
null
.public int getInterpolationSamples()
EphemerisFile.EphemerisSegment
getInterpolationSamples
in interface EphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
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<SP3.SP3Coordinate>
public List<SP3.SP3Coordinate> getCoordinates()
EphemerisFile.EphemerisSegment
EphemerisFile.EphemerisSegment.getFrame()
.getCoordinates
in interface EphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
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<SP3.SP3Ephemeris> getSegments()
this
.getSegments
in interface EphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
public AbsoluteDate getStart()
EphemerisFile.SatelliteEphemeris
The date returned by this method is equivalent to getPropagator().getMinDate()
.
getStart
in interface EphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
getStart
in interface EphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
public AbsoluteDate getStop()
EphemerisFile.SatelliteEphemeris
The date returned by this method is equivalent to getPropagator().getMaxDate()
.
getStop
in interface EphemerisFile.EphemerisSegment<SP3.SP3Coordinate>
getStop
in interface EphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
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
must be constructable
from the frame specification in the ephemeris file. This condition is met when
EphemerisFile.EphemerisSegment.getFrame()
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<SP3.SP3Coordinate>
getPropagator
in interface EphemerisFile.SatelliteEphemeris<SP3.SP3Coordinate,SP3.SP3Ephemeris>
public void setAccuracy(double accuracy)
accuracy
- in m.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-2021 CS GROUP. All rights reserved.