public class SP3dEphemeris extends Object implements IAvailability
Constructor and Description |
---|
SP3dEphemeris()
Initializes a new instance.
|
Modifier and Type | Method and Description |
---|---|
PlatformCollection |
createSatelliteCollection()
Creates a GPS satellite for each PRN referenced in the SP3 file.
|
TimeIntervalCollection |
getAvailabilityIntervals()
Gets a
TimeIntervalCollection over which data is available. |
TimeIntervalCollection |
getAvailabilityIntervals(TimeIntervalCollection consideredIntervals)
Gets the intervals over which data is available.
|
SP3dEphemerisData<Double> |
getClockCorrection()
Gets the clock data, by Satellite Identifier.
|
SP3dEphemerisData<Double> |
getClockCorrectionRate()
Gets the clock correction rate data, by Satellite Identifier.
|
SP3dEphemerisData<Double> |
getClockCorrectionRateStandardDeviation()
Gets the standard deviations for the clock correction rate data, defined on the "EV" lines of
the SP3d file, by Satellite Identifier.
|
SP3dEphemerisData<Double> |
getClockCorrectionRateStandardDeviationApproximate()
Gets the approximate standard deviations for the clock correction data, defined on the same line as the
position data, by Satellite Identifier.
|
SP3dEphemerisData<Double> |
getClockCorrectionStandardDeviation()
Gets the standard deviations for the clock correction data, defined on the "EP" lines of the SP3d file,
by Satellite Identifier.
|
SP3dEphemerisData<Double> |
getClockCorrectionStandardDeviationApproximate()
Gets the approximate standard deviations for the clock correction data, defined on the same line as the
position data, by Satellite Identifier.
|
SP3dEphemerisData<JulianDate> |
getClockEvent()
Gets the clock event times as indicated by the clock event flag in the position 'P' record
If the flag is set for this time, there was a clock event after the previous epoch or at this epoch.
|
SP3dEphemerisData<JulianDate> |
getClockPredicted()
Gets the clock correction prediction times as indicated by the clock prediction flag in the position 'P' record
If the flag is set for this time, the clock correction for this time is predicted, otherwise it is not.
|
SP3dHeaderRecord |
getHeader()
Gets the header of the SP3d file.
|
boolean |
getIsVelocityIncluded()
Gets a value indicating whether this SP3d file has velocity data included.
|
SP3dEphemerisData<JulianDate> |
getOrbitManeuver()
Gets the orbit maneuver times as indicated by the orbit maneuver flag in the position 'P' record
If the flag is set for this time, there was an orbit maneuver after the previous epoch or at this epoch.
|
SP3dEphemerisData<JulianDate> |
getOrbitPredicted()
Gets the orbit prediction times as indicated by the orbit prediction flag in the position 'P' record
If the flag is set for this time, the orbit for this time is predicted, otherwise it is not.
|
SP3dEphemerisData<SP3dCorrelations> |
getPositionCorrelations()
Gets the correlations for the position data, defined on the "EP" lines of the SP3d file,
by Satellite Identifier.
|
SP3dEphemerisData<Cartesian> |
getPositions()
Gets the position data, by Satellite Identifier.
|
SP3dEphemerisData<Cartesian> |
getPositionStandardDeviations()
Gets the standard deviations for the position data, defined on the "EP" lines of the SP3d file,
by Satellite Identifier.
|
SP3dEphemerisData<Cartesian> |
getPositionStandardDeviationsApproximate()
Gets the approximate standard deviations for the position data, defined on the same line as the
position data, by Satellite Identifier.
|
List<JulianDate> |
getTimes()
Gets the epochs listed in the SP3d file, in the
TimeStandard
specified by the file. |
SP3dEphemerisData<Cartesian> |
getVelocities()
Gets the Velocity data, by Satellite Identifier.
|
SP3dEphemerisData<SP3dCorrelations> |
getVelocityCorrelations()
Gets the correlations for the velocity data, defined on the "EV" lines of the SP3d file,
by Satellite Identifier.
|
SP3dEphemerisData<Cartesian> |
getVelocityStandardDeviations()
Gets the standard deviations for the velocity data, defined on the "EV" lines of the SP3d file,
by Satellite Identifier.
|
SP3dEphemerisData<Cartesian> |
getVelocityStandardDeviationsApproximate()
Gets the approximate standard deviations for the velocity data, defined on the same line as the
velocity data, by Satellite Identifier.
|
boolean |
isAvailable(JulianDate date)
Determines if valid data is available for the given
JulianDate . |
static SP3dEphemeris |
readFrom(BufferedReader reader)
Reads the SP3 version D file from the
BufferedReader and returns a SP3dEphemeris record. |
static SP3dEphemeris |
readFrom(String fileName)
Reads the SP3 version D file from a file and returns a
SP3dEphemeris record. |
public TimeIntervalCollection getAvailabilityIntervals(TimeIntervalCollection consideredIntervals)
getAvailabilityIntervals
in interface IAvailability
consideredIntervals
- The intervals over which availability information is needed. Note that the returned availability
intervals may indicate availability outside of these intervals of consideration.public final boolean isAvailable(@Nonnull JulianDate date)
JulianDate
.isAvailable
in interface IAvailability
date
- The date for which to check availability.true
if valid data is available for this date; otherwise false
.@Nonnull public final TimeIntervalCollection getAvailabilityIntervals()
TimeIntervalCollection
over which data is available.
If the availability interval is infinite, this returns
Infinite
(get
).
It is recommended that you call SP3dEphemeris.isAvailable(agi.foundation.time.JulianDate)
to determine availability instead of
calling this method and checking for yourself.
@Nonnull public static SP3dEphemeris readFrom(@Nonnull String fileName)
SP3dEphemeris
record.fileName
- The name of the SP3d file from which to read.SP3dEphemeris
.ArgumentNullException
- Thrown when fileName
is null
.InvalidDataException
- Thrown when the file represented by the fileName
is not
version "D".InvalidDataException
- Thrown when the Position-Velocity flag in the SP3 file is neither 'P' nor 'V'.@Nonnull public static SP3dEphemeris readFrom(@Nonnull BufferedReader reader)
BufferedReader
and returns a SP3dEphemeris
record.reader
- BufferedReader
for the SP3d file to read.SP3dEphemeris
.ArgumentNullException
- Thrown when the reader
is null
.InvalidDataException
- Thrown when the file represented by the reader
is not
version "D".InvalidDataException
- Thrown when the Position-Velocity flag in the SP3 file is neither 'P' nor 'V'.@Nonnull public final PlatformCollection createSatelliteCollection()
GpsSatelliteExtension
instance for each record in the SP3 file.@Nonnull public final List<JulianDate> getTimes()
TimeStandard
specified by the file.@Nonnull public final SP3dEphemerisData<JulianDate> getOrbitPredicted()
@Nonnull public final SP3dEphemerisData<JulianDate> getClockPredicted()
@Nonnull public final SP3dEphemerisData<JulianDate> getClockEvent()
@Nonnull public final SP3dEphemerisData<JulianDate> getOrbitManeuver()
@Nonnull public final SP3dEphemerisData<Cartesian> getPositions()
The positions are returned in meters.
@Nonnull public final SP3dEphemerisData<Cartesian> getPositionStandardDeviationsApproximate()
If the standard deviation is blank in the SP3d file, the returned value will be Double.NaN
.
The approximate position standard deviations are returned in millimeters and left unscaled by the multipliers in the header.
@Nonnull public final SP3dEphemerisData<Cartesian> getPositionStandardDeviations()
If the standard deviation is blank in the SP3d file, the returned value will be Double.NaN
.
The position standard deviations are returned in millimeters.
@Nonnull public final SP3dEphemerisData<SP3dCorrelations> getPositionCorrelations()
@Nonnull public final SP3dEphemerisData<Cartesian> getVelocities()
@Nonnull public final SP3dEphemerisData<Cartesian> getVelocityStandardDeviationsApproximate()
If the standard deviation is blank in the SP3d file, the returned value will be Double.NaN
.
The approximate velocity standard deviations are returned in .0001 millimeters/second and left unscaled by the multipliers in the header.
@Nonnull public final SP3dEphemerisData<Cartesian> getVelocityStandardDeviations()
If the standard deviation is blank in the SP3d file, the returned value will be Double.NaN
.
The velocity standard deviations are returned in .0001 millimeters/second.
@Nonnull public final SP3dEphemerisData<SP3dCorrelations> getVelocityCorrelations()
@Nonnull public final SP3dEphemerisData<Double> getClockCorrection()
The clock correction is returned in microseconds.
@Nonnull public final SP3dEphemerisData<Double> getClockCorrectionStandardDeviationApproximate()
If the standard deviation is blank in the SP3d file, the returned value will be Double.NaN
.
The approximate clock correction standard deviation is returned in picoseconds.
@Nonnull public final SP3dEphemerisData<Double> getClockCorrectionStandardDeviation()
If the standard deviation is blank in the SP3d file, the returned value will be Double.NaN
. The clock correction
standard deviation is returned in picoseconds.
@Nonnull public final SP3dEphemerisData<Double> getClockCorrectionRate()
The clock correction rate is returned in .0001 microseconds/second.
@Nonnull public final SP3dEphemerisData<Double> getClockCorrectionRateStandardDeviationApproximate()
If the standard deviation is blank in the SP3d file, the returned value will be Double.NaN
.
The approximate clock correction rate standard deviation is returned in .0001 picoseconds/second.
@Nonnull public final SP3dEphemerisData<Double> getClockCorrectionRateStandardDeviation()
If the standard deviation is blank in the SP3d file, the returned value will be Double.NaN
.
The clock correction rate standard deviation is returned in .0001 picoseconds/second.
public final SP3dHeaderRecord getHeader()
public final boolean getIsVelocityIncluded()