This class models the header for a IONEX file
Definition at line 70 of file IonexHeader.hpp.
#include <IonexHeader.hpp>
Classes | |
struct | DCB |
Public Member Functions | |
void | clear () |
Clear (empty out) header. More... | |
IonexHeader () | |
Default constructor. More... | |
![]() | |
virtual | ~IonexBase () |
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... | |
Static Public Attributes | |
IonexHeaderFormatStrings | |
IONEX Header Formatting Strings | |
static const GNSSTK_EXPORT std::string | versionString = "IONEX VERSION / TYPE" |
"IONEXVERSION / TYPE" More... | |
static const GNSSTK_EXPORT std::string | runByString = "PGM / RUN BY / DATE" |
"PGM / RUN BY / DATE" More... | |
static const GNSSTK_EXPORT std::string | descriptionString = "DESCRIPTION" |
"DESCRIPTION" More... | |
static const GNSSTK_EXPORT std::string | commentString = "COMMENT" |
"COMMENT" More... | |
static const GNSSTK_EXPORT std::string | firstTimeString = "EPOCH OF FIRST MAP" |
"EPOCH OF FIRST MAP" More... | |
static const GNSSTK_EXPORT std::string | lastTimeString = "EPOCH OF LAST MAP" |
"EPOCH OF LAST MAP" More... | |
static const GNSSTK_EXPORT std::string | intervalString = "INTERVAL" |
"INTERVAL" More... | |
static const GNSSTK_EXPORT std::string | numMapsString = "# OF MAPS IN FILE" |
"# OF MAPS IN FILE" More... | |
static const GNSSTK_EXPORT std::string | mappingFunctionString = "MAPPING FUNCTION" |
"MAPPING FUNCTION" More... | |
static const GNSSTK_EXPORT std::string | elevationString = "ELEVATION CUTOFF" |
"ELEVATION CUTOFF" More... | |
static const GNSSTK_EXPORT std::string | observablesUsedString = "OBSERVABLES USED" |
"OBSERVABLES USED" More... | |
static const GNSSTK_EXPORT std::string | numStationsString = "# OF STATIONS" |
"# OF STATIONS" More... | |
static const GNSSTK_EXPORT std::string | numSatsString = "# OF SATELLITES" |
"# OF SATELLITES" More... | |
static const GNSSTK_EXPORT std::string | baseRadiusString = "BASE RADIUS" |
"BASE RADIUS" More... | |
static const GNSSTK_EXPORT std::string | mapDimensionString = "MAP DIMENSION" |
"MAP DIMENSION" More... | |
static const GNSSTK_EXPORT std::string | hgtGridString = "HGT1 / HGT2 / DHGT" |
"HGT1 / HGT2 / DHGT" More... | |
static const GNSSTK_EXPORT std::string | latGridString = "LAT1 / LAT2 / DLAT" |
"LAT1 / LAT2 / DLAT" More... | |
static const GNSSTK_EXPORT std::string | lonGridString = "LON1 / LON2 / DLON" |
"LON1 / LON2 / DLON" More... | |
static const GNSSTK_EXPORT std::string | exponentString = "EXPONENT" |
"EXPONENT" More... | |
static const GNSSTK_EXPORT std::string | startAuxDataString = "START OF AUX DATA" |
"START OF AUX DATA" More... | |
static const GNSSTK_EXPORT std::string | endAuxDataString = "END OF AUX DATA" |
"END OF AUX DATA" More... | |
static const GNSSTK_EXPORT std::string | endOfHeader = "END OF HEADER" |
"END OF HEADER" More... | |
IonexHeaderValues | |
typedef std::map< SatID, DCB > | SatDCBMap |
The key to this map is the svid of the satellite (usually the prn) More... | |
typedef std::map< std::string, DCB > | StaDCBMap |
The key to this map is the marker name of the station. More... | |
double | version |
IONEX version. More... | |
std::string | fileType |
IONEX filetype ('I' for Ionoshere Maps) More... | |
std::string | system |
Satellite system or theoretical model. More... | |
std::string | fileProgram |
Name of program creating this file. More... | |
std::string | fileAgency |
Name of agency creating this file. More... | |
std::string | date |
Date and time of file creation. More... | |
std::vector< std::string > | descriptionList |
Descriptions in header (opt) More... | |
std::vector< std::string > | commentList |
Comments in header(optional) More... | |
CommonTime | firstEpoch |
Epoch of first map. More... | |
CommonTime | lastEpoch |
Epoch of last map. More... | |
int | interval |
Time interval between maps (seconds) More... | |
size_t | numMaps |
Total number of TEC/RMS/HGT maps. More... | |
std::string | mappingFunction |
Mapping function adopted. More... | |
double | elevation |
Minimum elevation angle, in degrees. More... | |
std::string | observablesUsed |
One-line specification of used obs. More... | |
size_t | numStations |
Number of contributing stations (optional) More... | |
size_t | numSVs |
Number of contributing satellites (opt) More... | |
double | baseRadius |
Mean earth radius, or bottom of height grid (km) More... | |
size_t | mapDims |
Dimension of maps (2 or 3) More... | |
double | hgt [3] |
double | lat [3] |
double | lon [3] |
int | exponent |
Exponent defining the unit of the values (optional) More... | |
std::string | auxData |
Type of auxiliar data (optional) More... | |
SatDCBMap | svsmap |
Map of satellites' DCBs (in nanoseconds) More... | |
StaDCBMap | stamap |
Map of stations' DCBs (in nanoseconds) More... | |
bool | auxDataFlag |
Flag to monitor the sequence of auxiliar data. More... | |
bool | valid |
return code, Am I valid? More... | |
virtual | ~IonexHeader () |
Destructor. More... | |
virtual bool | isHeader () const |
virtual void | dump (std::ostream &s=std::cout) const |
void | parseDcbRecord (const std::string &line) |
void | parseHeaderRecord (const std::string &line) |
void | writeHeaderRecords (FFStream &s) const |
void | reallyPutRecord (FFStream &s) const override |
void | reallyGetRecord (FFStream &s) override |
std::string | writeTime (const CommonTime &dt) const |
CommonTime | parseTime (const std::string &line) const |
Additional Inherited Members |
typedef std::map<SatID,DCB> gnsstk::IonexHeader::SatDCBMap |
The key to this map is the svid of the satellite (usually the prn)
Definition at line 229 of file IonexHeader.hpp.
typedef std::map<std::string,DCB> gnsstk::IonexHeader::StaDCBMap |
The key to this map is the marker name of the station.
Definition at line 231 of file IonexHeader.hpp.
gnsstk::IonexHeader::IonexHeader | ( | ) |
Default constructor.
Definition at line 86 of file IonexHeader.cpp.
|
virtual |
Destructor.
Definition at line 93 of file IonexHeader.cpp.
void gnsstk::IonexHeader::clear | ( | ) |
Clear (empty out) header.
Definition at line 100 of file IonexHeader.cpp.
|
virtual |
Simple debug output function.
It simply outputs the version, name and number of maps contained in this Ionex header.
Reimplemented from gnsstk::FFData.
Definition at line 127 of file IonexHeader.cpp.
|
inlinevirtual |
Returns whether or not this class is a header. Have your overriding function return the correct value.
Reimplemented from gnsstk::FFData.
Definition at line 246 of file IonexHeader.hpp.
void gnsstk::IonexHeader::parseDcbRecord | ( | const std::string & | line | ) |
Parse a single auxiliary header record that contains "Differential code biases".
FFStreamError |
Definition at line 166 of file IonexHeader.cpp.
void gnsstk::IonexHeader::parseHeaderRecord | ( | const std::string & | line | ) |
Parse a single header record, and modify 'valid' accordingly.
Used by reallyGetRecord for both IonexHeader and IonexData.
FFStreamError |
Definition at line 243 of file IonexHeader.cpp.
|
private |
This function sets the time for this header.
It looks at line to obtain the needed information.
Definition at line 760 of file IonexHeader.cpp.
|
overrideprotectedvirtual |
This function retrieves the IONEX 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 StringUtilis 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 356 of file IonexHeader.cpp.
|
overrideprotectedvirtual |
Writes the record formatted to the FFStream s.
std::exception | |
FFStreamError | |
StringException | when a StringUtils function fails |
Implements gnsstk::FFData.
Definition at line 487 of file IonexHeader.cpp.
void gnsstk::IonexHeader::writeHeaderRecords | ( | FFStream & | s | ) | const |
Write all valid header records to the given stream. Used by reallyPutRecord for both IonexHeader and IonexData.
FFStreamError | |
StringUtils::StringException |
Definition at line 515 of file IonexHeader.cpp.
|
private |
Converts the CommonTime dt into a Ionex Obs time string for the header
Definition at line 779 of file IonexHeader.cpp.
std::string gnsstk::IonexHeader::auxData |
Type of auxiliar data (optional)
Definition at line 226 of file IonexHeader.hpp.
bool gnsstk::IonexHeader::auxDataFlag |
Flag to monitor the sequence of auxiliar data.
Definition at line 235 of file IonexHeader.hpp.
double gnsstk::IonexHeader::baseRadius |
Mean earth radius, or bottom of height grid (km)
Definition at line 214 of file IonexHeader.hpp.
|
static |
"BASE RADIUS"
Definition at line 114 of file IonexHeader.hpp.
std::vector<std::string> gnsstk::IonexHeader::commentList |
Comments in header(optional)
Definition at line 200 of file IonexHeader.hpp.
|
static |
"COMMENT"
Definition at line 94 of file IonexHeader.hpp.
std::string gnsstk::IonexHeader::date |
Date and time of file creation.
Definition at line 197 of file IonexHeader.hpp.
std::vector<std::string> gnsstk::IonexHeader::descriptionList |
Descriptions in header (opt)
Definition at line 199 of file IonexHeader.hpp.
|
static |
"DESCRIPTION"
Definition at line 92 of file IonexHeader.hpp.
double gnsstk::IonexHeader::elevation |
Minimum elevation angle, in degrees.
Definition at line 208 of file IonexHeader.hpp.
|
static |
"ELEVATION CUTOFF"
Definition at line 106 of file IonexHeader.hpp.
|
static |
"END OF AUX DATA"
Definition at line 128 of file IonexHeader.hpp.
|
static |
"END OF HEADER"
Definition at line 130 of file IonexHeader.hpp.
int gnsstk::IonexHeader::exponent |
Exponent defining the unit of the values (optional)
Definition at line 225 of file IonexHeader.hpp.
|
static |
"EXPONENT"
Definition at line 124 of file IonexHeader.hpp.
std::string gnsstk::IonexHeader::fileAgency |
Name of agency creating this file.
Definition at line 196 of file IonexHeader.hpp.
std::string gnsstk::IonexHeader::fileProgram |
Name of program creating this file.
Definition at line 195 of file IonexHeader.hpp.
std::string gnsstk::IonexHeader::fileType |
IONEX filetype ('I' for Ionoshere Maps)
Definition at line 193 of file IonexHeader.hpp.
CommonTime gnsstk::IonexHeader::firstEpoch |
Epoch of first map.
Definition at line 202 of file IonexHeader.hpp.
|
static |
"EPOCH OF FIRST MAP"
Definition at line 96 of file IonexHeader.hpp.
double gnsstk::IonexHeader::hgt[3] |
Definition of an equidistant grid in height. 'hgt[0]' to 'hgt[1]' with increment 'hgt[2]' in km. For 2-dimensional maps hgt[0]=hgt[1] and hgt[2]=0.
Definition at line 217 of file IonexHeader.hpp.
|
static |
"HGT1 / HGT2 / DHGT"
Definition at line 118 of file IonexHeader.hpp.
int gnsstk::IonexHeader::interval |
Time interval between maps (seconds)
Definition at line 205 of file IonexHeader.hpp.
|
static |
"INTERVAL"
Definition at line 100 of file IonexHeader.hpp.
CommonTime gnsstk::IonexHeader::lastEpoch |
Epoch of last map.
Definition at line 203 of file IonexHeader.hpp.
|
static |
"EPOCH OF LAST MAP"
Definition at line 98 of file IonexHeader.hpp.
double gnsstk::IonexHeader::lat[3] |
Definition of the grid in latitude. 'lat[0]' to 'lat[1]' with increment 'hgt[2]' in deg.
Definition at line 220 of file IonexHeader.hpp.
|
static |
"LAT1 / LAT2 / DLAT"
Definition at line 120 of file IonexHeader.hpp.
double gnsstk::IonexHeader::lon[3] |
Definition of the grid in longitude. 'lon[0]' to 'lon[1]' with increment 'hon[2]' in deg.
Definition at line 222 of file IonexHeader.hpp.
|
static |
"LON1 / LON2 / DLON"
Definition at line 122 of file IonexHeader.hpp.
|
static |
"MAP DIMENSION"
Definition at line 116 of file IonexHeader.hpp.
size_t gnsstk::IonexHeader::mapDims |
Dimension of maps (2 or 3)
Definition at line 215 of file IonexHeader.hpp.
std::string gnsstk::IonexHeader::mappingFunction |
Mapping function adopted.
Definition at line 207 of file IonexHeader.hpp.
|
static |
"MAPPING FUNCTION"
Definition at line 104 of file IonexHeader.hpp.
size_t gnsstk::IonexHeader::numMaps |
Total number of TEC/RMS/HGT maps.
Definition at line 206 of file IonexHeader.hpp.
|
static |
"# OF MAPS IN FILE"
Definition at line 102 of file IonexHeader.hpp.
|
static |
"# OF SATELLITES"
Definition at line 112 of file IonexHeader.hpp.
size_t gnsstk::IonexHeader::numStations |
Number of contributing stations (optional)
Definition at line 211 of file IonexHeader.hpp.
|
static |
"# OF STATIONS"
Definition at line 110 of file IonexHeader.hpp.
size_t gnsstk::IonexHeader::numSVs |
Number of contributing satellites (opt)
Definition at line 212 of file IonexHeader.hpp.
std::string gnsstk::IonexHeader::observablesUsed |
One-line specification of used obs.
Definition at line 209 of file IonexHeader.hpp.
|
static |
"OBSERVABLES USED"
Definition at line 108 of file IonexHeader.hpp.
|
static |
"PGM / RUN BY / DATE"
Definition at line 90 of file IonexHeader.hpp.
StaDCBMap gnsstk::IonexHeader::stamap |
Map of stations' DCBs (in nanoseconds)
Definition at line 234 of file IonexHeader.hpp.
|
static |
"START OF AUX DATA"
Definition at line 126 of file IonexHeader.hpp.
SatDCBMap gnsstk::IonexHeader::svsmap |
Map of satellites' DCBs (in nanoseconds)
Definition at line 233 of file IonexHeader.hpp.
std::string gnsstk::IonexHeader::system |
Satellite system or theoretical model.
Definition at line 194 of file IonexHeader.hpp.
bool gnsstk::IonexHeader::valid |
return code, Am I valid?
Definition at line 238 of file IonexHeader.hpp.
double gnsstk::IonexHeader::version |
IONEX version.
Definition at line 191 of file IonexHeader.hpp.
|
static |
"IONEXVERSION / TYPE"
Definition at line 88 of file IonexHeader.hpp.