public class SemAlmanacRecord extends Object implements IGpsElements
Constructor and Description |
---|
SemAlmanacRecord()
Initializes a new instance.
|
Modifier and Type | Method and Description |
---|---|
Platform |
createSatellite()
Creates a GPS satellite for this SEM almanac record.
|
double |
getArgumentOfPerigee()
Gets the argument of perigee.
|
double |
getArgumentOfPerigeeSemicircles()
Gets the argument of perigee, in semicircles.
|
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 |
getInclinationOffset()
Gets the orbit inclination angle offset in semicircles.
|
double |
getIssueOfData()
Gets the issue of data ephemeris (IODE).
|
double |
getLongitudeOfAscendingNode()
Gets the longitude of ascending node of orbit plane at weekly epoch.
|
double |
getLongitudeOfAscendingNodeSemicircles()
Gets the geographic longitude of the orbital plane at the weekly epoch, in semicircles.
|
double |
getMeanAnomaly()
Gets the mean anomaly.
|
double |
getMeanAnomalySemicircles()
Gets the mean anomaly, in semicircles.
|
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 |
getRateOfRightAscensionSemicircles()
Gets the rate of right ascension, in semicircles per second.
|
int |
getSatelliteConfiguration()
Gets the satellite configuration code.
|
int |
getSatelliteVehicleNumber()
Gets the satellite vehicle number (SVN).
|
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)).
|
int |
getUserRangeAccuracy()
Gets the average User Range Accuracy (URA) number.
|
double |
getZerothOrderClockCorrection()
Gets the zeroth order clock correction.
|
static SemAlmanacRecord |
readFrom(GlobalPositioningSystemDate almanacEpoch,
BufferedReader reader)
Reads a record from a stream.
|
void |
setArgumentOfPerigeeSemicircles(double value)
Sets the argument of perigee, in semicircles.
|
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 |
setInclinationOffset(double value)
Sets the orbit inclination angle offset in semicircles.
|
void |
setLongitudeOfAscendingNodeSemicircles(double value)
Sets the geographic longitude of the orbital plane at the weekly epoch, in semicircles.
|
void |
setMeanAnomalySemicircles(double value)
Sets the mean anomaly, in semicircles.
|
void |
setPseudoRandomNumber(int value)
Sets the Pseudo Random Number (PRN).
|
void |
setRateOfRightAscensionSemicircles(double value)
Sets the rate of right ascension, in semicircles per second.
|
void |
setSatelliteConfiguration(int value)
Sets the satellite configuration code.
|
void |
setSatelliteVehicleNumber(int value)
Sets the satellite vehicle number (SVN).
|
void |
setSquareRootOfSemimajorAxis(double value)
Sets the square root of the semi-major axis (sqrt(meters)).
|
void |
setUserRangeAccuracy(int value)
Sets the average User Range Accuracy (URA) number.
|
void |
setZerothOrderClockCorrection(double value)
Sets the zeroth order clock correction.
|
@Nonnull public static SemAlmanacRecord readFrom(@Nonnull GlobalPositioningSystemDate almanacEpoch, @Nonnull BufferedReader reader)
almanacEpoch
- The epoch of the SEM almanac that this record is being read from.reader
- The stream to read from.ArgumentNullException
- Thrown when the reader
is null
.@Nonnull public final GlobalPositioningSystemDate getEpoch()
getEpoch
in interface IGpsElements
public final void setEpoch(@Nonnull GlobalPositioningSystemDate value)
public final int getPseudoRandomNumber()
public final void setPseudoRandomNumber(int value)
public final int getSatelliteVehicleNumber()
public final void setSatelliteVehicleNumber(int value)
public final int getUserRangeAccuracy()
public final void setUserRangeAccuracy(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 getInclinationOffset()
This is the actual value from the almanac. It does not include
the 0.30 semicircle reference value (NavstarISGps200D.IZero
).
InclinationAngle
(get
) returns the complete inclination angle in radians.
public final void setInclinationOffset(double value)
This is the actual value from the almanac. It does not include
the 0.30 semicircle reference value (NavstarISGps200D.IZero
).
InclinationAngle
(get
) returns the complete inclination angle in radians.
public final double getInclinationAngle()
rad
This property includes the 0.30 semicircle reference value
(NavstarISGps200D.IZero
) and has been converted to radians.
Use InclinationOffset
(get
/ set
) to obtain the original value from the almanac.
getInclinationAngle
in interface IGpsElements
public final double getMeanAnomalySemicircles()
This is the actual value from the almanac. MeanAnomaly
(get
) returns the
mean anomaly in radians.
public final void setMeanAnomalySemicircles(double value)
This is the actual value from the almanac. MeanAnomaly
(get
) returns the
mean anomaly in radians.
public final double getMeanAnomaly()
rad
This property is the mean anomaly converted to radians. Use MeanAnomalySemicircles
(get
/ set
) to
obtain the original value from the almanac.
getMeanAnomaly
in interface IGpsElements
public final double getArgumentOfPerigeeSemicircles()
This is the actual value from the almanac. ArgumentOfPerigee
(get
) returns the
argument of perigee in radians.
public final void setArgumentOfPerigeeSemicircles(double value)
This is the actual value from the almanac. ArgumentOfPerigee
(get
) returns the
argument of perigee in radians.
public final double getArgumentOfPerigee()
rad
This property is the argument of perigee converted to radians. Use ArgumentOfPerigeeSemicircles
(get
/ set
)
to obtain the original value from the almanac.
getArgumentOfPerigee
in interface IGpsElements
public final double getRateOfRightAscensionSemicircles()
This is the actual value from the almanac. RateOfRightAscension
(get
) returns
the rate of right ascension in radians per second.
public final void setRateOfRightAscensionSemicircles(double value)
This is the actual value from the almanac. RateOfRightAscension
(get
) returns
the rate of right ascension in radians per second.
public final double getRateOfRightAscension()
rad / s
This property is the rate of right ascension converted to radians per second. Use
RateOfRightAscensionSemicircles
(get
/ set
) to obtain the original value from
the almanac.
getRateOfRightAscension
in interface IGpsElements
public final double getLongitudeOfAscendingNodeSemicircles()
This is the actual value from the almanac LongitudeOfAscendingNode
(get
) returns
the longitude of the orbital plane in radians.
public final void setLongitudeOfAscendingNodeSemicircles(double value)
This is the actual value from the almanac LongitudeOfAscendingNode
(get
) returns
the longitude of the orbital plane in radians.
public final double getLongitudeOfAscendingNode()
rad
This property is the longitude converted to radians. Use LongitudeOfAscendingNodeSemicircles
(get
/ set
)
to obtain the original value from the almanac.
getLongitudeOfAscendingNode
in interface IGpsElements
public final int getHealth()
public final void setHealth(int value)
public final int getSatelliteConfiguration()
public final void setSatelliteConfiguration(int value)
@Nonnull public final Platform createSatellite()
public final double getCosineCorrectionToArgumentOfLatitude()
rad
This property always returns 0.0 because SEM almanacs do not include this information.
getCosineCorrectionToArgumentOfLatitude
in interface IGpsElements
public final double getCosineCorrectionToInclination()
rad
This property always returns 0.0 because SEM almanacs do not include this information.
getCosineCorrectionToInclination
in interface IGpsElements
public final double getCosineCorrectionToOrbitRadius()
m
This property always returns 0.0 because SEM almanacs do not include this information.
getCosineCorrectionToOrbitRadius
in interface IGpsElements
public final double getEccentricity()
unitless
getEccentricity
in interface IGpsElements
public final void setEccentricity(double value)
unitless
public final double getIssueOfData()
This property always returns 0 because SEM almanacs do not include this information.
getIssueOfData
in interface IGpsElements
public final double getMeanMotionDifference()
rad / s
This property always returns 0.0 because SEM almanacs do not include this information.
getMeanMotionDifference
in interface IGpsElements
public final double getRateOfInclinationAngle()
rad / s
This property always returns 0.0 because SEM almanacs do not include this information.
getRateOfInclinationAngle
in interface IGpsElements
public final double getSineCorrectionToArgumentOfLatitude()
rad
This property always returns 0.0 because SEM almanacs do not include this information.
getSineCorrectionToArgumentOfLatitude
in interface IGpsElements
public final double getSineCorrectionToInclination()
rad
This property always returns 0.0 because SEM almanacs do not include this information.
getSineCorrectionToInclination
in interface IGpsElements
public final double getSineCorrectionToOrbitRadius()
m
This property always returns 0.0 because SEM almanacs do not include this information.
getSineCorrectionToOrbitRadius
in interface IGpsElements
public final double getSquareRootOfSemimajorAxis()
sqrt(m)
getSquareRootOfSemimajorAxis
in interface IGpsElements
public final void setSquareRootOfSemimajorAxis(double value)
sqrt(m)