Class RinexNavLoader

Nested Relationships

Nested Types

Class Documentation

class RinexNavLoader

Loader / propagator for RINEX V3 broadcast-ephemeris (“BRDC”) navigation files.

Satellites are identified the same way as in Sp3Loader, e.g. "G01".

Public Functions

RinexNavLoader() = default
explicit RinexNavLoader(const std::filesystem::path &filepath)

Construct and load a single RINEX nav file.

explicit RinexNavLoader(const std::vector<std::filesystem::path> &filepaths)

Construct and load multiple RINEX nav files (e.g. consecutive days); navigation messages are concatenated per-satellite.

void LoadFile(const std::filesystem::path &filepath)

Parse an additional RINEX nav file and merge its messages in.

inline const std::vector<std::string> &GetSatellites() const

Identifiers of all satellites with navigation messages loaded so far (e.g. {"G01", "G02", ..., "E11", ...}); GLONASS excluded.

bool HasSatellite(const std::string &sat_id) const
void GetPosVelClock(const std::string &sat_id, Real t_tai, Vec6 &rv_ecef, Real &clock_corr_s) const

Broadcast-ephemeris ECEF position/velocity [m, m/s] (rv_ecef) and clock correction [s] (clock_corr_s, polynomial + relativistic terms only &#8212; see file-level note on the omitted Galileo system-time term) of satellite sat_id at t_tai, computed via Keplerian propagation of the navigation message with the closest time-of-epoch. Mirrors BRDCLoader.get_posvelclock for systems G/E/C/J.

Vec6 GetPosVel(const std::string &sat_id, Real t_tai) const

Broadcast-ephemeris ECEF position/velocity [m, m/s] only.