0.4.1
Loading...
Searching...
No Matches
NAV::vendor::RINEX::ObsHeader Struct Reference

Rinex Observation File Header information. More...

Public Types

enum class  MarkerTypes : uint8_t {
  GEODETIC ,
  NON_GEODETIC ,
  NON_PHYSICAL ,
  SPACEBORNE ,
  GROUND_CRAFT ,
  WATER_CRAFT ,
  AIRBORNE ,
  FIXED_BUOY ,
  FLOATING_BUOY ,
  FLOATING_ICE ,
  GLACIER ,
  BALLISTIC ,
  ANIMAL ,
  HUMAN ,
  USER_DEFINED ,
  COUNT
}
 Available marker types. More...
 

Public Member Functions

bool addObsType (const Code &code, ObsType type)
 Adds the obs type if not existing already.
 
std::string epochRecordLine (const InsTime &epochTime, size_t nSatellites) const
 Generates the epoch line.
 
std::string generateHeader () const
 Generates the RINEX observation header.
 
std::string headerLineAntennaDeltaHEN () const
 Generates the Header line 'ANTENNA: DELTA H/E/N'.
 
std::string headerLineAntNumType () const
 Generates the Header line 'ANT # / TYPE'.
 
std::string headerLineApproxPositionXYZ () const
 Generates the Header line 'APPROX POSITION XYZ'.
 
std::string headerLineComments () const
 Generates the Header line 'COMMENT'.
 
std::string headerLineInterval () const
 Generates the Header line 'INTERVAL'.
 
std::string headerLineLeapSeconds () const
 Generates the Header line 'LEAP SECONDS'.
 
std::string headerLineMarkerName () const
 Generates the Header line 'MARKER NAME'.
 
std::string headerLineMarkerNumber () const
 Generates the Header line 'MARKER NUMBER'.
 
std::string headerLineMarkerType () const
 Generates the Header line 'MARKER TYPE'.
 
std::string headerLineNumSatellites () const
 Generates the Header line '# OF SATELLITES'.
 
std::string headerLineObserverAgency () const
 Generates the Header line 'OBSERVER / AGENCY'.
 
std::string headerLinePgmRunByDate () const
 Generates the Header line 'PGM / RUN BY / DATE'.
 
std::string headerLineRecNumTypeVers () const
 Generates the Header line 'REC # / TYPE / VERS'.
 
std::string headerLineRinexVersionType () const
 Generates the Header line 'RINEX VERSION / TYPE'.
 
std::string headerLineSysNumObsType () const
 Generates the Header line 'SYS / # / OBS TYPES'.
 
std::string headerLineTimeOfFirstObs () const
 Generates the Header line 'TIME OF FIRST OBS'.
 
std::string headerLineTimeOfLastObs () const
 Generates the Header line 'TIME OF LAST OBS'.
 
void reset ()
 Reset all dynamic data.
 

Static Public Member Functions

static std::string headerLineEndOfHeader ()
 Generates the Header line 'END OF HEADER'.
 
static std::string headerLineGlonassCodPhsBis ()
 Generates the Header line 'GLONASS COD/PHS/BIS'.
 
static std::string headerLineSignalStrengthUnit ()
 Generates the Header line 'SIGNAL STRENGTH UNIT'.
 
static std::string headerLineSysPhaseShift ()
 Generates the Header line 'SYS / PHASE SHIFT'.
 

Data Fields

std::string agency
 Name of agency [A40].
 
std::array< double, 3 > antennaDeltaHeightEastNorth
 Antenna height and horizontal eccentricity of ARP relative to the marker (east/north) in (meters) [F14.4].
 
std::string antennaNumber
 Antenna number [A20].
 
std::string antennaType
 Antenna type [A20].
 
bool approxPositionEnabled
 Whether the approx position should be written.
 
Eigen::Vector3d approxPositionXYZ
 Geocentric approximate marker position (Units: Meters, System: ITRS recommended) Optional for moving platforms [F14.4].
 
std::vector< std::string > comments
 Comment line(s) [A60] (Optional)
 
double interval
 Observation interval in seconds.
 
std::string markerName
 Name of antenna marker [A60].
 
std::string markerNumber
 Number of antenna marker [A20] (Optional)
 
MarkerTypes markerType
 Type of the marker.
 
std::string markerTypeUser
 User-defined Marker Type [A20].
 
std::string observer
 Name of observer [A20].
 
std::string receiverNumber
 Receiver number [A20].
 
std::string receiverType
 Receiver type [A20].
 
std::string receiverVersion
 Receiver version (e.g. Internal Software Version) [A20].
 
std::string runBy
 Name of agency creating current file [A20].
 
std::unordered_set< SatIdsatellites
 Satellites observed.
 
SatelliteSystem satSys
 Satellite System.
 
std::map< SatelliteSystem, std::vector< ObservationDescription > > systemObsTypes
 Observation types for each satellite system.
 
InsTime timeFirstObs
 Time of first observation record.
 
InsTime timeLastObs
 Time of last observation record.
 
TimeSystem timeSys
 Time system used.
 
double version
 Format version.
 

Detailed Description

Rinex Observation File Header information.

Definition at line 62 of file RINEXUtilities.hpp.

Member Enumeration Documentation

◆ MarkerTypes

enum class NAV::vendor::RINEX::ObsHeader::MarkerTypes : uint8_t
strong

Available marker types.

Enumerator
GEODETIC 

Earth-fixed, high-precision monument.

NON_GEODETIC 

Earth-fixed, low-precision monument.

NON_PHYSICAL 

Generated from network processing.

SPACEBORNE 

Orbiting space vehicle.

GROUND_CRAFT 

Mobile terrestrial vehicle.

WATER_CRAFT 

Mobile water craft.

AIRBORNE 

Aircraft, balloon, etc.

FIXED_BUOY 

"Fixed" on water surface

FLOATING_BUOY 

Floating on water surface.

FLOATING_ICE 

Floating ice sheet, etc.

GLACIER 

"Fixed" on a glacier

BALLISTIC 

Rockets, shells, etc.

ANIMAL 

Animal carrying a receiver.

HUMAN 

Human being.

USER_DEFINED 

Users may define other project-dependent keywords.

COUNT 

Amount of items in the enum.

Definition at line 71 of file RINEXUtilities.hpp.

Member Function Documentation

◆ addObsType()

bool NAV::vendor::RINEX::ObsHeader::addObsType ( const Code & code,
ObsType type )

Adds the obs type if not existing already.

Parameters
codeSignal Code
typeRINEX obs type
Returns
True if the type was not present yet

Definition at line 39 of file RINEXUtilities.cpp.

◆ epochRecordLine()

std::string NAV::vendor::RINEX::ObsHeader::epochRecordLine ( const InsTime & epochTime,
size_t nSatellites ) const
nodiscard

Generates the epoch line.

Parameters
[in]epochTimeTime of the GNSS epoch
[in]nSatellitesNumber of satellites

Definition at line 297 of file RINEXUtilities.cpp.

◆ generateHeader()

std::string NAV::vendor::RINEX::ObsHeader::generateHeader ( ) const
nodiscard

Generates the RINEX observation header.

Definition at line 53 of file RINEXUtilities.cpp.

◆ headerLineAntennaDeltaHEN()

std::string NAV::vendor::RINEX::ObsHeader::headerLineAntennaDeltaHEN ( ) const
nodiscard

Generates the Header line 'ANTENNA: DELTA H/E/N'.

Definition at line 198 of file RINEXUtilities.cpp.

◆ headerLineAntNumType()

std::string NAV::vendor::RINEX::ObsHeader::headerLineAntNumType ( ) const
nodiscard

Generates the Header line 'ANT # / TYPE'.

Definition at line 181 of file RINEXUtilities.cpp.

◆ headerLineApproxPositionXYZ()

std::string NAV::vendor::RINEX::ObsHeader::headerLineApproxPositionXYZ ( ) const
nodiscard

Generates the Header line 'APPROX POSITION XYZ'.

Definition at line 187 of file RINEXUtilities.cpp.

◆ headerLineComments()

std::string NAV::vendor::RINEX::ObsHeader::headerLineComments ( ) const
nodiscard

Generates the Header line 'COMMENT'.

Definition at line 137 of file RINEXUtilities.cpp.

◆ headerLineEndOfHeader()

std::string NAV::vendor::RINEX::ObsHeader::headerLineEndOfHeader ( )
staticnodiscard

Generates the Header line 'END OF HEADER'.

Definition at line 292 of file RINEXUtilities.cpp.

◆ headerLineGlonassCodPhsBis()

std::string NAV::vendor::RINEX::ObsHeader::headerLineGlonassCodPhsBis ( )
staticnodiscard

Generates the Header line 'GLONASS COD/PHS/BIS'.

Definition at line 278 of file RINEXUtilities.cpp.

◆ headerLineInterval()

std::string NAV::vendor::RINEX::ObsHeader::headerLineInterval ( ) const
nodiscard

Generates the Header line 'INTERVAL'.

Definition at line 244 of file RINEXUtilities.cpp.

◆ headerLineLeapSeconds()

std::string NAV::vendor::RINEX::ObsHeader::headerLineLeapSeconds ( ) const
nodiscard

Generates the Header line 'LEAP SECONDS'.

Definition at line 282 of file RINEXUtilities.cpp.

◆ headerLineMarkerName()

std::string NAV::vendor::RINEX::ObsHeader::headerLineMarkerName ( ) const
nodiscard

Generates the Header line 'MARKER NAME'.

Definition at line 147 of file RINEXUtilities.cpp.

◆ headerLineMarkerNumber()

std::string NAV::vendor::RINEX::ObsHeader::headerLineMarkerNumber ( ) const
nodiscard

Generates the Header line 'MARKER NUMBER'.

Definition at line 152 of file RINEXUtilities.cpp.

◆ headerLineMarkerType()

std::string NAV::vendor::RINEX::ObsHeader::headerLineMarkerType ( ) const
nodiscard

Generates the Header line 'MARKER TYPE'.

Definition at line 161 of file RINEXUtilities.cpp.

◆ headerLineNumSatellites()

std::string NAV::vendor::RINEX::ObsHeader::headerLineNumSatellites ( ) const
nodiscard

Generates the Header line '# OF SATELLITES'.

Definition at line 287 of file RINEXUtilities.cpp.

◆ headerLineObserverAgency()

std::string NAV::vendor::RINEX::ObsHeader::headerLineObserverAgency ( ) const
nodiscard

Generates the Header line 'OBSERVER / AGENCY'.

Definition at line 168 of file RINEXUtilities.cpp.

◆ headerLinePgmRunByDate()

std::string NAV::vendor::RINEX::ObsHeader::headerLinePgmRunByDate ( ) const
nodiscard

Generates the Header line 'PGM / RUN BY / DATE'.

Definition at line 127 of file RINEXUtilities.cpp.

◆ headerLineRecNumTypeVers()

std::string NAV::vendor::RINEX::ObsHeader::headerLineRecNumTypeVers ( ) const
nodiscard

Generates the Header line 'REC # / TYPE / VERS'.

Definition at line 174 of file RINEXUtilities.cpp.

◆ headerLineRinexVersionType()

std::string NAV::vendor::RINEX::ObsHeader::headerLineRinexVersionType ( ) const
nodiscard

Generates the Header line 'RINEX VERSION / TYPE'.

Definition at line 93 of file RINEXUtilities.cpp.

◆ headerLineSignalStrengthUnit()

std::string NAV::vendor::RINEX::ObsHeader::headerLineSignalStrengthUnit ( )
staticnodiscard

Generates the Header line 'SIGNAL STRENGTH UNIT'.

Definition at line 239 of file RINEXUtilities.cpp.

◆ headerLineSysNumObsType()

std::string NAV::vendor::RINEX::ObsHeader::headerLineSysNumObsType ( ) const
nodiscard

Generates the Header line 'SYS / # / OBS TYPES'.

Definition at line 205 of file RINEXUtilities.cpp.

◆ headerLineSysPhaseShift()

std::string NAV::vendor::RINEX::ObsHeader::headerLineSysPhaseShift ( )
staticnodiscard

Generates the Header line 'SYS / PHASE SHIFT'.

Definition at line 274 of file RINEXUtilities.cpp.

◆ headerLineTimeOfFirstObs()

std::string NAV::vendor::RINEX::ObsHeader::headerLineTimeOfFirstObs ( ) const
nodiscard

Generates the Header line 'TIME OF FIRST OBS'.

Definition at line 250 of file RINEXUtilities.cpp.

◆ headerLineTimeOfLastObs()

std::string NAV::vendor::RINEX::ObsHeader::headerLineTimeOfLastObs ( ) const
nodiscard

Generates the Header line 'TIME OF LAST OBS'.

Definition at line 262 of file RINEXUtilities.cpp.

◆ reset()

void NAV::vendor::RINEX::ObsHeader::reset ( )

Reset all dynamic data.

Definition at line 28 of file RINEXUtilities.cpp.

Field Documentation

◆ agency

std::string NAV::vendor::RINEX::ObsHeader::agency

Name of agency [A40].

Definition at line 93 of file RINEXUtilities.hpp.

◆ antennaDeltaHeightEastNorth

std::array<double, 3> NAV::vendor::RINEX::ObsHeader::antennaDeltaHeightEastNorth

Antenna height and horizontal eccentricity of ARP relative to the marker (east/north) in (meters) [F14.4].

Definition at line 101 of file RINEXUtilities.hpp.

◆ antennaNumber

std::string NAV::vendor::RINEX::ObsHeader::antennaNumber

Antenna number [A20].

Definition at line 97 of file RINEXUtilities.hpp.

◆ antennaType

std::string NAV::vendor::RINEX::ObsHeader::antennaType

Antenna type [A20].

Definition at line 98 of file RINEXUtilities.hpp.

◆ approxPositionEnabled

bool NAV::vendor::RINEX::ObsHeader::approxPositionEnabled

Whether the approx position should be written.

Definition at line 99 of file RINEXUtilities.hpp.

◆ approxPositionXYZ

Eigen::Vector3d NAV::vendor::RINEX::ObsHeader::approxPositionXYZ

Geocentric approximate marker position (Units: Meters, System: ITRS recommended) Optional for moving platforms [F14.4].

Definition at line 100 of file RINEXUtilities.hpp.

◆ comments

std::vector<std::string> NAV::vendor::RINEX::ObsHeader::comments

Comment line(s) [A60] (Optional)

Definition at line 66 of file RINEXUtilities.hpp.

◆ interval

double NAV::vendor::RINEX::ObsHeader::interval

Observation interval in seconds.

Definition at line 107 of file RINEXUtilities.hpp.

◆ markerName

std::string NAV::vendor::RINEX::ObsHeader::markerName

Name of antenna marker [A60].

Definition at line 67 of file RINEXUtilities.hpp.

◆ markerNumber

std::string NAV::vendor::RINEX::ObsHeader::markerNumber

Number of antenna marker [A20] (Optional)

Definition at line 68 of file RINEXUtilities.hpp.

◆ markerType

MarkerTypes NAV::vendor::RINEX::ObsHeader::markerType

Type of the marker.

Definition at line 90 of file RINEXUtilities.hpp.

◆ markerTypeUser

std::string NAV::vendor::RINEX::ObsHeader::markerTypeUser

User-defined Marker Type [A20].

Definition at line 91 of file RINEXUtilities.hpp.

◆ observer

std::string NAV::vendor::RINEX::ObsHeader::observer

Name of observer [A20].

Definition at line 92 of file RINEXUtilities.hpp.

◆ receiverNumber

std::string NAV::vendor::RINEX::ObsHeader::receiverNumber

Receiver number [A20].

Definition at line 94 of file RINEXUtilities.hpp.

◆ receiverType

std::string NAV::vendor::RINEX::ObsHeader::receiverType

Receiver type [A20].

Definition at line 95 of file RINEXUtilities.hpp.

◆ receiverVersion

std::string NAV::vendor::RINEX::ObsHeader::receiverVersion

Receiver version (e.g. Internal Software Version) [A20].

Definition at line 96 of file RINEXUtilities.hpp.

◆ runBy

std::string NAV::vendor::RINEX::ObsHeader::runBy

Name of agency creating current file [A20].

Definition at line 65 of file RINEXUtilities.hpp.

◆ satellites

std::unordered_set<SatId> NAV::vendor::RINEX::ObsHeader::satellites

Satellites observed.

Definition at line 110 of file RINEXUtilities.hpp.

◆ satSys

SatelliteSystem NAV::vendor::RINEX::ObsHeader::satSys

Satellite System.

Definition at line 105 of file RINEXUtilities.hpp.

◆ systemObsTypes

std::map<SatelliteSystem, std::vector<ObservationDescription> > NAV::vendor::RINEX::ObsHeader::systemObsTypes

Observation types for each satellite system.

Definition at line 106 of file RINEXUtilities.hpp.

◆ timeFirstObs

InsTime NAV::vendor::RINEX::ObsHeader::timeFirstObs

Time of first observation record.

Definition at line 108 of file RINEXUtilities.hpp.

◆ timeLastObs

InsTime NAV::vendor::RINEX::ObsHeader::timeLastObs

Time of last observation record.

Definition at line 109 of file RINEXUtilities.hpp.

◆ timeSys

TimeSystem NAV::vendor::RINEX::ObsHeader::timeSys

Time system used.

Definition at line 111 of file RINEXUtilities.hpp.

◆ version

double NAV::vendor::RINEX::ObsHeader::version

Format version.

Definition at line 64 of file RINEXUtilities.hpp.


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