Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Attributes | Friends | List of all members
gnsstk::NavData Class Referenceabstract

Detailed Description

This is an abstract base class for decoded navigation message data, including orbit information, health data and time offsets.

Definition at line 86 of file NavData.hpp.

#include <NavData.hpp>

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

Public Member Functions

virtual NavDataPtr clone () const =0
 Create a deep copy of this object, whatever it truly is. More...
 
virtual std::list< std::string > compare (const NavDataPtr &right) const
 
virtual void dump (std::ostream &s, DumpDetail dl) const
 
virtual std::string getClassName () const
 
std::string getDumpTime (DumpDetail dl, const CommonTime &t) const
 
std::string getDumpTimeHdr (DumpDetail dl) const
 
virtual CommonTime getNearTime () const
 
std::string getSignalString () const
 
bool getSVN (const SatID &sat, const gnsstk::CommonTime &when, std::string &svn) const
 
virtual CommonTime getUserTime () const
 
virtual bool isSameData (const NavDataPtr &right) const
 
 NavData ()
 Initialize internal data fields. More...
 
virtual bool validate () const =0
 

Static Public Member Functions

static gnsstk::SatMetaDataStoregetSatMetaDataStore ()
 Accessor for python. More...
 
static void setSatMetaDataStore (gnsstk::SatMetaDataStore *smds)
 Accessor for python. More...
 

Public Attributes

NavMessageID signal
 Source signal identification for this navigation message data. More...
 
CommonTime timeStamp
 
std::string weekFmt
 

Static Public Attributes

static const GNSSTK_EXPORT std::string dumpTimeFmt
 Time format used for the dump method (Full). More...
 
static const GNSSTK_EXPORT std::string dumpTimeFmtBrief
 Time format used for the dump method (Brief). More...
 
static GNSSTK_EXPORT gnsstk::SatMetaDataStoresatMetaDataStore = nullptr
 Set this to a valid store to get PRN->SVN translations in dump(). More...
 

Protected Attributes

double msgLenSec
 

Friends

class RinexNavDataFactory
 Allow RinexNavDataFactory access to msgLenSec. More...
 

Constructor & Destructor Documentation

◆ NavData()

gnsstk::NavData::NavData ( )

Initialize internal data fields.

Definition at line 50 of file NavData.cpp.

Member Function Documentation

◆ clone()

virtual NavDataPtr gnsstk::NavData::clone ( ) const
pure virtual

◆ compare()

std::list< std::string > gnsstk::NavData::compare ( const NavDataPtr right) const
virtual

Compare two NavData descendent objects. Any differences are summarized and returned as a list of readable text.

Parameters
[in]rightThe data to compare against.
Returns
a text list of mismatched data.
Note
We use shared_ptr to allow for casting without risking memory leaks.

Reimplemented in gnsstk::OrbitDataKepler, gnsstk::InterSigCorr, gnsstk::TimeOffsetData, gnsstk::IonoNavData, gnsstk::NavHealthData, and gnsstk::OrbitData.

Definition at line 66 of file NavData.cpp.

◆ dump()

void gnsstk::NavData::dump ( std::ostream &  s,
DumpDetail  dl 
) const
virtual

Print the contents of this NavData object in a human-readable format.

Note
for dump methods to properly map from PRN to SVN, the "global" satMetaDataStore pointer must be set to a store that has data loaded.
Parameters
[in,out]sThe stream to write the data to.
[in]dlThe level of detail the output should contain.

Reimplemented in gnsstk::GLOFNavAlm, gnsstk::GLOCNavAlm, gnsstk::GLOCNavEph, gnsstk::InterSigCorr, gnsstk::NeQuickIonoNavData, gnsstk::GLOFNavEph, gnsstk::RinexTimeOffset, gnsstk::BDSD1NavHealth, gnsstk::BDSD2NavHealth, gnsstk::GPSCNavHealth, gnsstk::GPSLNavEph, gnsstk::StdNavTimeOffset, gnsstk::OrbitDataSP3, gnsstk::GalFNavHealth, gnsstk::GalINavHealth, gnsstk::GLOFNavUT1TimeOffset, gnsstk::OrbitDataKepler, gnsstk::GLOCNavHealth, gnsstk::GLOCNavUT1TimeOffset, gnsstk::GLOFNavHealth, gnsstk::GPSLNavHealth, gnsstk::GPSCNav2Health, gnsstk::GLOCNavIono, and gnsstk::KlobucharIonoNavData.

Definition at line 79 of file NavData.cpp.

◆ getClassName()

std::string gnsstk::NavData::getClassName ( ) const
virtual

Returns the fully-qualified class name. Required for SWIG, at least until a better solution is found.

Definition at line 172 of file NavData.cpp.

◆ getDumpTime()

std::string gnsstk::NavData::getDumpTime ( DumpDetail  dl,
const CommonTime t 
) const

Format a time appropriately for dump().

Parameters
[in]dlThe detail level for the time string to be dumped.
[in]tThe time to format for dumping.
Returns
A string containing the formatted time.

Definition at line 145 of file NavData.cpp.

◆ getDumpTimeHdr()

std::string gnsstk::NavData::getDumpTimeHdr ( DumpDetail  dl) const

Return an appropriate header label for the time format in dump().

Parameters
[in]dlThe detail level for the time string to be dumped.
Returns
A string labeling the columns of the time format (may be blank for some detail levels).

Definition at line 127 of file NavData.cpp.

◆ getNearTime()

virtual CommonTime gnsstk::NavData::getNearTime ( ) const
inlinevirtual

Returns the time for the data to be used when searching in "Nearest" mode. Example: toe for ephemeris data. This is used by NavDataFactoryWithStore::find().

Reimplemented in gnsstk::TimeOffsetData, gnsstk::OrbitDataKepler, and gnsstk::NavHealthData.

Definition at line 115 of file NavData.hpp.

◆ getSatMetaDataStore()

static gnsstk::SatMetaDataStore* gnsstk::NavData::getSatMetaDataStore ( )
inlinestatic

Accessor for python.

Definition at line 183 of file NavData.hpp.

◆ getSignalString()

std::string gnsstk::NavData::getSignalString ( ) const

Return lines of text containing the sufficient specification of the current nav message signal.

Definition at line 86 of file NavData.cpp.

◆ getSVN()

bool gnsstk::NavData::getSVN ( const SatID sat,
const gnsstk::CommonTime when,
std::string &  svn 
) const
inline

Shortcut to SatMetaDataStore::getSVN() that obviates having to check the pointer for null.

Parameters
[in]satThe ID of the desired satellite.
[in]whenThe time of interest of the desired satellite.
[out]svnIf found the satellite's vehicle number.
Returns
true if the requested satellite mapping was found.

Definition at line 150 of file NavData.hpp.

◆ getUserTime()

virtual CommonTime gnsstk::NavData::getUserTime ( ) const
inlinevirtual

Returns the time when the navigation message would have first been available to the user equipment, i.e. the time at which the final bit of a given broadcast navigation message is received. This is used by NavDataFactoryWithStore::find() in User mode.

Reimplemented in gnsstk::GLOFNavAlm, gnsstk::GLOCNavAlm, gnsstk::GLOCNavEph, gnsstk::BDSD2NavEph, gnsstk::RinexTimeOffset, gnsstk::GLOFNavEph, gnsstk::GPSCNavTimeOffset, gnsstk::GalFNavAlm, gnsstk::GalINavAlm, gnsstk::GPSCNavHealth, gnsstk::GPSCNav2ISC, gnsstk::GPSCNavISC, gnsstk::GPSCNavEph, gnsstk::BDSD1NavEph, gnsstk::GalFNavEph, gnsstk::GalINavEph, gnsstk::GPSCNavAlm, gnsstk::GPSLNavEph, and gnsstk::GPSCNavIono.

Definition at line 110 of file NavData.hpp.

◆ isSameData()

bool gnsstk::NavData::isSameData ( const NavDataPtr right) const
virtual

Returns true if this two objects are

  1. same concrete type, and
  2. same data contents. This is intended as a "data uniqueness test" to allow detection of successive transmissions of same data and avoid duplicate storage. The exact rules for uniqueness will vary by descendent class.
    Note
    We use shared_ptr to allow for casting without risking memory leaks.

Reimplemented in gnsstk::OrbitDataKepler, gnsstk::InterSigCorr, gnsstk::TimeOffsetData, gnsstk::IonoNavData, gnsstk::NavHealthData, and gnsstk::OrbitData.

Definition at line 58 of file NavData.cpp.

◆ setSatMetaDataStore()

static void gnsstk::NavData::setSatMetaDataStore ( gnsstk::SatMetaDataStore smds)
inlinestatic

Accessor for python.

Definition at line 180 of file NavData.hpp.

◆ validate()

virtual bool gnsstk::NavData::validate ( ) const
pure virtual

Checks the contents of this message against known validity rules as defined in the appropriate ICD.

Returns
true if this message is valid according to ICD criteria.

Implemented in gnsstk::GPSCNavData, gnsstk::GLOFNavUT1TimeOffset, gnsstk::GLOCNavUT1TimeOffset, FakeODK, gnsstk::NeQuickIonoNavData, gnsstk::BDSD1NavTimeOffset, gnsstk::BDSD2NavTimeOffset, gnsstk::GLOCNavAlm, gnsstk::GLOFNavAlm, gnsstk::BDSD1NavHealth, gnsstk::BDSD2NavEph, gnsstk::BDSD2NavHealth, gnsstk::GLOCNavEph, gnsstk::GPSLNavData, gnsstk::RinexTimeOffset, gnsstk::GPSCNav2TimeOffset, gnsstk::GPSCNavTimeOffset, gnsstk::GPSCNav2Eph, gnsstk::GPSCNav2Alm, gnsstk::OrbitDataSP3, gnsstk::GalFNavAlm, gnsstk::GalINavAlm, gnsstk::BDSD1NavISC, gnsstk::BDSD2NavISC, gnsstk::GalFNavISC, gnsstk::GalINavISC, gnsstk::GPSCNavHealth, gnsstk::BDSD1NavData, gnsstk::GPSCNav2ISC, gnsstk::GPSCNavISC, gnsstk::BDSD1NavEph, gnsstk::GalFNavEph, gnsstk::GalFNavHealth, gnsstk::GalFNavTimeOffset, gnsstk::GalINavEph, gnsstk::GalINavHealth, gnsstk::GalINavTimeOffset, gnsstk::GLOFNavISC, gnsstk::GLOFNavTimeOffset, gnsstk::GPSCNavEph, gnsstk::GPSLNavISC, gnsstk::GPSLNavTimeOffset, gnsstk::GLOCNavHealth, gnsstk::GLOFNavData, gnsstk::GLOFNavHealth, gnsstk::GPSLNavEph, gnsstk::BDSD1NavAlm, gnsstk::BDSD1NavIono, gnsstk::BDSD2NavAlm, gnsstk::BDSD2NavData, gnsstk::BDSD2NavIono, gnsstk::GalFNavIono, gnsstk::GalINavIono, gnsstk::GLOFNavEph, gnsstk::GPSCNavAlm, gnsstk::GPSCNavRedAlm, gnsstk::GPSLNavAlm, gnsstk::GPSLNavHealth, gnsstk::GLOCNavData, gnsstk::GLOCNavIono, gnsstk::GPSCNav2Health, gnsstk::GPSCNavIono, gnsstk::GPSLNavIono, and gnsstk::KlobucharIonoNavData.

Friends And Related Function Documentation

◆ RinexNavDataFactory

friend class RinexNavDataFactory
friend

Allow RinexNavDataFactory access to msgLenSec.

Definition at line 201 of file NavData.hpp.

Member Data Documentation

◆ dumpTimeFmt

const std::string gnsstk::NavData::dumpTimeFmt
static

Time format used for the dump method (Full).

Definition at line 90 of file NavData.hpp.

◆ dumpTimeFmtBrief

const std::string gnsstk::NavData::dumpTimeFmtBrief
static

Time format used for the dump method (Brief).

Definition at line 92 of file NavData.hpp.

◆ msgLenSec

double gnsstk::NavData::msgLenSec
protected

Navigation message length in seconds. This is used by getUserTime() by default, though it is possible to override getUserTime() to ignore this value (as in CNav).

Definition at line 199 of file NavData.hpp.

◆ satMetaDataStore

gnsstk::SatMetaDataStore * gnsstk::NavData::satMetaDataStore = nullptr
static

Set this to a valid store to get PRN->SVN translations in dump().

Definition at line 178 of file NavData.hpp.

◆ signal

NavMessageID gnsstk::NavData::signal

Source signal identification for this navigation message data.

Definition at line 175 of file NavData.hpp.

◆ timeStamp

CommonTime gnsstk::NavData::timeStamp

Time stamp used to sort the data. This should be the appropriate time stamp used when attempting to find the data, usually the transmit time.

Definition at line 173 of file NavData.hpp.

◆ weekFmt

std::string gnsstk::NavData::weekFmt

Format string for printing week in dump(). This defaults to "%4F(%4G)" which is the GPS full and short week, and other GNSSes should use the same width, but different format tokens (see TimeString.hpp). Systems that don't have a week number, e.g. GLONASS, should set this to an empty string, and dump() methods should ignore it accordingly.

Definition at line 193 of file NavData.hpp.


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


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