This class models the header for a RINEX Observation File.
Definition at line 107 of file RinexObsHeader.hpp.
#include <RinexObsHeader.hpp>
Public Member Functions | |
void | clear () |
Clear (empty out) header. More... | |
RinexObsHeader () | |
A Simple Constructor. More... | |
![]() | |
virtual | ~RinexObsBase () |
Destructor per the coding standards. More... | |
![]() | |
void | getRecord (FFStream &s) |
virtual bool | isData () const |
void | putRecord (FFStream &s) const |
virtual | ~FFData (void) |
virtual desctuctor More... | |
RINEX Observation Header Formatting Strings | |
enum | validBits { versionValid = 0x01, runByValid = 0x02, commentValid = 0x04, markerNameValid = 0x08, markerNumberValid = 0x010, observerValid = 0x020, receiverValid = 0x040, antennaTypeValid = 0x080, antennaPositionValid = 0x0100, antennaOffsetValid = 0x0200, waveFactValid = 0x0400, obsTypeValid = 0x0800, intervalValid = 0x01000, firstTimeValid = 0x02000, lastTimeValid = 0x04000, receiverOffsetValid = 0x08000, leapSecondsValid = 0x0100000, numSatsValid = 0x0200000, prnObsValid = 0x0400000, endValid = 0x080000000, allValid20 = 0x080002FEB, allValid21 = 0x080002FEB, allValid211 = 0x080002BEB } |
Validity bits for the RINEX Observation Header. More... | |
static const GNSSTK_EXPORT std::string | versionString = "RINEX VERSION / TYPE" |
"RINEX VERSION / TYPE" More... | |
static const GNSSTK_EXPORT std::string | runByString = "PGM / RUN BY / DATE" |
"PGM / RUN BY / DATE" More... | |
static const GNSSTK_EXPORT std::string | commentString = "COMMENT" |
"COMMENT" More... | |
static const GNSSTK_EXPORT std::string | markerNameString = "MARKER NAME" |
"MARKER NAME" More... | |
static const GNSSTK_EXPORT std::string | markerNumberString = "MARKER NUMBER" |
"MARKER NUMBER" More... | |
static const GNSSTK_EXPORT std::string | observerString = "OBSERVER / AGENCY" |
"OBSERVER / AGENCY" More... | |
static const GNSSTK_EXPORT std::string | receiverString = "REC # / TYPE / VERS" |
"REC # / TYPE / VERS" More... | |
static const GNSSTK_EXPORT std::string | antennaTypeString = "ANT # / TYPE" |
"ANT # / TYPE" More... | |
static const GNSSTK_EXPORT std::string | antennaPositionString = "APPROX POSITION XYZ" |
"APPROX POSITION XYZ" More... | |
static const GNSSTK_EXPORT std::string | antennaOffsetString = "ANTENNA: DELTA H/E/N" |
"ANTENNA: DELTA H/E/N" More... | |
static const GNSSTK_EXPORT std::string | waveFactString = "WAVELENGTH FACT L1/2" |
"WAVELENGTH FACT L1/2" More... | |
static const GNSSTK_EXPORT std::string | numObsString = "# / TYPES OF OBSERV" |
"# / TYPES OF OBSERV" More... | |
static const GNSSTK_EXPORT std::string | intervalString = "INTERVAL" |
"INTERVAL" More... | |
static const GNSSTK_EXPORT std::string | firstTimeString = "TIME OF FIRST OBS" |
"TIME OF FIRST OBS" More... | |
static const GNSSTK_EXPORT std::string | lastTimeString = "TIME OF LAST OBS" |
"TIME OF LAST OBS" More... | |
static const GNSSTK_EXPORT std::string | receiverOffsetString = "RCV CLOCK OFFS APPL" |
"RCV CLOCK OFFS APPL" More... | |
static const GNSSTK_EXPORT std::string | leapSecondsString = "LEAP SECONDS" |
"LEAP SECONDS" More... | |
static const GNSSTK_EXPORT std::string | numSatsString = "# OF SATELLITES" |
"# OF SATELLITES" More... | |
static const GNSSTK_EXPORT std::string | prnObsString = "PRN / # OF OBS" |
"PRN / # OF OBS" More... | |
static const GNSSTK_EXPORT std::string | endOfHeader = "END OF HEADER" |
"END OF HEADER" More... | |
Standard RINEX observation types | |
static const GNSSTK_EXPORT RinexObsType | UN |
static const GNSSTK_EXPORT RinexObsType | L1 |
static const GNSSTK_EXPORT RinexObsType | L2 |
static const GNSSTK_EXPORT RinexObsType | C1 |
static const GNSSTK_EXPORT RinexObsType | C2 |
static const GNSSTK_EXPORT RinexObsType | P1 |
static const GNSSTK_EXPORT RinexObsType | P2 |
static const GNSSTK_EXPORT RinexObsType | D1 |
static const GNSSTK_EXPORT RinexObsType | D2 |
static const GNSSTK_EXPORT RinexObsType | S1 |
static const GNSSTK_EXPORT RinexObsType | S2 |
static const GNSSTK_EXPORT RinexObsType | T1 |
static const GNSSTK_EXPORT RinexObsType | T2 |
static const GNSSTK_EXPORT RinexObsType | C5 |
static const GNSSTK_EXPORT RinexObsType | L5 |
static const GNSSTK_EXPORT RinexObsType | D5 |
static const GNSSTK_EXPORT RinexObsType | S5 |
static const GNSSTK_EXPORT RinexObsType | C6 |
static const GNSSTK_EXPORT RinexObsType | L6 |
static const GNSSTK_EXPORT RinexObsType | D6 |
static const GNSSTK_EXPORT RinexObsType | S6 |
static const GNSSTK_EXPORT RinexObsType | C7 |
static const GNSSTK_EXPORT RinexObsType | L7 |
static const GNSSTK_EXPORT RinexObsType | D7 |
static const GNSSTK_EXPORT RinexObsType | S7 |
static const GNSSTK_EXPORT RinexObsType | C8 |
static const GNSSTK_EXPORT RinexObsType | L8 |
static const GNSSTK_EXPORT RinexObsType | D8 |
static const GNSSTK_EXPORT RinexObsType | S8 |
static const GNSSTK_EXPORT std::vector< RinexObsType > | StandardRinexObsTypes |
static GNSSTK_EXPORT std::vector< RinexObsType > | RegisteredRinexObsTypes = RinexObsHeader::StandardRinexObsTypes |
double | version |
RINEX VERSION & TYPE. More... | |
std::string | fileType |
RINEX FILETYPE (Observation Navigation etc) More... | |
RinexSatID | system |
The RINEX satellite system. More... | |
std::string | fileProgram |
The program used to generate this file. More... | |
std::string | fileAgency |
Who ran the program. More... | |
std::string | date |
When the program was run. More... | |
std::vector< std::string > | commentList |
Comments in header (optional) More... | |
std::string | markerName |
MARKER NAME. More... | |
std::string | markerNumber |
MARKER NUMBER (optional) More... | |
std::string | observer |
OBSERVER : who collected the data. More... | |
std::string | agency |
OBSERVER'S AGENCY. More... | |
std::string | recNo |
RECEIVER NUMBER. More... | |
std::string | recType |
RECEIVER TYPE. More... | |
std::string | recVers |
RECEIVER VERSION. More... | |
std::string | antNo |
ANTENNA NUMBER. More... | |
std::string | antType |
ANTENNA TYPE. More... | |
gnsstk::Triple | antennaPosition |
APPROXIMATE POSITION XYZ. More... | |
gnsstk::Triple | antennaOffset |
ANTENNA: DELTA H/E/N. More... | |
short | wavelengthFactor [2] |
default WAVELENGTH FACTORS More... | |
std::vector< ExtraWaveFact > | extraWaveFactList |
extra (per PRN) WAVELENGTH FACTORS More... | |
std::vector< RinexObsType > | obsTypeList |
NUMBER & TYPES OF OBSERV. More... | |
double | interval |
INTERVAL (optional) More... | |
CommonTime | firstObs |
TIME OF FIRST OBS. More... | |
RinexSatID | firstSystem |
RINEX satellite system of FIRST OBS timetag. More... | |
CommonTime | lastObs |
TIME OF LAST OBS (optional) More... | |
RinexSatID | lastSystem |
RINEX satellite system of LAST OBS timetag. More... | |
int | receiverOffset |
RCV CLOCK OFFS APPL (optional) More... | |
int | leapSeconds |
LEAP SECONDS (optional) More... | |
short | numSVs |
NUMBER OF SATELLITES in following map (optional) More... | |
std::map< SatID, std::vector< int > > | numObsForSat |
PRN / # OF OBS (optional) More... | |
unsigned long | valid |
Bits set when individual header members are present and valid. More... | |
int | numObs |
used to save the number of obs on # / TYPES continuation lines. More... | |
RinexSatID | lastPRN |
used to save the current PRN while reading PRN/OBS continuation lines. More... | |
class | RinexObsData |
virtual | ~RinexObsHeader () |
Destructor. More... | |
virtual bool | isHeader () const |
RinexObsHeader is a "header" so this function always returns true. More... | |
virtual void | dump (std::ostream &s) const |
void | ParseHeaderRecord (std::string &line) |
int | NumberHeaderRecordsToBeWritten (void) const noexcept |
Compute the number of valid header records which WriteHeaderRecords() will write. More... | |
void | WriteHeaderRecords (FFStream &s) const |
bool | isValid () const |
Return boolean : is this a valid Rinex header? More... | |
static RinexObsType | convertObsType (const std::string &oneObs) |
static std::string | convertObsType (const RinexObsType &oneObs) |
virtual void | reallyPutRecord (FFStream &s) const |
virtual void | reallyGetRecord (FFStream &s) |
std::string | writeTime (const CommonTime &dt) const |
CommonTime | parseTime (const std::string &line) const |
Additional Inherited Members |
Validity bits for the RINEX Observation Header.
Definition at line 178 of file RinexObsHeader.hpp.
|
inline |
A Simple Constructor.
Definition at line 112 of file RinexObsHeader.hpp.
|
inlinevirtual |
Destructor.
Definition at line 287 of file RinexObsHeader.hpp.
|
inline |
Clear (empty out) header.
Definition at line 120 of file RinexObsHeader.hpp.
|
static |
This function converts the RinexObsType in oneObs to a string.
FFStreamError |
Definition at line 844 of file RinexObsHeader.cpp.
|
static |
This function converts the string in oneObs to a RinexObsType.
FFStreamError |
Definition at line 830 of file RinexObsHeader.cpp.
|
virtual |
This is a simple Debug output function. It simply outputs the version, name and antenna number of this RINEX header.
Reimplemented from gnsstk::FFData.
Definition at line 877 of file RinexObsHeader.cpp.
|
inlinevirtual |
RinexObsHeader is a "header" so this function always returns true.
Reimplemented from gnsstk::FFData.
Definition at line 291 of file RinexObsHeader.hpp.
|
inline |
Return boolean : is this a valid Rinex header?
Definition at line 331 of file RinexObsHeader.hpp.
|
noexcept |
Compute the number of valid header records which WriteHeaderRecords() will write.
Definition at line 186 of file RinexObsHeader.cpp.
void gnsstk::RinexObsHeader::ParseHeaderRecord | ( | std::string & | line | ) |
Parse a single header record, and modify valid accordingly. Used by reallyGetRecord for both RinexObsHeader and RinexObsData.
FFStreamError |
Definition at line 518 of file RinexObsHeader.cpp.
|
private |
This function sets the time for this header. It looks at line to obtain the needed information.
Definition at line 850 of file RinexObsHeader.cpp.
|
protectedvirtual |
This function retrieves the RINEX Header from the given FFStream. If an stream error is encountered, the stream is reset 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 753 of file RinexObsHeader.cpp.
|
protectedvirtual |
outputs this record to the stream correctly formatted.
std::exception | |
StringUtils::StringException | |
FFStreamError |
Implements gnsstk::FFData.
Definition at line 145 of file RinexObsHeader.cpp.
void gnsstk::RinexObsHeader::WriteHeaderRecords | ( | FFStream & | s | ) | const |
Write all valid header records to the given stream. Used by reallyPutRecord for both RinexObsHeader and RinexObsData.
FFStreamError | |
StringUtils::StringException |
Definition at line 217 of file RinexObsHeader.cpp.
|
private |
Converts the CommonTime dt into a Rinex Obs time string for the header
Definition at line 864 of file RinexObsHeader.cpp.
|
friend |
Definition at line 354 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::agency |
OBSERVER'S AGENCY.
Definition at line 262 of file RinexObsHeader.hpp.
gnsstk::Triple gnsstk::RinexObsHeader::antennaOffset |
ANTENNA: DELTA H/E/N.
Definition at line 269 of file RinexObsHeader.hpp.
|
static |
"ANTENNA: DELTA H/E/N"
Definition at line 154 of file RinexObsHeader.hpp.
gnsstk::Triple gnsstk::RinexObsHeader::antennaPosition |
APPROXIMATE POSITION XYZ.
Definition at line 268 of file RinexObsHeader.hpp.
|
static |
"APPROX POSITION XYZ"
Definition at line 152 of file RinexObsHeader.hpp.
|
static |
"ANT # / TYPE"
Definition at line 150 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::antNo |
ANTENNA NUMBER.
Definition at line 266 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::antType |
ANTENNA TYPE.
Definition at line 267 of file RinexObsHeader.hpp.
|
static |
Definition at line 215 of file RinexObsHeader.hpp.
|
static |
Definition at line 216 of file RinexObsHeader.hpp.
|
static |
Definition at line 225 of file RinexObsHeader.hpp.
|
static |
Definition at line 230 of file RinexObsHeader.hpp.
|
static |
Definition at line 234 of file RinexObsHeader.hpp.
|
static |
Definition at line 238 of file RinexObsHeader.hpp.
std::vector<std::string> gnsstk::RinexObsHeader::commentList |
Comments in header (optional)
Definition at line 258 of file RinexObsHeader.hpp.
|
static |
"COMMENT"
Definition at line 140 of file RinexObsHeader.hpp.
|
static |
Definition at line 219 of file RinexObsHeader.hpp.
|
static |
Definition at line 220 of file RinexObsHeader.hpp.
|
static |
Definition at line 227 of file RinexObsHeader.hpp.
|
static |
Definition at line 232 of file RinexObsHeader.hpp.
|
static |
Definition at line 236 of file RinexObsHeader.hpp.
|
static |
Definition at line 240 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::date |
When the program was run.
Definition at line 257 of file RinexObsHeader.hpp.
|
static |
"END OF HEADER"
Definition at line 174 of file RinexObsHeader.hpp.
std::vector<ExtraWaveFact> gnsstk::RinexObsHeader::extraWaveFactList |
extra (per PRN) WAVELENGTH FACTORS
Definition at line 271 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::fileAgency |
Who ran the program.
Definition at line 256 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::fileProgram |
The program used to generate this file.
Definition at line 255 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::fileType |
RINEX FILETYPE (Observation Navigation etc)
Definition at line 252 of file RinexObsHeader.hpp.
CommonTime gnsstk::RinexObsHeader::firstObs |
TIME OF FIRST OBS.
Definition at line 274 of file RinexObsHeader.hpp.
RinexSatID gnsstk::RinexObsHeader::firstSystem |
RINEX satellite system of FIRST OBS timetag.
Definition at line 275 of file RinexObsHeader.hpp.
|
static |
"TIME OF FIRST OBS"
Definition at line 162 of file RinexObsHeader.hpp.
double gnsstk::RinexObsHeader::interval |
INTERVAL (optional)
Definition at line 273 of file RinexObsHeader.hpp.
|
static |
"INTERVAL"
Definition at line 160 of file RinexObsHeader.hpp.
|
static |
Definition at line 213 of file RinexObsHeader.hpp.
|
static |
Definition at line 214 of file RinexObsHeader.hpp.
|
static |
Definition at line 226 of file RinexObsHeader.hpp.
|
static |
Definition at line 231 of file RinexObsHeader.hpp.
|
static |
Definition at line 235 of file RinexObsHeader.hpp.
|
static |
Definition at line 239 of file RinexObsHeader.hpp.
CommonTime gnsstk::RinexObsHeader::lastObs |
TIME OF LAST OBS (optional)
Definition at line 276 of file RinexObsHeader.hpp.
RinexSatID gnsstk::RinexObsHeader::lastPRN |
used to save the current PRN while reading PRN/OBS continuation lines.
Definition at line 284 of file RinexObsHeader.hpp.
RinexSatID gnsstk::RinexObsHeader::lastSystem |
RINEX satellite system of LAST OBS timetag.
Definition at line 277 of file RinexObsHeader.hpp.
|
static |
"TIME OF LAST OBS"
Definition at line 164 of file RinexObsHeader.hpp.
int gnsstk::RinexObsHeader::leapSeconds |
LEAP SECONDS (optional)
Definition at line 279 of file RinexObsHeader.hpp.
|
static |
"LEAP SECONDS"
Definition at line 168 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::markerName |
MARKER NAME.
Definition at line 259 of file RinexObsHeader.hpp.
|
static |
"MARKER NAME"
Definition at line 142 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::markerNumber |
MARKER NUMBER (optional)
Definition at line 260 of file RinexObsHeader.hpp.
|
static |
"MARKER NUMBER"
Definition at line 144 of file RinexObsHeader.hpp.
int gnsstk::RinexObsHeader::numObs |
used to save the number of obs on # / TYPES continuation lines.
Definition at line 283 of file RinexObsHeader.hpp.
std::map<SatID, std::vector<int> > gnsstk::RinexObsHeader::numObsForSat |
PRN / # OF OBS (optional)
Definition at line 281 of file RinexObsHeader.hpp.
|
static |
"# / TYPES OF OBSERV"
Definition at line 158 of file RinexObsHeader.hpp.
|
static |
"# OF SATELLITES"
Definition at line 170 of file RinexObsHeader.hpp.
short gnsstk::RinexObsHeader::numSVs |
NUMBER OF SATELLITES in following map (optional)
Definition at line 280 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::observer |
OBSERVER : who collected the data.
Definition at line 261 of file RinexObsHeader.hpp.
|
static |
"OBSERVER / AGENCY"
Definition at line 146 of file RinexObsHeader.hpp.
std::vector<RinexObsType> gnsstk::RinexObsHeader::obsTypeList |
NUMBER & TYPES OF OBSERV.
Definition at line 272 of file RinexObsHeader.hpp.
|
static |
Definition at line 217 of file RinexObsHeader.hpp.
|
static |
Definition at line 218 of file RinexObsHeader.hpp.
|
static |
"PRN / # OF OBS"
Definition at line 172 of file RinexObsHeader.hpp.
int gnsstk::RinexObsHeader::receiverOffset |
RCV CLOCK OFFS APPL (optional)
Definition at line 278 of file RinexObsHeader.hpp.
|
static |
"RCV CLOCK OFFS APPL"
Definition at line 166 of file RinexObsHeader.hpp.
|
static |
"REC # / TYPE / VERS"
Definition at line 148 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::recNo |
RECEIVER NUMBER.
Definition at line 263 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::recType |
RECEIVER TYPE.
Definition at line 264 of file RinexObsHeader.hpp.
std::string gnsstk::RinexObsHeader::recVers |
RECEIVER VERSION.
Definition at line 265 of file RinexObsHeader.hpp.
|
static |
Definition at line 248 of file RinexObsHeader.hpp.
|
static |
"PGM / RUN BY / DATE"
Definition at line 138 of file RinexObsHeader.hpp.
|
static |
Definition at line 221 of file RinexObsHeader.hpp.
|
static |
Definition at line 222 of file RinexObsHeader.hpp.
|
static |
Definition at line 228 of file RinexObsHeader.hpp.
|
static |
Definition at line 233 of file RinexObsHeader.hpp.
|
static |
Definition at line 237 of file RinexObsHeader.hpp.
|
static |
Definition at line 241 of file RinexObsHeader.hpp.
|
static |
Definition at line 246 of file RinexObsHeader.hpp.
RinexSatID gnsstk::RinexObsHeader::system |
The RINEX satellite system.
Definition at line 254 of file RinexObsHeader.hpp.
|
static |
Definition at line 223 of file RinexObsHeader.hpp.
|
static |
Definition at line 224 of file RinexObsHeader.hpp.
|
static |
Definition at line 212 of file RinexObsHeader.hpp.
unsigned long gnsstk::RinexObsHeader::valid |
Bits set when individual header members are present and valid.
Definition at line 282 of file RinexObsHeader.hpp.
double gnsstk::RinexObsHeader::version |
RINEX VERSION & TYPE.
Definition at line 251 of file RinexObsHeader.hpp.
|
static |
"RINEX VERSION / TYPE"
Definition at line 136 of file RinexObsHeader.hpp.
"WAVELENGTH FACT L1/2"
Definition at line 156 of file RinexObsHeader.hpp.
short gnsstk::RinexObsHeader::wavelengthFactor[2] |
default WAVELENGTH FACTORS
Definition at line 270 of file RinexObsHeader.hpp.