class RinexObsID is the set of ObsID's which are valid in RINEX 3.03. This class simply limits possible values of ObsID, plus a little functionality.
This map[sys][freq] = valid codes; e.g. valid['G'][1]="CSLXPWYMN" Only exception is there is no pseudorange (C) on GPS L1/L2 N (codeless) RINEX 3.03 document, section 5.1 sys freq code ObsID = sys+type+freq+code GPS L1 C,S,L,X,P,W,Y,M,N G CLDS 1 CSLXPWYMN (but not C1N) L2 C,D,S,L,X,P,W,Y,M,N G CLDS 2 CDSLXPWYMN (but not C2N) L5 I,Q,X G CLDS 5 IQX GLO G1 C,P R CLDS 1 CP G2 C,P R CLDS 2 CP GAL E1 A,B,C,X,Z E CLDS 1 ABCXZ E5a I,Q,X E CLDS 5 IQX E5b I,Q,X E CLDS 7 IQX E5ab I,Q,X E CLDS 8 IQX E6 A,B,C,X,Z E CLDS 6 ABCXZ SBAS L1 C S CLDS 1 C L5 I,Q,X S CLDS 5 IQX BDS B1 I,Q,X C CLDS 1 IQX B2 I,Q,X C CLDS 7 IQX B3 I,Q,X C CLDS 6 IQX QZSS L1 C,S,L,X,Z J CLDS 1 CSLXZ L2 S,L,X J CLDS 2 SLX L5 I,Q,X J CLDS 5 IQX L6 S,L,X J CLDS 6 SLX IRNSS L5 A,B,C,X I CLDS 5 ABCX L9 A,B,C,X I CLDS 9 ABCX
Definition at line 102 of file RinexObsID.hpp.
#include <RinexObsID.hpp>
Public Member Functions | |
std::string | asString () const |
std::string | asString (double version) const |
bool | equalIndex (const RinexObsID &right) const |
RinexObsID () | |
empty constructor, creates an invalid object More... | |
RinexObsID (const char *id, double version) | |
RinexObsID (const ObsID &oid, double version=Rinex3ObsBase::currentVersion) | |
RinexObsID (const RinexObsType &rot) | |
Construct this object from the string specifier. More... | |
RinexObsID (const std::string &strID, double version) | |
RinexObsID (ObservationType ot, CarrierBand cb, TrackingCode tc, double version=Rinex3ObsBase::currentVersion) | |
Explicit constructior. More... | |
![]() | |
void | clearMcodeMask (uint32_t clearmask) |
Clear bits in mcodeMask that are set in clearmask. More... | |
virtual std::ostream & | dump (std::ostream &s) const |
Convenience output method. More... | |
uint32_t | getMcodeBits () const |
Return the value of mcode. More... | |
uint32_t | getMcodeMask () const |
Return the value of mcodeMask. More... | |
bool | isWild () const |
Return true if any of the data are wildcard values. More... | |
void | makeWild () |
Set all data to wildcard values. More... | |
void | maskMcodeBits (uint32_t newval, uint32_t newmask) |
ObsID () | |
ObsID (ObservationType ot, CarrierBand cb, TrackingCode tc, int fo, uint32_t mc, XmitAnt transmitter=XmitAnt::Standard, bool fw=false) | |
ObsID (ObservationType ot, CarrierBand cb, TrackingCode tc, int fo, XmitAnt transmitter=XmitAnt::Any, bool fw=false) | |
ObsID (ObservationType ot, CarrierBand cb, TrackingCode tc, XmitAnt transmitter=XmitAnt::Any) | |
bool | operator!= (const ObsID &right) const |
virtual bool | operator< (const ObsID &right) const |
bool | operator<= (const ObsID &right) const |
virtual bool | operator== (const ObsID &right) const |
Equality requires all fields to be the same. More... | |
bool | operator> (const ObsID &right) const |
bool | operator>= (const ObsID &right) const |
void | setMcodeBits (uint32_t newval, uint32_t newmask=-1) |
Set the value of mcode while simultaneously setting the mask. More... | |
void | setMcodeMask (uint32_t newmask=-1) |
Set the value of mcodeMask on its own. More... | |
virtual | ~ObsID () |
Destructor. More... | |
Static Public Member Functions | |
static std::ostream & | dumpCheck (std::ostream &s) |
static std::string | getCBChars () |
static std::string | getCBDescFromChar (char c) |
static std::string | getOTChars () |
static std::string | getOTDescFromChar (char c) |
static std::string | getTCChars () |
static std::string | getTCDescFromChar (char c) |
static RinexObsID | newID (const std::string &id, const std::string &desc="") |
![]() | |
static std::string | getDescCB (CarrierBand e) |
SWIG accessor. Not overloaded, because SWIG. More... | |
static std::string | getDescOT (ObservationType e) |
SWIG accessor. Not overloaded, because SWIG. More... | |
static std::string | getDescTC (TrackingCode e) |
SWIG accessor. Not overloaded, because SWIG. More... | |
Public Attributes | |
double | rinexVersion |
![]() | |
CarrierBand | band |
TrackingCode | code |
int | freqOffs |
GLONASS frequency offset. More... | |
bool | freqOffsWild |
True=Treat freqOffs as a wildcard when matching. More... | |
ObservationType | type |
XmitAnt | xmitAnt |
Identify the transmitting antenna. More... | |
Static Public Attributes | |
static GNSSTK_EXPORT std::map< CarrierBand, char > | cb2char |
static GNSSTK_EXPORT std::map< char, CarrierBand > | char2cb |
static GNSSTK_EXPORT std::map< char, ObservationType > | char2ot |
static GNSSTK_EXPORT std::map< char, TrackingCode > | char2tc |
static GNSSTK_EXPORT std::map< std::string, std::string > | map1to3sys |
static GNSSTK_EXPORT std::map< std::string, std::string > | map3to1sys |
static GNSSTK_EXPORT std::map< ObservationType, char > | ot2char |
static GNSSTK_EXPORT std::map< TrackingCode, char > | tc2char |
static GNSSTK_EXPORT std::string | validRinexFrequencies |
static GNSSTK_EXPORT std::string | validRinexSystems |
This string contains the system characters for all RINEX systems. More... | |
static GNSSTK_EXPORT std::map< char, std::map< char, std::string > > | validRinexTrackingCodes |
![]() | |
static GNSSTK_EXPORT std::map< CarrierBand, std::string > | cbDesc |
static GNSSTK_EXPORT std::map< ObservationType, std::string > | otDesc |
static GNSSTK_EXPORT std::map< TrackingCode, std::string > | tcDesc |
These strings are for forming a somewhat verbose description. More... | |
static GNSSTK_EXPORT bool | verbose = false |
Static Private Member Functions | |
static RinexObsID | idCreator (const std::string &id, const std::string &desc="") |
|
inline |
empty constructor, creates an invalid object
Definition at line 106 of file RinexObsID.hpp.
|
inline |
Explicit constructior.
Definition at line 112 of file RinexObsID.hpp.
|
explicit |
Construct this object from the string specifier.
[in] | strID | The RINEX observation identifier to decode. This must be a RINEX 3 ID, three or four characters in length. Three character obs codes are assumed to be from GPS. Four character obs codes use the first character for the system. |
[in] | version | The RINEX version of the obs ID in strID. This is used for oddball special cases like CC1* in RINEX 3.02, to make sure that the codes are properly interpreted. When reading the obs ID from a RINEX header, one should use the header version here. When interpreting command-line options or other contexts where a RINEX version is not specified, use Rinex3ObsBase::currentVersion. |
InvalidParameter |
Definition at line 282 of file RinexObsID_Generated.cpp.
|
inlineexplicit |
Construct this object from the C-style string specifier.
[in] | id | The RINEX observation identifier to decode. This must be a RINEX 3 ID, three or four characters in length. Three character obs codes are assumed to be from GPS. Four character obs codes use the first character for the system. |
[in] | version | The RINEX version of the obs ID in strID. This is used for oddball special cases like CC1* in RINEX 3.02, to make sure that the codes are properly interpreted. When reading the obs ID from a RINEX header, one should use the header version here. When interpreting command-line options or other contexts where a RINEX version is not specified, use Rinex3ObsBase::currentVersion. |
InvalidParameter |
Definition at line 152 of file RinexObsID.hpp.
|
inline |
gnsstk::RinexObsID::RinexObsID | ( | const RinexObsType & | rot | ) |
Construct this object from the string specifier.
a conversion constructor, giving a fixed one-way mapping from RINEX ver 2 obstypes to RinexObsIDs. L1 -> L1P; P1 -> C1P; C1 -> C1C; S1 -> S1P; D1 -> D1P L2 -> L2P; P2 -> C2P; C2 -> C2X; S2 -> S2P; D2 -> D2P
Definition at line 81 of file RinexObsID.cpp.
|
inline |
This returns a representation of this object using the observation codes described in section 5.1 of the Rinex 3 specification. Note that this always returns a three character identifier so some information is lost because some codes are shared between satellite systems.
Definition at line 190 of file RinexObsID.hpp.
std::string gnsstk::RinexObsID::asString | ( | double | version | ) | const |
This returns a representation of this object using the observation codes described in section 5.1 of the Rinex 3 specification. Note that this always returns a three character identifier so some information is lost because some codes are shared between satellite systems.
[in] | version | The RINEX format version to use when generating the string (e.g. 3.02 has different codes for BDS than other versions). |
Definition at line 152 of file RinexObsID.cpp.
|
static |
Exception |
Definition at line 302 of file RinexObsID.cpp.
bool gnsstk::RinexObsID::equalIndex | ( | const RinexObsID & | right | ) | const |
This is used by Rinex3ObsHeader::getObsIndex to determine a pseudo-equality that takes into account handling of pseudo-observables like ionospheric delay and channel numbers.
Definition at line 356 of file RinexObsID.cpp.
|
static |
Return a string containing all the keys of char2cb. Intended for use by SWIG/Python where the mappings of enums are a bit sketchy when used in container templates.
Definition at line 450 of file RinexObsID.cpp.
|
inlinestatic |
Return a string containing the description of a given RINEX 3 character tracking code. Intended for use by SWIG/Python where the mappings of enums are a bit sketchy when used in container templates.
Definition at line 314 of file RinexObsID.hpp.
|
static |
Return a string containing all the keys of char2ot. Intended for use by SWIG/Python where the mappings of enums are a bit sketchy when used in container templates.
Definition at line 438 of file RinexObsID.cpp.
|
inlinestatic |
Return a string containing the description of a given RINEX 3 character tracking code. Intended for use by SWIG/Python where the mappings of enums are a bit sketchy when used in container templates.
Definition at line 302 of file RinexObsID.hpp.
|
static |
Return a string containing all the keys of char2tc. Intended for use by SWIG/Python where the mappings of enums are a bit sketchy when used in container templates.
Definition at line 462 of file RinexObsID.cpp.
|
inlinestatic |
Return a string containing the description of a given RINEX 3 character tracking code. Intended for use by SWIG/Python where the mappings of enums are a bit sketchy when used in container templates.
Definition at line 326 of file RinexObsID.hpp.
|
staticprivate |
Definition at line 395 of file RinexObsID.cpp.
|
static |
Extend the standard identifiers with a new Rinex 3 style identifier. If the specified id is already defined, an exception is thrown and the existing definitions are not touched. If not then each character of the specification is examined and the new ones are created. The returned ObsID can then be examined for the assigned values.
InvalidParameter |
Definition at line 380 of file RinexObsID.cpp.
|
static |
Definition at line 289 of file RinexObsID.hpp.
|
static |
Definition at line 286 of file RinexObsID.hpp.
|
static |
These strings are used to translate this object to and from a string id
Definition at line 285 of file RinexObsID.hpp.
|
static |
Definition at line 287 of file RinexObsID.hpp.
|
static |
These maps transform between 1-char and 3-char system descriptors, e.g. map1to3sys["G"] = "GPS" and map3to1sys["GPS"] = "G"
Definition at line 266 of file RinexObsID.hpp.
|
static |
Definition at line 267 of file RinexObsID.hpp.
|
static |
Definition at line 288 of file RinexObsID.hpp.
double gnsstk::RinexObsID::rinexVersion |
Kludge for Rinex 3.02. This defaults to Rinex3ObsBase::currentVersion. When constructed from a RINEX 3 obs ID string, the version is specified in that constructor and retained here so that when returning this object to a string, it returns to its original form by default. This can be overridden in a multitude of ways:
Definition at line 259 of file RinexObsID.hpp.
|
static |
Definition at line 290 of file RinexObsID.hpp.
|
static |
This string contains the (1-digit) frequency code for all RINEX systems.
Definition at line 271 of file RinexObsID.hpp.
|
static |
This string contains the system characters for all RINEX systems.
Definition at line 262 of file RinexObsID.hpp.
|
static |
This map[sys][freq] = valid codes gives valid tracking codes for RINEX observations given the system and frequency; eg. validRinexTrackingCodes['G']['1']="CSLXPWYMN* " The only exception is there is no pseudorange (C) on GPS L1/L2 N (codeless)
Definition at line 281 of file RinexObsID.hpp.