Go to the documentation of this file.
233 std::map<char, std::map<char, std::string> >
237 {
'1',
"PYWLMCSXN* " },
239 {
'2',
"PYWLMCSXDN* " },
240 {
'5',
"IQX* " } } },
247 {
'6',
"ABX* " } } },
254 {
'8',
"IQX* " } } },
258 {
'5',
"IQX* " } } },
264 {
'6',
"ESLXZ* " } } },
269 {
'1',
"PAIQXDN* " },
274 {
'8',
"PXD* " } } },
279 {
'9',
"ABCX* " } } }
285 std::string modStrID(strID);
289 int i = modStrID.length() - 3;
292 InvalidParameter e(
"identifier must be 3 or 4 characters long");
297 modStrID = std::string(
"G") + modStrID;
301 const auto& tc =
char2tc.find(modStrID[3]);
302 const auto& cb =
char2cb.find(modStrID[2]);
303 const auto& ot =
char2ot.find(modStrID[1]);
311 std::string rincode(modStrID.substr(2));
335 if ((modStrID[2] !=
'1') || (modStrID[3] !=
' '))
337 InvalidParameter e(
"Invalid channel number pseudo-obs ID " +
348 if ((modStrID[2] <
'1') || (modStrID[2] >
'9') ||
349 (modStrID[3] !=
' '))
351 InvalidParameter e(
"Invalid ionospheric delay pseudo-obs ID " +
374 else if (rincode ==
"2Q")
379 else if (rincode ==
"2X")
384 else if (rincode ==
"1D")
389 else if (rincode ==
"1P")
394 else if (rincode ==
"1X")
407 else if (rincode ==
"1A")
412 else if (rincode ==
"1N")
417 else if (rincode ==
"1I")
422 else if (rincode ==
"1Q")
427 else if (rincode ==
"5D")
432 else if (rincode ==
"5P")
437 else if (rincode ==
"5X")
442 else if (rincode ==
"7I")
447 else if (rincode ==
"7Q")
452 else if (rincode ==
"7X")
457 else if (rincode ==
"7D")
462 else if (rincode ==
"7P")
467 else if (rincode ==
"7Z")
472 else if (rincode ==
"8D")
477 else if (rincode ==
"8P")
482 else if (rincode ==
"8X")
487 else if (rincode ==
"6I")
492 else if (rincode ==
"6Q")
497 else if (rincode ==
"6X")
502 else if (rincode ==
"6A")
514 else if (rincode ==
"1B")
519 else if (rincode ==
"1C")
524 else if (rincode ==
"1X")
529 else if (rincode ==
"1Z")
534 else if (rincode ==
"5I")
539 else if (rincode ==
"5Q")
544 else if (rincode ==
"5X")
549 else if (rincode ==
"7I")
554 else if (rincode ==
"7Q")
559 else if (rincode ==
"7X")
564 else if (rincode ==
"8I")
569 else if (rincode ==
"8Q")
574 else if (rincode ==
"8X")
579 else if (rincode ==
"6A")
584 else if (rincode ==
"6B")
589 else if (rincode ==
"6C")
594 else if (rincode ==
"6X")
599 else if (rincode ==
"6Z")
611 else if (rincode ==
"1P")
616 else if (rincode ==
"4A")
621 else if (rincode ==
"4B")
626 else if (rincode ==
"4X")
631 else if (rincode ==
"2C")
636 else if (rincode ==
"2P")
641 else if (rincode ==
"6A")
646 else if (rincode ==
"6B")
651 else if (rincode ==
"6X")
656 else if (rincode ==
"3I")
661 else if (rincode ==
"3Q")
666 else if (rincode ==
"3X")
678 else if (rincode ==
"1S")
683 else if (rincode ==
"1L")
688 else if (rincode ==
"1X")
693 else if (rincode ==
"1P")
698 else if (rincode ==
"1W")
703 else if (rincode ==
"1Y")
708 else if (rincode ==
"1M")
713 else if (rincode ==
"1N")
718 else if (rincode ==
"2C")
723 else if (rincode ==
"2D")
728 else if (rincode ==
"2S")
733 else if (rincode ==
"2L")
738 else if (rincode ==
"2X")
743 else if (rincode ==
"2P")
748 else if (rincode ==
"2W")
753 else if (rincode ==
"2Y")
758 else if (rincode ==
"2M")
763 else if (rincode ==
"2N")
768 else if (rincode ==
"5I")
773 else if (rincode ==
"5Q")
778 else if (rincode ==
"5X")
790 else if (rincode ==
"5B")
795 else if (rincode ==
"5C")
800 else if (rincode ==
"5X")
805 else if (rincode ==
"9A")
810 else if (rincode ==
"9B")
815 else if (rincode ==
"9C")
820 else if (rincode ==
"9X")
832 else if (rincode ==
"1L")
837 else if (rincode ==
"1S")
842 else if (rincode ==
"1X")
847 else if (rincode ==
"1Z")
852 else if (rincode ==
"2S")
857 else if (rincode ==
"2L")
862 else if (rincode ==
"2X")
867 else if (rincode ==
"5I")
872 else if (rincode ==
"5Q")
877 else if (rincode ==
"5X")
882 else if (rincode ==
"5D")
887 else if (rincode ==
"5P")
892 else if (rincode ==
"5Z")
897 else if (rincode ==
"6S")
902 else if (rincode ==
"6S")
907 else if (rincode ==
"6L")
912 else if (rincode ==
"6X")
917 else if (rincode ==
"6E")
922 else if (rincode ==
"6Z")
934 else if (rincode ==
"5I")
939 else if (rincode ==
"5Q")
944 else if (rincode ==
"5X")
@ B3AIQ
BeiDou B3A I+Q code.
@ Undefined
Observation type is known to be undefined (as opposed to unknown)
@ E5abIQ
Galileo E5 I+Q combined tracking.
@ L5IQ
Modernized GPS L5 civil I+Q combined tracking.
RinexObsID()
empty constructor, creates an invalid object
@ YCodeless
Encrypted legacy GPS precise code, squaring codeless tracking.
@ L1CD
Modernized GPS L1C civil code tracking (data)
@ E6ABC
Galileo E6 A+B+C combined tracking.
@ L5Q
Modernized GPS L5 civil quadrature.
@ B2bIQ
BeiDou B2b I+Q code.
@ L1CP
Modernized GPS L1C civil code tracking (pilot)
@ E5bQ
Galileo E5b Q code.
@ L5SQ
QZSS L5S I+Q combined tracking.
static GNSSTK_EXPORT std::map< char, ObservationType > char2ot
@ L1OCD
GLONASS L1 OCd code.
@ E1A
Galileo L1 PRS code.
@ E6A
Galileo E6 PRS code.
@ L2CL
Modernized GPS L2 civil L code.
@ E1B
Galileo E1-B signal, supporting OS/HAS/SoL.
@ L2OCP
GLONASS L2 OCp code.
@ L6E
QZSS L6 Block II E code.
@ Phase
accumulated phase, in cycles
@ Y
Encrypted legacy GPS precise code.
@ Any
Used to match any carrier band.
@ L5I
Modernized GPS L5 civil in-phase.
@ E6BC
Galileo E6 B+C combined tracking.
@ L1OCP
GLONASS L1 OCp code.
@ SNR
Signal strength, in dB-Hz.
@ Range
pseudorange, in meters
@ B2abIQ
BeiDou B2a+B I+Q code.
@ MDP
Modernized GPS military unique code.
@ Unknown
Uninitialized value.
@ E5abI
Galileo E5 I code.
@ L2CSI
GLONASS L2 CSI code.
@ E5aIQ
Galileo E5a I+Q combined tracking.
@ Standard
Legacy Glonass civil signal.
static GNSSTK_EXPORT std::map< char, std::map< char, std::string > > validRinexTrackingCodes
@ E5aI
Galileo E5a I code.
@ CA
Legacy GPS civil code.
@ Any
Used to match any observation type.
@ B1CDP
BeiDou B1C D+P code.
@ B2abI
BeiDou B2a+b I code.
@ L2CSIL2OCp
GLONASS L2 CSI+OCp combined tracking.
@ B2aIQ
BeiDou B2a I+Q code.
@ L2CML
Modernized GPS L2 civil M+L combined tracking.
@ Ztracking
Encrypted legacy GPS precise code, codeless Z tracking.
@ B3IQ
BeiDou B3 I+Q code.
@ E5ab
Galileo E5, BeiDou B2.
@ L6DE
QZSS L6 Block II D+E combined tracking.
string version(string("2.4 9/23/15 rev"))
@ L3OCD
Glonass L3 I code.
@ L1
GPS L1, Galileo E1, SBAS L1, QZSS L1, BeiDou L1.
@ B1IQ
BeiDou B1 I+Q code.
@ E1BC
Galileo E1 B+C combined tracking.
@ BCodeless
BeiDou codeless tracking.
@ E5abQ
Galileo E5 Q code.
static GNSSTK_EXPORT std::map< char, TrackingCode > char2tc
@ P
Legacy GPS precise code.
@ E5bIQ
Galileo E5b I+Q combined tracking.
@ B2abQ
BeiDou B2a+B Q code.
@ B2IQ
BeiDou B2 I+Q code.
@ L1OCDP
GLONASS L1 OCd+OCp combined tracking.
@ E6B
Galileo E6-b signal.
@ L5SIQ
QZSS L5S quadrature.
static GNSSTK_EXPORT std::map< TrackingCode, char > tc2char
static GNSSTK_EXPORT std::map< char, CarrierBand > char2cb
@ L2CM
Modernized GPS L2 civil M code.
static GNSSTK_EXPORT std::map< CarrierBand, char > cb2char
@ Semicodeless
Encrypted legacy GPS precise code, other codeless tracking.
@ E5bI
Galileo E5b I code.
@ L3OCP
Glonass L3 Q code.
@ E5aQ
Galileo E5a Q code.
@ Undefined
Code is known to be undefined (as opposed to unknown)
@ E6C
Galileo E6 Dataless code.
@ Precise
Legacy Glonass precise signal.
static GNSSTK_EXPORT std::map< ObservationType, char > ot2char
@ L6D
QZSS L6 Block II D code.
#define GNSSTK_THROW(exc)
@ L1CDP
Modernized GPS L1C civil code tracking (pilot + data)
@ E1ABC
Galileo E1 A+B+C combined tracking.
@ L3OCDP
Glonass L3 I+Q combined tracking.
@ E1C
Galileo E1 Dataless code.
@ Undefined
Code is known to be undefined (as opposed to unknown)
@ Any
Used to match any tracking code.
@ LEXSL
QZSS LEX(6) combined tracking.
@ Unknown
Uninitialized value.
@ L5
GPS L5, Galileo E5a, SBAS L5, QZSS L5, BeiDou B2a, NavIC L5.
gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:41