public class SP3cEphemeris extends Object implements IAvailability
| Constructor and Description |
|---|
SP3cEphemeris()
Initializes a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
Point |
createPoint(SatelliteIdentifier identifier)
Creates a point based on the
PointInterpolator
using the ECEF coordinate frame and the default
TranslationalMotionInterpolator. |
PlatformCollection |
createSatelliteCollection()
Creates a GPS satellite for each PRN referenced in the SP3 file.
|
DateMotionCollection1<Double> |
getApproximateClockStandardDeviationDataForSatellite(SatelliteIdentifier identifier)
Gets the raw approximate clock standard deviation data associated with a particular satellite.
|
DateMotionCollection1<Cartesian> |
getApproximatePositionalStandardDeviationDataForSatellite(SatelliteIdentifier identifier)
Gets the raw approximate positional standard deviation data associated with a particular satellite.
|
TimeIntervalCollection |
getAvailabilityIntervals()
Gets a
TimeIntervalCollection over which data is available. |
TimeIntervalCollection |
getAvailabilityIntervals(TimeIntervalCollection consideredIntervals)
Gets the intervals over which data is available.
|
SP3cEphemerisData<Double> |
getClockCorrection()
Gets the clock data.
|
SP3cEphemerisData<Double> |
getClockCorrectionRate()
Gets the clock correction rate data.
|
SP3cEphemerisData<Double> |
getClockCorrectionRateStandardDeviation()
Gets the standard deviations for the clock correction rate data, defined on the "EV" lines of the SP3-c file.
|
SP3cEphemerisData<Double> |
getClockCorrectionRateStandardDeviationApproximate()
Gets the approximate standard deviations for the clock correction data, defined on the same line as the position data.
|
SP3cEphemerisData<Double> |
getClockCorrectionStandardDeviation()
Gets the standard deviations for the clock correction data, defined on the "EP" lines of the SP3-c file.
|
SP3cEphemerisData<Double> |
getClockCorrectionStandardDeviationApproximate()
Gets the approximate standard deviations for the clock correction data, defined on the same line as the position data.
|
DateMotionCollection1<Double> |
getClockDataForSatellite(SatelliteIdentifier identifier)
Gets the raw clock data associated with a particular satellite.
|
SP3cEphemerisData<JulianDate> |
getClockEvent()
Gets the clock event times as indicated by the clock event flag in the position 'P' record.
|
SP3cEphemerisData<JulianDate> |
getClockPredicted()
Gets the clock correction prediction times as indicated by the clock prediction flag in the position 'P' record.
|
DateMotionCollection1<Double> |
getClockStandardDeviationDataForSatellite(SatelliteIdentifier identifier)
Gets the raw clock standard deviation data associated with a particular satellite.
|
DateMotionCollection1<SP3cCorrelations> |
getCorrelationDataForSatellite(SatelliteIdentifier identifier)
Gets the raw correlation data associated with a particular satellite.
|
SP3cHeaderRecord |
getHeader()
Gets the header of the SP3-c file.
|
List<SatelliteIdentifier> |
getIdentifiers()
Gets the collection of satellite identifiers contained in this SP3-c file.
|
boolean |
getIsVelocityIncluded()
Gets a value indicating whether this SP3-c file has velocity data included.
|
SP3cEphemerisData<JulianDate> |
getOrbitManeuver()
Gets the orbit maneuver times as indicated by the orbit maneuver flag in the position 'P' record.
|
SP3cEphemerisData<JulianDate> |
getOrbitPredicted()
Gets the orbit prediction times as indicated by the orbit prediction flag in the position 'P' record.
|
DateMotionCollection1<Cartesian> |
getPositionalDataForSatellite(SatelliteIdentifier identifier)
Gets the raw positional data associated with a particular satellite.
|
DateMotionCollection1<Cartesian> |
getPositionalStandardDeviationDataForSatellite(SatelliteIdentifier identifier)
Gets the raw positional standard deviation data associated with a particular satellite.
|
SP3cEphemerisData<SP3cCorrelations> |
getPositionCorrelations()
Gets the correlations for the position data, defined on the "EP" lines of the SP3-c file.
|
SP3cEphemerisData<Cartesian> |
getPositions()
Gets the position data.
|
SP3cEphemerisData<Cartesian> |
getPositionStandardDeviations()
Gets the standard deviations for the position data, defined on the "EP" lines of the SP3-c file.
|
SP3cEphemerisData<Cartesian> |
getPositionStandardDeviationsApproximate()
Gets the approximate standard deviations for the position data, defined on the same line as the position data.
|
List<JulianDate> |
getTimes()
Gets the epochs listed in the SP3-c file, in the
TimeStandard specified by the file. |
SP3cEphemerisData<Cartesian> |
getVelocities()
Gets the velocity data.
|
SP3cEphemerisData<SP3cCorrelations> |
getVelocityCorrelations()
Gets the correlations for the velocity data, defined on the "EV" lines of the SP3-c file.
|
SP3cEphemerisData<Cartesian> |
getVelocityStandardDeviations()
Gets the standard deviations for the velocity data, defined on the "EV" lines of the SP3-c file.
|
SP3cEphemerisData<Cartesian> |
getVelocityStandardDeviationsApproximate()
Gets the approximate standard deviations for the velocity data, defined on the same line as the velocity data.
|
boolean |
isAvailable(JulianDate date)
Determines if valid data is available for the given
JulianDate. |
static SP3cEphemeris |
readFrom(BufferedReader reader)
Reads the SP3 version C file from the
BufferedReader and returns a SP3cEphemeris record. |
static SP3cEphemeris |
readFrom(String fileName)
Reads the SP3 version C file from a file and returns a
SP3cEphemeris record. |
public TimeIntervalCollection getAvailabilityIntervals(TimeIntervalCollection consideredIntervals)
getAvailabilityIntervals in interface IAvailabilityconsideredIntervals - 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 IAvailabilitydate - 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 SP3cEphemeris.isAvailable(agi.foundation.time.JulianDate) to determine availability instead of
calling this method and checking for yourself.
@Nonnull public static SP3cEphemeris readFrom(@Nonnull String fileName)
SP3cEphemeris record.fileName - The name of the SP3-c file from which to read.SP3cEphemeris.ArgumentNullException - Thrown when fileName is null.InvalidDataException - Thrown when the file represented by the fileName is not
version "C".InvalidDataException - Thrown when the Position-Velocity flag in the SP3 file is neither 'P' nor 'V'.@Nonnull public static SP3cEphemeris readFrom(@Nonnull BufferedReader reader)
BufferedReader and returns a SP3cEphemeris record.reader - BufferedReader for the SP3-c file to read.SP3cEphemeris.ArgumentNullException - Thrown when the reader is null.InvalidDataException - Thrown when the file represented by the reader is not
version "C".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 Point createPoint(@Nonnull SatelliteIdentifier identifier)
PointInterpolator
using the ECEF coordinate frame and the default
TranslationalMotionInterpolator.identifier - The satellite to create the point for.ArgumentOutOfRangeException - Thrown when the identifier is not listed in this SP3 file.@Nonnull public final List<JulianDate> getTimes()
TimeStandard specified by the file.@Nonnull public final SP3cEphemerisData<JulianDate> getOrbitPredicted()
@Nonnull public final SP3cEphemerisData<JulianDate> getClockPredicted()
@Nonnull public final SP3cEphemerisData<JulianDate> getClockEvent()
@Nonnull public final SP3cEphemerisData<JulianDate> getOrbitManeuver()
@Nonnull public final SP3cEphemerisData<Cartesian> getPositions()
The positions are returned in meters.
@Nonnull public final SP3cEphemerisData<Cartesian> getVelocities()
@Nonnull public final SP3cEphemerisData<Cartesian> getPositionStandardDeviationsApproximate()
If the standard deviation is blank in the SP3-c 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 SP3cEphemerisData<Cartesian> getVelocityStandardDeviationsApproximate()
If the standard deviation is blank in the SP3-c 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 SP3cEphemerisData<Cartesian> getPositionStandardDeviations()
If the standard deviation is blank in the SP3-c file, the returned value will be Double.NaN.
The position standard deviations are returned in millimeters.
@Nonnull public final SP3cEphemerisData<Cartesian> getVelocityStandardDeviations()
If the standard deviation is blank in the SP3-c file, the returned value will be Double.NaN.
The velocity standard deviations are returned in .0001 millimeters/second.
@Nonnull public final SP3cEphemerisData<SP3cCorrelations> getPositionCorrelations()
@Nonnull public final SP3cEphemerisData<SP3cCorrelations> getVelocityCorrelations()
@Nonnull public final SP3cEphemerisData<Double> getClockCorrection()
The clock correction is returned in microseconds.
@Nonnull public final SP3cEphemerisData<Double> getClockCorrectionRate()
The clock correction rate is returned in .0001 microseconds/second.
@Nonnull public final SP3cEphemerisData<Double> getClockCorrectionStandardDeviationApproximate()
If the standard deviation is blank in the SP3-c file, the returned value will be Double.NaN.
The approximate clock correction standard deviation is returned in picoseconds.
@Nonnull public final SP3cEphemerisData<Double> getClockCorrectionRateStandardDeviationApproximate()
If the standard deviation is blank in the SP3-c file, the returned value will be Double.NaN.
The approximate clock correction rate standard deviation is returned in .0001 picoseconds/second.
@Nonnull public final SP3cEphemerisData<Double> getClockCorrectionStandardDeviation()
If the standard deviation is blank in the SP3-c file, the returned value will be Double.NaN.
The clock correction standard deviation is returned in picoseconds.
@Nonnull public final SP3cEphemerisData<Double> getClockCorrectionRateStandardDeviation()
If the standard deviation is blank in the SP3-c file, the returned value will be Double.NaN.
The clock correction rate standard deviation is returned in .0001 picoseconds/second.
public final SP3cHeaderRecord getHeader()
public final boolean getIsVelocityIncluded()
@Nonnull public final List<SatelliteIdentifier> getIdentifiers()
@Nonnull public final DateMotionCollection1<Cartesian> getPositionalDataForSatellite(@Nonnull SatelliteIdentifier identifier)
Order (get) of the data will
depend on whether this SP3-c file has velocity data included.identifier - The identifier of the satellite.ArgumentException - Data does not exist for the specified satellite identifier.@Nonnull public final DateMotionCollection1<Double> getClockDataForSatellite(@Nonnull SatelliteIdentifier identifier)
Order (get) of the data will
depend on whether this SP3-c file has velocity data included.identifier - The identifier of the satellite.ArgumentException - Data does not exist for the specified satellite identifier.@Nonnull public final DateMotionCollection1<Cartesian> getApproximatePositionalStandardDeviationDataForSatellite(@Nonnull SatelliteIdentifier identifier)
Order (get) of the data will
depend on whether this SP3-c file has velocity data included.identifier - The identifier of the satellite.ArgumentException - Data does not exist for the specified satellite identifier.@Nonnull public final DateMotionCollection1<Double> getApproximateClockStandardDeviationDataForSatellite(@Nonnull SatelliteIdentifier identifier)
Order (get) of the data will
depend on whether this SP3-c file has velocity data included.identifier - The identifier of the satellite.ArgumentException - Data does not exist for the specified satellite identifier.@Nonnull public final DateMotionCollection1<Cartesian> getPositionalStandardDeviationDataForSatellite(@Nonnull SatelliteIdentifier identifier)
Order (get) of the data will
depend on whether this SP3-c file has velocity data included.identifier - The identifier of the satellite.ArgumentException - Data does not exist for the specified satellite identifier.@Nonnull public final DateMotionCollection1<Double> getClockStandardDeviationDataForSatellite(@Nonnull SatelliteIdentifier identifier)
Order (get) of the data will
depend on whether this SP3-c file has velocity data included.identifier - The identifier of the satellite.ArgumentException - Data does not exist for the specified satellite identifier.@Nonnull public final DateMotionCollection1<SP3cCorrelations> getCorrelationDataForSatellite(@Nonnull SatelliteIdentifier identifier)
Order (get) of the data will
depend on whether this SP3-c file has velocity data included.identifier - The identifier of the satellite.ArgumentException - Data does not exist for the specified satellite identifier.