This class models a RINEX 3 Nav record.
Definition at line 69 of file Rinex3NavData.hpp.
#include <Rinex3NavData.hpp>
Public Member Functions | |
virtual void | dump (std::ostream &s) const |
std::string | dumpString () const |
Write selected info (system dependent) as a single line. More... | |
virtual bool | isData () const |
Rinex3NavData is "data" so this function always returns true. More... | |
operator EngEphemeris () const noexcept | |
bool | operator< (const Rinex3NavData &right) const |
Sort on time, then satellite; for use with Rinex3EphemerisStore. More... | |
Rinex3NavData () | |
Rinex3NavData (const EngEphemeris &ee) | |
Rinex3NavData (const RinexNavData &rnd) | |
Create from a RinexNavData (for backward compatibility) More... | |
std::list< double > | toList () const |
virtual | ~Rinex3NavData () |
Destructor. More... | |
![]() | |
virtual | ~Rinex3NavBase () |
Destructor. 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 | |
General Data | |
CommonTime | time |
Time according to the sat/epoch record (TOC) More... | |
std::string | satSys |
Satellite system of Epoch: G,R,E,S,C. More... | |
short | PRNID |
SV PRN ID. More... | |
RinexSatID | sat |
RinexSatID (from PRNID & satSys) More... | |
long | xmitTime |
Time of subframe 1-3 (sec of week) More... | |
short | weeknum |
RNDouble | accuracy |
SV accuracy (m) More... | |
short | health |
SV health. More... | |
GPS Data | |
short | codeflgs |
L2 codes. More... | |
short | L2Pdata |
L2 P data flag. More... | |
RNDouble | IODC |
Index of data-clock. More... | |
RNDouble | IODE |
Index of data-eph. More... | |
GLO Data | |
RNDouble | TauN |
SV clock bias (sec) More... | |
RNDouble | GammaN |
SV relative frequency bias. More... | |
double | MFTraw |
Message frame time (sec of UTC week) as double. More... | |
long | MFtime |
Message frame time (sec of UTC week) as long. More... | |
short | freqNum |
Frequency number (-7..+12) More... | |
RNDouble | ageOfInfo |
Age of oper. information (days) More... | |
GAL Data | |
short | datasources |
Data sources. More... | |
RNDouble | IODnav |
Index of data-eph. More... | |
GEO Data | |
RNDouble | accCode |
Accuracy code (URA, meters) More... | |
RNDouble | IODN |
Clock Information | |
double | Toc |
Time of clock (sec of week) More... | |
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 diff. (sec) (GPS, BDS:B1/B3 GAL:E5a/E1) More... | |
RNDouble | Tgd2 |
Group delay differential (sec) (BDS:B2/B3 GAL:E5b/E1) 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... | |
Tabular Ephemeris Parameters | |
RNDouble | px |
RNDouble | py |
RNDouble | pz |
SV position. More... | |
RNDouble | vx |
RNDouble | vy |
RNDouble | vz |
SV velocity. More... | |
RNDouble | ax |
RNDouble | ay |
RNDouble | az |
SV acceleration. More... | |
void | getPRNEpoch (Rinex3NavStream &strm) |
void | getRecord (const int &n, Rinex3NavStream &strm) |
void | putPRNEpoch (Rinex3NavStream &strm) const |
void | putRecord (const int &n, Rinex3NavStream &strm) const |
virtual void | reallyGetRecord (FFStream &s) |
virtual void | reallyPutRecord (FFStream &s) const |
Additional Inherited Members |
gnsstk::Rinex3NavData::Rinex3NavData | ( | ) |
Constructor
Definition at line 59 of file Rinex3NavData.cpp.
gnsstk::Rinex3NavData::Rinex3NavData | ( | const RinexNavData & | rnd | ) |
Create from a RinexNavData (for backward compatibility)
Definition at line 72 of file Rinex3NavData.cpp.
gnsstk::Rinex3NavData::Rinex3NavData | ( | const EngEphemeris & | ee | ) |
Initializes the nav data with an EngEphemeris EngEphemeris is deprecated; use GPSEphemeris
Definition at line 125 of file Rinex3NavData.cpp.
|
inlinevirtual |
Destructor.
Definition at line 86 of file Rinex3NavData.hpp.
|
virtual |
A debug output function. Prints the PRN id and the IODC for this record.
Reimplemented from gnsstk::FFData.
Definition at line 300 of file Rinex3NavData.cpp.
string gnsstk::Rinex3NavData::dumpString | ( | ) | const |
Write selected info (system dependent) as a single line.
Definition at line 334 of file Rinex3NavData.cpp.
|
inlinestatic |
Definition at line 116 of file Rinex3NavData.hpp.
|
private |
Parses string currentLine to obtain PRN id and epoch.
strm | RINEX Nav stream |
StringUtils::StringException | |
FFStreamError |
Definition at line 744 of file Rinex3NavData.cpp.
|
private |
Read and parse the nth record after the epoch record
n | record number (1-7), for nth record after the epoch line |
strm | stream to read from |
StringUtils::StringException | |
FFStreamError |
Definition at line 873 of file Rinex3NavData.cpp.
|
inlinevirtual |
Rinex3NavData is "data" so this function always returns true.
Reimplemented from gnsstk::FFData.
Definition at line 89 of file Rinex3NavData.hpp.
|
noexcept |
deprecated; use GPSEphemeris, GPS-only. Converts Rinex3NavData to an EngEphemeris object.
Definition at line 404 of file Rinex3NavData.cpp.
|
inline |
Sort on time, then satellite; for use with Rinex3EphemerisStore.
Definition at line 107 of file Rinex3NavData.hpp.
|
private |
Generates the PRN/epoch line and outputs it to strm
strm | RINEX Nav stream |
StringUtils::StringException |
Definition at line 547 of file Rinex3NavData.cpp.
|
private |
Construct and write the nth record after the epoch record
[in] | n | Record number (1-7), for nth record after the epoch line. |
[out] | strm | Stream to write to. |
StringUtils::StringException | |
FFStreamError |
Definition at line 583 of file Rinex3NavData.cpp.
|
protectedvirtual |
This function retrieves a RINEX 3 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 190 of file Rinex3NavData.cpp.
|
protectedvirtual |
Outputs the record to the FFStream s.
std::exception | |
StringUtils::StringException | |
FFStreamError |
Implements gnsstk::FFData.
Definition at line 253 of file Rinex3NavData.cpp.
list< double > gnsstk::Rinex3NavData::toList | ( | ) | const |
Converts the (non-CommonTime) data to an easy list for comparison operators.
Definition at line 502 of file Rinex3NavData.cpp.
RNDouble gnsstk::Rinex3NavData::accCode |
Accuracy code (URA, meters)
Definition at line 160 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::accuracy |
SV accuracy (m)
Definition at line 130 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::af0 |
SV clock error (sec)
Definition at line 168 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::af1 |
SV clock drift (sec/sec)
Definition at line 169 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::af2 |
SV clock drift rate (sec/sec**2)
Definition at line 170 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::ageOfInfo |
Age of oper. information (days)
Definition at line 149 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::Ahalf |
SQRT of semi-major axis (m**1/2)
Definition at line 191 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::ax |
Definition at line 205 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::ay |
Definition at line 205 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::az |
SV acceleration.
Definition at line 205 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::Cic |
Cosine inclination (rad)
Definition at line 181 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::Cis |
Sine inclination (rad)
Definition at line 182 of file Rinex3NavData.hpp.
short gnsstk::Rinex3NavData::codeflgs |
L2 codes.
Definition at line 136 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::Crc |
Cosine radius (m)
Definition at line 179 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::Crs |
Sine radius (m)
Definition at line 180 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::Cuc |
Cosine latitude (rad)
Definition at line 177 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::Cus |
Sine latitude (rad)
Definition at line 178 of file Rinex3NavData.hpp.
short gnsstk::Rinex3NavData::datasources |
Data sources.
Definition at line 154 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::dn |
Correction to mean motion (rad/sec)
Definition at line 189 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::ecc |
Eccentricity.
Definition at line 190 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::fitint |
Fit interval.
Definition at line 197 of file Rinex3NavData.hpp.
short gnsstk::Rinex3NavData::freqNum |
Frequency number (-7..+12)
Definition at line 148 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::GammaN |
SV relative frequency bias.
Definition at line 145 of file Rinex3NavData.hpp.
short gnsstk::Rinex3NavData::health |
SV health.
Definition at line 131 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::i0 |
Inclination (rad)
Definition at line 193 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::idot |
Rate of inclination angle (rad/sec)
Definition at line 196 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::IODC |
Index of data-clock.
Definition at line 138 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::IODE |
Index of data-eph.
Definition at line 139 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::IODN |
Issue of data navigation, DO229, 8 first bits after Message type if MT9
Definition at line 161 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::IODnav |
Index of data-eph.
Definition at line 155 of file Rinex3NavData.hpp.
short gnsstk::Rinex3NavData::L2Pdata |
L2 P data flag.
Definition at line 137 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::M0 |
Mean anomaly (rad)
Definition at line 188 of file Rinex3NavData.hpp.
long gnsstk::Rinex3NavData::MFtime |
Message frame time (sec of UTC week) as long.
Definition at line 147 of file Rinex3NavData.hpp.
double gnsstk::Rinex3NavData::MFTraw |
Message frame time (sec of UTC week) as double.
Definition at line 146 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::OMEGA0 |
Rt ascension of ascending node (rad)
Definition at line 192 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::OMEGAdot |
Rate of Rt ascension (rad/sec)
Definition at line 195 of file Rinex3NavData.hpp.
short gnsstk::Rinex3NavData::PRNID |
SV PRN ID.
Definition at line 124 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::px |
Definition at line 203 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::py |
Definition at line 203 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::pz |
SV position.
Definition at line 203 of file Rinex3NavData.hpp.
RinexSatID gnsstk::Rinex3NavData::sat |
RinexSatID (from PRNID & satSys)
Definition at line 125 of file Rinex3NavData.hpp.
std::string gnsstk::Rinex3NavData::satSys |
Satellite system of Epoch: G,R,E,S,C.
Definition at line 123 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::TauN |
SV clock bias (sec)
Definition at line 144 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::Tgd |
Group delay diff. (sec) (GPS, BDS:B1/B3 GAL:E5a/E1)
Definition at line 171 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::Tgd2 |
Group delay differential (sec) (BDS:B2/B3 GAL:E5b/E1)
Definition at line 172 of file Rinex3NavData.hpp.
CommonTime gnsstk::Rinex3NavData::time |
Time according to the sat/epoch record (TOC)
Definition at line 122 of file Rinex3NavData.hpp.
double gnsstk::Rinex3NavData::Toc |
Time of clock (sec of week)
Definition at line 167 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::Toe |
Ephemeris epoch (sec of week)
Definition at line 187 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::vx |
Definition at line 204 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::vy |
Definition at line 204 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::vz |
SV velocity.
Definition at line 204 of file Rinex3NavData.hpp.
RNDouble gnsstk::Rinex3NavData::w |
Argument of perigee (rad)
Definition at line 194 of file Rinex3NavData.hpp.
short gnsstk::Rinex3NavData::weeknum |
GPS full week corresponding to HOWtime of SF1 (N.B.:in RINEX files, week number corresponds >to ToE, not GLO)
Definition at line 127 of file Rinex3NavData.hpp.
long gnsstk::Rinex3NavData::xmitTime |
Time of subframe 1-3 (sec of week)
Definition at line 126 of file Rinex3NavData.hpp.