public class YumaAlmanacRecord extends Object implements IGpsElements
| Constructor and Description |
|---|
YumaAlmanacRecord()
Initializes a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
Platform |
createSatellite()
Creates a GPS satellite for this YUMA almanac record.
|
double |
getArgumentOfPerigee()
Gets the argument of perigee.
|
double |
getCosineCorrectionToArgumentOfLatitude()
Gets the amplitude of the cosine harmonic correction term to the Argument of Latitude.
|
double |
getCosineCorrectionToInclination()
Gets the amplitude of the cosine harmonic correction term to the angle of inclination.
|
double |
getCosineCorrectionToOrbitRadius()
Gets the amplitude of the sine harmonic correction term to the orbit radius.
|
double |
getEccentricity()
Gets eccentricity.
|
GlobalPositioningSystemDate |
getEpoch()
Gets the epoch at which these elements are specified.
|
double |
getFirstOrderClockCorrection()
Gets the first order clock correction.
|
int |
getHealth()
Gets the satellite health code.
|
double |
getInclinationAngle()
Gets the inclination angle.
|
double |
getIssueOfData()
Gets the issue of data ephemeris (IODE).
|
double |
getLongitudeOfAscendingNode()
Gets the longitude of ascending node of orbit plane at weekly epoch.
|
double |
getMeanAnomaly()
Gets the mean anomaly.
|
double |
getMeanMotionDifference()
Gets the mean motion difference from computed value.
|
int |
getPseudoRandomNumber()
Gets the Pseudo Random Number (PRN).
|
double |
getRateOfInclinationAngle()
Gets the rate of inclination angle (IDOT).
|
double |
getRateOfRightAscension()
Gets the rate of right ascension.
|
double |
getSineCorrectionToArgumentOfLatitude()
Gets the amplitude of the sine harmonic correction term to the Argument of Latitude.
|
double |
getSineCorrectionToInclination()
Gets the amplitude of the sine harmonic correction term to the angle of inclination.
|
double |
getSineCorrectionToOrbitRadius()
Gets the amplitude of the sine harmonic correction term to the orbit radius.
|
double |
getSquareRootOfSemimajorAxis()
Gets the square root of the semi-major axis (sqrt(meters)).
|
double |
getZerothOrderClockCorrection()
Gets the zeroth order clock correction.
|
static YumaAlmanacRecord |
readFrom(BufferedReader reader,
int rolloverCount)
Reads a record from a reader.
|
void |
setArgumentOfPerigee(double value)
Sets the argument of perigee.
|
void |
setEccentricity(double value)
Sets eccentricity.
|
void |
setEpoch(GlobalPositioningSystemDate value)
Sets the epoch at which these elements are specified.
|
void |
setFirstOrderClockCorrection(double value)
Sets the first order clock correction.
|
void |
setHealth(int value)
Sets the satellite health code.
|
void |
setInclinationAngle(double value)
Sets the inclination angle.
|
void |
setLongitudeOfAscendingNode(double value)
Sets the longitude of ascending node of orbit plane at weekly epoch.
|
void |
setMeanAnomaly(double value)
Sets the mean anomaly.
|
void |
setPseudoRandomNumber(int value)
Sets the Pseudo Random Number (PRN).
|
void |
setRateOfRightAscension(double value)
Sets the rate of right ascension.
|
void |
setSquareRootOfSemimajorAxis(double value)
Sets the square root of the semi-major axis (sqrt(meters)).
|
void |
setZerothOrderClockCorrection(double value)
Sets the zeroth order clock correction.
|
@Nullable public static YumaAlmanacRecord readFrom(@Nonnull BufferedReader reader, int rolloverCount)
The following list represents the rollover dates for the GPS week parameter. On or after the date listed below, you will need to use the specified rollover count.
| Date | Rollover Count |
|---|---|
| January 6, 1980 | 0 |
| August 22, 1999 | 1 |
| April 7, 2019 | 2 |
| November 21, 2038 | 3 |
| July 7, 2058 | 4 |
To compute the rollover count for a given date, construct a
GlobalPositioningSystemDate
and use the value of
RolloverCount (get / set).
reader - The reader to read from.rolloverCount - The number of times the GPS week counter had rolled over when this almanac was created.
See below for more information.null if there are no records left to be read.ArgumentNullException - Thrown when reader is null.ArgumentOutOfRangeException - Thrown when rolloverCount is less than zero.NumberFormatException - Thrown when the Yuma Almanac is not well-formed.RuntimeException - Thrown when the values in the Yuma almanac are too large.IndexOutOfBoundsException - Thrown when a line in the Yuma almanac is not well-formed.@Nonnull public final GlobalPositioningSystemDate getEpoch()
getEpoch in interface IGpsElementspublic final void setEpoch(@Nonnull GlobalPositioningSystemDate value)
public final int getPseudoRandomNumber()
public final void setPseudoRandomNumber(int value)
public final double getZerothOrderClockCorrection()
public final void setZerothOrderClockCorrection(double value)
public final double getFirstOrderClockCorrection()
public final void setFirstOrderClockCorrection(double value)
public final double getInclinationAngle()
radgetInclinationAngle in interface IGpsElementspublic final void setInclinationAngle(double value)
radpublic final double getMeanAnomaly()
radgetMeanAnomaly in interface IGpsElementspublic final void setMeanAnomaly(double value)
radpublic final double getArgumentOfPerigee()
radgetArgumentOfPerigee in interface IGpsElementspublic final void setArgumentOfPerigee(double value)
radpublic final double getRateOfRightAscension()
rad / sgetRateOfRightAscension in interface IGpsElementspublic final void setRateOfRightAscension(double value)
rad / spublic final double getLongitudeOfAscendingNode()
radgetLongitudeOfAscendingNode in interface IGpsElementspublic final void setLongitudeOfAscendingNode(double value)
radpublic final int getHealth()
public final void setHealth(int value)
@Nonnull public final Platform createSatellite()
public final double getCosineCorrectionToArgumentOfLatitude()
rad
This property always returns 0.0 because Yuma almanacs do not include this information.
getCosineCorrectionToArgumentOfLatitude in interface IGpsElementspublic final double getCosineCorrectionToInclination()
rad
This property always returns 0.0 because Yuma almanacs do not include this information.
getCosineCorrectionToInclination in interface IGpsElementspublic final double getCosineCorrectionToOrbitRadius()
m
This property always returns 0.0 because Yuma almanacs do not include this information.
getCosineCorrectionToOrbitRadius in interface IGpsElementspublic final double getEccentricity()
unitlessgetEccentricity in interface IGpsElementspublic final void setEccentricity(double value)
unitlesspublic final double getIssueOfData()
This property always returns 0 because Yuma almanacs do not include this information.
getIssueOfData in interface IGpsElementspublic final double getMeanMotionDifference()
rad / s
This property always returns 0.0 because Yuma almanacs do not include this information.
getMeanMotionDifference in interface IGpsElementspublic final double getRateOfInclinationAngle()
rad / s
This property always returns 0.0 because Yuma almanacs do not include this information.
getRateOfInclinationAngle in interface IGpsElementspublic final double getSineCorrectionToArgumentOfLatitude()
rad
This property always returns 0.0 because Yuma almanacs do not include this information.
getSineCorrectionToArgumentOfLatitude in interface IGpsElementspublic final double getSineCorrectionToInclination()
rad
This property always returns 0.0 because Yuma almanacs do not include this information.
getSineCorrectionToInclination in interface IGpsElementspublic final double getSineCorrectionToOrbitRadius()
m
This property always returns 0.0 because Yuma almanacs do not include this information.
getSineCorrectionToOrbitRadius in interface IGpsElementspublic final double getSquareRootOfSemimajorAxis()
sqrt(m)getSquareRootOfSemimajorAxis in interface IGpsElementspublic final void setSquareRootOfSemimajorAxis(double value)
sqrt(m)