Public Member Functions | Static Public Member Functions | List of all members
gnsstk::Rinex3NavData Class Reference

Detailed Description

This class models a RINEX 3 Nav record.

See also
FunctionalTests/Rinex3NavText for example.
Rinex3NavHeader and Rinex3NavStream classes.

Definition at line 69 of file Rinex3NavData.hpp.

#include <Rinex3NavData.hpp>

Inheritance diagram for gnsstk::Rinex3NavData:
Inheritance graph
[legend]

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...
 
- Public Member Functions inherited from gnsstk::Rinex3NavBase
virtual ~Rinex3NavBase ()
 Destructor. More...
 
- Public Member Functions inherited from gnsstk::FFData
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

Constructor & Destructor Documentation

◆ Rinex3NavData() [1/3]

gnsstk::Rinex3NavData::Rinex3NavData ( )

Constructor

Warning
CHECK THE PRNID TO SEE IF THIS DATA IS VALID BEFORE USING!!!.

Definition at line 59 of file Rinex3NavData.cpp.

◆ Rinex3NavData() [2/3]

gnsstk::Rinex3NavData::Rinex3NavData ( const RinexNavData rnd)

Create from a RinexNavData (for backward compatibility)

Definition at line 72 of file Rinex3NavData.cpp.

◆ Rinex3NavData() [3/3]

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.

◆ ~Rinex3NavData()

virtual gnsstk::Rinex3NavData::~Rinex3NavData ( )
inlinevirtual

Destructor.

Definition at line 86 of file Rinex3NavData.hpp.

Member Function Documentation

◆ dump()

void gnsstk::Rinex3NavData::dump ( std::ostream &  s) const
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.

◆ dumpString()

string gnsstk::Rinex3NavData::dumpString ( ) const

Write selected info (system dependent) as a single line.

Definition at line 334 of file Rinex3NavData.cpp.

◆ fixSF1xmitSOW()

static long gnsstk::Rinex3NavData::fixSF1xmitSOW ( unsigned long  sow)
inlinestatic

Definition at line 116 of file Rinex3NavData.hpp.

◆ getPRNEpoch()

void gnsstk::Rinex3NavData::getPRNEpoch ( Rinex3NavStream strm)
private

Parses string currentLine to obtain PRN id and epoch.

Parameters
strmRINEX Nav stream
Exceptions
StringUtils::StringException
FFStreamError

Definition at line 744 of file Rinex3NavData.cpp.

◆ getRecord()

void gnsstk::Rinex3NavData::getRecord ( const int &  n,
Rinex3NavStream strm 
)
private

Read and parse the nth record after the epoch record

Parameters
nrecord number (1-7), for nth record after the epoch line
strmstream to read from
Exceptions
StringUtils::StringException
FFStreamError

Definition at line 873 of file Rinex3NavData.cpp.

◆ isData()

virtual bool gnsstk::Rinex3NavData::isData ( ) const
inlinevirtual

Rinex3NavData is "data" so this function always returns true.

Reimplemented from gnsstk::FFData.

Definition at line 89 of file Rinex3NavData.hpp.

◆ operator EngEphemeris()

gnsstk::Rinex3NavData::operator EngEphemeris ( ) const
noexcept

deprecated; use GPSEphemeris, GPS-only. Converts Rinex3NavData to an EngEphemeris object.

Definition at line 404 of file Rinex3NavData.cpp.

◆ operator<()

bool gnsstk::Rinex3NavData::operator< ( const Rinex3NavData right) const
inline

Sort on time, then satellite; for use with Rinex3EphemerisStore.

Definition at line 107 of file Rinex3NavData.hpp.

◆ putPRNEpoch()

void gnsstk::Rinex3NavData::putPRNEpoch ( Rinex3NavStream strm) const
private

Generates the PRN/epoch line and outputs it to strm

Parameters
strmRINEX Nav stream
Exceptions
StringUtils::StringException

Definition at line 547 of file Rinex3NavData.cpp.

◆ putRecord()

void gnsstk::Rinex3NavData::putRecord ( const int &  n,
Rinex3NavStream strm 
) const
private

Construct and write the nth record after the epoch record

Parameters
[in]nRecord number (1-7), for nth record after the epoch line.
[out]strmStream to write to.
Exceptions
StringUtils::StringException
FFStreamError

Definition at line 583 of file Rinex3NavData.cpp.

◆ reallyGetRecord()

void gnsstk::Rinex3NavData::reallyGetRecord ( FFStream s)
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.

Exceptions
std::exception
StringExceptionwhen a StringUtils function fails.
FFStreamErrorwhen 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.

◆ reallyPutRecord()

void gnsstk::Rinex3NavData::reallyPutRecord ( FFStream s) const
protectedvirtual

Outputs the record to the FFStream s.

Exceptions
std::exception
StringUtils::StringException
FFStreamError

Implements gnsstk::FFData.

Definition at line 253 of file Rinex3NavData.cpp.

◆ toList()

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.

Member Data Documentation

◆ accCode

RNDouble gnsstk::Rinex3NavData::accCode

Accuracy code (URA, meters)

Definition at line 160 of file Rinex3NavData.hpp.

◆ accuracy

RNDouble gnsstk::Rinex3NavData::accuracy

SV accuracy (m)

Definition at line 130 of file Rinex3NavData.hpp.

◆ af0

RNDouble gnsstk::Rinex3NavData::af0

SV clock error (sec)

Definition at line 168 of file Rinex3NavData.hpp.

◆ af1

RNDouble gnsstk::Rinex3NavData::af1

SV clock drift (sec/sec)

Definition at line 169 of file Rinex3NavData.hpp.

◆ af2

RNDouble gnsstk::Rinex3NavData::af2

SV clock drift rate (sec/sec**2)

Definition at line 170 of file Rinex3NavData.hpp.

◆ ageOfInfo

RNDouble gnsstk::Rinex3NavData::ageOfInfo

Age of oper. information (days)

Definition at line 149 of file Rinex3NavData.hpp.

◆ Ahalf

RNDouble gnsstk::Rinex3NavData::Ahalf

SQRT of semi-major axis (m**1/2)

Definition at line 191 of file Rinex3NavData.hpp.

◆ ax

RNDouble gnsstk::Rinex3NavData::ax

Definition at line 205 of file Rinex3NavData.hpp.

◆ ay

RNDouble gnsstk::Rinex3NavData::ay

Definition at line 205 of file Rinex3NavData.hpp.

◆ az

RNDouble gnsstk::Rinex3NavData::az

SV acceleration.

Definition at line 205 of file Rinex3NavData.hpp.

◆ Cic

RNDouble gnsstk::Rinex3NavData::Cic

Cosine inclination (rad)

Definition at line 181 of file Rinex3NavData.hpp.

◆ Cis

RNDouble gnsstk::Rinex3NavData::Cis

Sine inclination (rad)

Definition at line 182 of file Rinex3NavData.hpp.

◆ codeflgs

short gnsstk::Rinex3NavData::codeflgs

L2 codes.

Definition at line 136 of file Rinex3NavData.hpp.

◆ Crc

RNDouble gnsstk::Rinex3NavData::Crc

Cosine radius (m)

Definition at line 179 of file Rinex3NavData.hpp.

◆ Crs

RNDouble gnsstk::Rinex3NavData::Crs

Sine radius (m)

Definition at line 180 of file Rinex3NavData.hpp.

◆ Cuc

RNDouble gnsstk::Rinex3NavData::Cuc

Cosine latitude (rad)

Definition at line 177 of file Rinex3NavData.hpp.

◆ Cus

RNDouble gnsstk::Rinex3NavData::Cus

Sine latitude (rad)

Definition at line 178 of file Rinex3NavData.hpp.

◆ datasources

short gnsstk::Rinex3NavData::datasources

Data sources.

Definition at line 154 of file Rinex3NavData.hpp.

◆ dn

RNDouble gnsstk::Rinex3NavData::dn

Correction to mean motion (rad/sec)

Definition at line 189 of file Rinex3NavData.hpp.

◆ ecc

RNDouble gnsstk::Rinex3NavData::ecc

Eccentricity.

Definition at line 190 of file Rinex3NavData.hpp.

◆ fitint

RNDouble gnsstk::Rinex3NavData::fitint

Fit interval.

Definition at line 197 of file Rinex3NavData.hpp.

◆ freqNum

short gnsstk::Rinex3NavData::freqNum

Frequency number (-7..+12)

Definition at line 148 of file Rinex3NavData.hpp.

◆ GammaN

RNDouble gnsstk::Rinex3NavData::GammaN

SV relative frequency bias.

Definition at line 145 of file Rinex3NavData.hpp.

◆ health

short gnsstk::Rinex3NavData::health

SV health.

Definition at line 131 of file Rinex3NavData.hpp.

◆ i0

RNDouble gnsstk::Rinex3NavData::i0

Inclination (rad)

Definition at line 193 of file Rinex3NavData.hpp.

◆ idot

RNDouble gnsstk::Rinex3NavData::idot

Rate of inclination angle (rad/sec)

Definition at line 196 of file Rinex3NavData.hpp.

◆ IODC

RNDouble gnsstk::Rinex3NavData::IODC

Index of data-clock.

Definition at line 138 of file Rinex3NavData.hpp.

◆ IODE

RNDouble gnsstk::Rinex3NavData::IODE

Index of data-eph.

Definition at line 139 of file Rinex3NavData.hpp.

◆ IODN

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.

◆ IODnav

RNDouble gnsstk::Rinex3NavData::IODnav

Index of data-eph.

Definition at line 155 of file Rinex3NavData.hpp.

◆ L2Pdata

short gnsstk::Rinex3NavData::L2Pdata

L2 P data flag.

Definition at line 137 of file Rinex3NavData.hpp.

◆ M0

RNDouble gnsstk::Rinex3NavData::M0

Mean anomaly (rad)

Definition at line 188 of file Rinex3NavData.hpp.

◆ MFtime

long gnsstk::Rinex3NavData::MFtime

Message frame time (sec of UTC week) as long.

Definition at line 147 of file Rinex3NavData.hpp.

◆ MFTraw

double gnsstk::Rinex3NavData::MFTraw

Message frame time (sec of UTC week) as double.

Definition at line 146 of file Rinex3NavData.hpp.

◆ OMEGA0

RNDouble gnsstk::Rinex3NavData::OMEGA0

Rt ascension of ascending node (rad)

Definition at line 192 of file Rinex3NavData.hpp.

◆ OMEGAdot

RNDouble gnsstk::Rinex3NavData::OMEGAdot

Rate of Rt ascension (rad/sec)

Definition at line 195 of file Rinex3NavData.hpp.

◆ PRNID

short gnsstk::Rinex3NavData::PRNID

SV PRN ID.

Definition at line 124 of file Rinex3NavData.hpp.

◆ px

RNDouble gnsstk::Rinex3NavData::px

Definition at line 203 of file Rinex3NavData.hpp.

◆ py

RNDouble gnsstk::Rinex3NavData::py

Definition at line 203 of file Rinex3NavData.hpp.

◆ pz

RNDouble gnsstk::Rinex3NavData::pz

SV position.

Definition at line 203 of file Rinex3NavData.hpp.

◆ sat

RinexSatID gnsstk::Rinex3NavData::sat

RinexSatID (from PRNID & satSys)

Definition at line 125 of file Rinex3NavData.hpp.

◆ satSys

std::string gnsstk::Rinex3NavData::satSys

Satellite system of Epoch: G,R,E,S,C.

Definition at line 123 of file Rinex3NavData.hpp.

◆ TauN

RNDouble gnsstk::Rinex3NavData::TauN

SV clock bias (sec)

Definition at line 144 of file Rinex3NavData.hpp.

◆ Tgd

RNDouble gnsstk::Rinex3NavData::Tgd

Group delay diff. (sec) (GPS, BDS:B1/B3 GAL:E5a/E1)

Definition at line 171 of file Rinex3NavData.hpp.

◆ Tgd2

RNDouble gnsstk::Rinex3NavData::Tgd2

Group delay differential (sec) (BDS:B2/B3 GAL:E5b/E1)

Definition at line 172 of file Rinex3NavData.hpp.

◆ time

CommonTime gnsstk::Rinex3NavData::time

Time according to the sat/epoch record (TOC)

Definition at line 122 of file Rinex3NavData.hpp.

◆ Toc

double gnsstk::Rinex3NavData::Toc

Time of clock (sec of week)

Definition at line 167 of file Rinex3NavData.hpp.

◆ Toe

RNDouble gnsstk::Rinex3NavData::Toe

Ephemeris epoch (sec of week)

Definition at line 187 of file Rinex3NavData.hpp.

◆ vx

RNDouble gnsstk::Rinex3NavData::vx

Definition at line 204 of file Rinex3NavData.hpp.

◆ vy

RNDouble gnsstk::Rinex3NavData::vy

Definition at line 204 of file Rinex3NavData.hpp.

◆ vz

RNDouble gnsstk::Rinex3NavData::vz

SV velocity.

Definition at line 204 of file Rinex3NavData.hpp.

◆ w

RNDouble gnsstk::Rinex3NavData::w

Argument of perigee (rad)

Definition at line 194 of file Rinex3NavData.hpp.

◆ weeknum

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.

◆ xmitTime

long gnsstk::Rinex3NavData::xmitTime

Time of subframe 1-3 (sec of week)

Definition at line 126 of file Rinex3NavData.hpp.


The documentation for this class was generated from the following files:


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:45