This class models a RINEX NAV record.
Definition at line 67 of file RinexNavData.hpp.
#include <RinexNavData.hpp>
Public Member Functions | |
virtual void | dump (std::ostream &s) const |
CommonTime | getHOWTime () const |
GPSWeekSecond | getHOWWS () const |
CommonTime | getTocTime () const noexcept |
GPSWeekSecond | getTocWS () const |
CommonTime | getToeTime () const |
GPSWeekSecond | getToeWS () const |
CommonTime | getXmitTime () const |
GPSWeekSecond | getXmitWS () const |
virtual bool | isData () const |
RinexNavData is "data" so this function always returns true. More... | |
operator EngEphemeris () const noexcept | |
RinexNavData () | |
RinexNavData (const EngEphemeris &ee) | |
Initializes the nav data with an EngEphemeris. More... | |
RinexNavData & | setXmitTime (unsigned long sow) |
RinexNavData & | setXmitTime (unsigned short fullweek, unsigned long sow) |
RinexNavData & | setXmitWeek (unsigned short fullweek) |
virtual std::string | stableText () const |
std::list< double > | toList () const |
virtual | ~RinexNavData () |
destructor More... | |
![]() | |
virtual | ~RinexNavBase () |
in deference to our coding standards, this is declared virtual More... | |
![]() | |
void | getRecord (FFStream &s) |
virtual bool | isHeader () const |
void | putRecord (FFStream &s) const |
virtual | ~FFData (void) |
virtual desctuctor More... | |
Static Public Member Functions | |
static long | fixSF1xmitSOW (unsigned long sow) |
Public Attributes | |
Epoch data | |
CommonTime | time |
Clock reference time (toc). More... | |
short | PRNID |
SV PRN ID. More... | |
long | sf1XmitTime |
Transmit time (seconds of week) of SF 1. More... | |
short | toeWeek |
The full GPS week associated with Toe. More... | |
short | codeflgs |
L2 codes. More... | |
RNDouble | accuracy |
SV accuracy (m). More... | |
short | health |
SV health. More... | |
short | L2Pdata |
L2 P data flag. More... | |
RNDouble | IODC |
Index of data-clock. More... | |
RNDouble | IODE |
Index of data-eph. More... | |
Clock Information | |
RNDouble | af0 |
SV clock error (sec). More... | |
RNDouble | af1 |
SV clock drift (sec/sec). More... | |
RNDouble | af2 |
SV clock drift rate (sec/sec**2). More... | |
RNDouble | Tgd |
Group delay differential (sec). More... | |
Harmonic Perturbations | |
RNDouble | Cuc |
Cosine latitude (rad). More... | |
RNDouble | Cus |
Sine latitude (rad). More... | |
RNDouble | Crc |
Cosine radius (m). More... | |
RNDouble | Crs |
Sine radius (m). More... | |
RNDouble | Cic |
Cosine inclination (rad). More... | |
RNDouble | Cis |
Sine inclination (rad). More... | |
Major Ephemeris Parameters | |
RNDouble | Toe |
Ephemeris epoch (sec of week). More... | |
RNDouble | M0 |
Mean anomaly (rad). More... | |
RNDouble | dn |
Correction to mean motion (rad/sec). More... | |
RNDouble | ecc |
Eccentricity. More... | |
RNDouble | Ahalf |
SQRT of semi-major axis (m**1/2). More... | |
RNDouble | OMEGA0 |
Rt ascension of ascending node (rad). More... | |
RNDouble | i0 |
Inclination (rad). More... | |
RNDouble | w |
Argument of perigee (rad). More... | |
RNDouble | OMEGAdot |
Rate of Rt ascension (rad/sec). More... | |
RNDouble | idot |
Rate of inclination angle (rad/sec). More... | |
RNDouble | fitint |
Fit interval. More... | |
void | getPRNEpoch (const std::string ¤tLine) |
void | getBroadcastOrbit1 (const std::string ¤tLine) |
void | getBroadcastOrbit2 (const std::string ¤tLine) |
void | getBroadcastOrbit3 (const std::string ¤tLine) |
void | getBroadcastOrbit4 (const std::string ¤tLine) |
void | getBroadcastOrbit5 (const std::string ¤tLine) |
void | getBroadcastOrbit6 (const std::string ¤tLine) |
void | getBroadcastOrbit7 (const std::string ¤tLine) |
std::string | putBroadcastOrbit2 () const |
std::string | putBroadcastOrbit3 () const |
std::string | putBroadcastOrbit4 () const |
std::string | putBroadcastOrbit5 () const |
std::string | putBroadcastOrbit6 () const |
std::string | putBroadcastOrbit7 (const double ver) const |
virtual void | reallyPutRecord (FFStream &s) const |
virtual void | reallyGetRecord (FFStream &s) |
Additional Inherited Members |
gnsstk::RinexNavData::RinexNavData | ( | ) |
Constructor
Definition at line 60 of file RinexNavData.cpp.
gnsstk::RinexNavData::RinexNavData | ( | const EngEphemeris & | ee | ) |
Initializes the nav data with an EngEphemeris.
Definition at line 71 of file RinexNavData.cpp.
|
inlinevirtual |
destructor
Definition at line 81 of file RinexNavData.hpp.
|
virtual |
A debug output function. Prints the PRN id and the IODC for this record. Interface stability: Volatile
Reimplemented from gnsstk::FFData.
Definition at line 153 of file RinexNavData.cpp.
|
inlinestatic |
Round a given seconds of week down to the nearest possible subframe 1 transmit time.
Definition at line 107 of file RinexNavData.hpp.
|
private |
Reads line 1 of the Nav Data record
StringUtils::StringException | |
FFStreamError |
Definition at line 274 of file RinexNavData.cpp.
|
private |
Reads line 2 of the Nav Data record
StringUtils::StringException | |
FFStreamError |
Definition at line 291 of file RinexNavData.cpp.
|
private |
Reads line 3 of the Nav Data record
StringUtils::StringException | |
FFStreamError |
Definition at line 308 of file RinexNavData.cpp.
|
private |
Reads line 4 of the Nav Data record
StringUtils::StringException | |
FFStreamError |
Definition at line 325 of file RinexNavData.cpp.
|
private |
Reads line 5 of the Nav Data record
StringUtils::StringException | |
FFStreamError |
Definition at line 342 of file RinexNavData.cpp.
|
private |
Reads line 6 of the Nav Data record
StringUtils::StringException | |
FFStreamError |
Definition at line 365 of file RinexNavData.cpp.
|
private |
Reads line 7 of the Nav Data record
StringUtils::StringException | |
FFStreamError |
Definition at line 387 of file RinexNavData.cpp.
|
inline |
Get the handover word time as a CommonTime object.
Definition at line 180 of file RinexNavData.hpp.
|
inline |
Get the handover word time as a GPSWeekSecond object.
Definition at line 186 of file RinexNavData.hpp.
|
private |
Parses string currentLine to obtain PRN id and epoch.
StringUtils::StringException |
Definition at line 227 of file RinexNavData.cpp.
|
inlinenoexcept |
Get the clock reference time, which for RINEX NAV is defined to be the epoch time of the record (RINEX 2.11 Table A4).
Definition at line 115 of file RinexNavData.hpp.
|
inline |
Get the clock reference time, which for RINEX NAV is defined to be the epoch time of the record (RINEX 2.11 Table A4).
Definition at line 123 of file RinexNavData.hpp.
|
inline |
Get the ephemeris reference time as a CommonTime object.
Definition at line 129 of file RinexNavData.hpp.
|
inline |
Get the ephemeris reference time as a GPSWeekSecond object.
Definition at line 135 of file RinexNavData.hpp.
|
inline |
Get the transmit time of subframe 1 as a CommonTime object.
Definition at line 141 of file RinexNavData.hpp.
GPSWeekSecond gnsstk::RinexNavData::getXmitWS | ( | ) | const |
Get the transmit time of subframe 1 as a GPSWeekSecond object.
Definition at line 411 of file RinexNavData.cpp.
|
inlinevirtual |
RinexNavData is "data" so this function always returns true.
Reimplemented from gnsstk::FFData.
Definition at line 85 of file RinexNavData.hpp.
|
noexcept |
Converts this RinexNavData to an EngEphemeris object.
Definition at line 163 of file RinexNavData.cpp.
|
private |
Writes line 7 of the Nav Data record
StringUtils::StringException |
|
private |
Writes line 7 of the Nav Data record
StringUtils::StringException |
|
private |
Writes line 7 of the Nav Data record
StringUtils::StringException |
|
private |
Writes line 7 of the Nav Data record
StringUtils::StringException |
|
private |
Writes line 7 of the Nav Data record
StringUtils::StringException |
|
private |
Writes line 7 of the Nav Data record
StringUtils::StringException |
|
protectedvirtual |
This function retrieves a RINEX NAV record from the given FFStream. If an error is encountered in reading from the stream, the stream is returned to its original position and its fail-bit is set.
std::exception | |
StringException | when a StringUtils function fails |
FFStreamError | when exceptions(failbit) is set and a read or formatting error occurs. This also resets the stream to its pre-read position. |
Implements gnsstk::FFData.
Definition at line 107 of file RinexNavData.cpp.
|
protectedvirtual |
Outputs the record to the FFStream s.
std::exception | |
FFStreamError | |
StringUtils::StringException |
Implements gnsstk::FFData.
Definition at line 87 of file RinexNavData.cpp.
|
inline |
Set the sf1XmitTime field using a seconds-of-week value. The value may be a HOW time or perhaps even wildly inaccurate. This method will adjust the sf1XmitTime such that it actually corresponds to the (rounded down) seconds of week that would be correct for a subframe 1. If the specified value is a seconds of week that would already correspond to a sf1 transmit time, it is unaltered.
Definition at line 158 of file RinexNavData.hpp.
RinexNavData & gnsstk::RinexNavData::setXmitTime | ( | unsigned short | fullweek, |
unsigned long | sow | ||
) |
Set the transmit time, including week and second of week.
Definition at line 478 of file RinexNavData.cpp.
RinexNavData & gnsstk::RinexNavData::setXmitWeek | ( | unsigned short | fullweek | ) |
Set the transmit week. Internally, sets the Toe week using half-week tests based on the transmit time and toe.
Definition at line 442 of file RinexNavData.cpp.
|
virtual |
Returns a string representation of the data in this record. Interface stability: Committed
Definition at line 142 of file RinexNavData.cpp.
list< double > gnsstk::RinexNavData::toList | ( | ) | const |
Converts the (non-CommonTime) data to a list for easy comparison operators.
Definition at line 187 of file RinexNavData.cpp.
RNDouble gnsstk::RinexNavData::accuracy |
SV accuracy (m).
Definition at line 207 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::af0 |
SV clock error (sec).
Definition at line 217 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::af1 |
SV clock drift (sec/sec).
Definition at line 218 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::af2 |
SV clock drift rate (sec/sec**2).
Definition at line 219 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::Ahalf |
SQRT of semi-major axis (m**1/2).
Definition at line 241 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::Cic |
Cosine inclination (rad).
Definition at line 230 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::Cis |
Sine inclination (rad).
Definition at line 231 of file RinexNavData.hpp.
short gnsstk::RinexNavData::codeflgs |
L2 codes.
Definition at line 206 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::Crc |
Cosine radius (m).
Definition at line 228 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::Crs |
Sine radius (m).
Definition at line 229 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::Cuc |
Cosine latitude (rad).
Definition at line 226 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::Cus |
Sine latitude (rad).
Definition at line 227 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::dn |
Correction to mean motion (rad/sec).
Definition at line 239 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::ecc |
Eccentricity.
Definition at line 240 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::fitint |
Fit interval.
Definition at line 247 of file RinexNavData.hpp.
short gnsstk::RinexNavData::health |
SV health.
Definition at line 208 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::i0 |
Inclination (rad).
Definition at line 243 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::idot |
Rate of inclination angle (rad/sec).
Definition at line 246 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::IODC |
Index of data-clock.
Definition at line 210 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::IODE |
Index of data-eph.
Definition at line 211 of file RinexNavData.hpp.
short gnsstk::RinexNavData::L2Pdata |
L2 P data flag.
Definition at line 209 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::M0 |
Mean anomaly (rad).
Definition at line 238 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::OMEGA0 |
Rt ascension of ascending node (rad).
Definition at line 242 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::OMEGAdot |
Rate of Rt ascension (rad/sec).
Definition at line 245 of file RinexNavData.hpp.
short gnsstk::RinexNavData::PRNID |
SV PRN ID.
Definition at line 199 of file RinexNavData.hpp.
long gnsstk::RinexNavData::sf1XmitTime |
Transmit time (seconds of week) of SF 1.
Definition at line 200 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::Tgd |
Group delay differential (sec).
Definition at line 220 of file RinexNavData.hpp.
CommonTime gnsstk::RinexNavData::time |
Clock reference time (toc).
Definition at line 198 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::Toe |
Ephemeris epoch (sec of week).
Definition at line 237 of file RinexNavData.hpp.
short gnsstk::RinexNavData::toeWeek |
The full GPS week associated with Toe.
Definition at line 205 of file RinexNavData.hpp.
RNDouble gnsstk::RinexNavData::w |
Argument of perigee (rad).
Definition at line 244 of file RinexNavData.hpp.