GNSS-SDR  0.0.13
An Open Source GNSS Software Defined Receiver
Public Member Functions | Public Attributes | List of all members
Rinex_Printer Class Reference

Class that handles the generation of Receiver INdependent EXchange format (RINEX) files. More...

#include <rinex_printer.h>

Public Member Functions

 Rinex_Printer (int version=0, const std::string &base_path=".", const std::string &base_name="-")
 Default constructor. Creates GNSS Navigation and Observables RINEX files and their headers. More...
 
 ~Rinex_Printer ()
 Default destructor. Closes GNSS Navigation and Observables RINEX files. More...
 
void rinex_nav_header (std::fstream &out, const Gps_Iono &iono, const Gps_Utc_Model &utc_model, const Gps_Ephemeris &eph) const
 Generates the GPS L1 C/A Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Gps_CNAV_Iono &iono, const Gps_CNAV_Utc_Model &utc_model) const
 Generates the GPS L2C(M) Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Galileo_Iono &iono, const Galileo_Utc_Model &utc_model) const
 Generates the Galileo Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Gps_Iono &gps_iono, const Gps_Utc_Model &gps_utc_model, const Gps_Ephemeris &eph, const Galileo_Iono &galileo_iono, const Galileo_Utc_Model &galileo_utc_model) const
 Generates the Mixed (GPS/Galileo) Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Gps_CNAV_Iono &iono, const Gps_CNAV_Utc_Model &utc_model, const Galileo_Iono &galileo_iono, const Galileo_Utc_Model &galileo_utc_model) const
 Generates the Mixed (GPS CNAV/Galileo) Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Glonass_Gnav_Utc_Model &utc_model, const Glonass_Gnav_Ephemeris &glonass_gnav_eph)
 Generates the GLONASS L1, L2 C/A Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Galileo_Iono &galileo_iono, const Galileo_Utc_Model &galileo_utc_model, const Glonass_Gnav_Utc_Model &glonass_gnav_utc_model, const Glonass_Gnav_Almanac &glonass_gnav_almanac) const
 Generates the Mixed (Galileo/GLONASS) Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Gps_Iono &gps_iono, const Gps_Utc_Model &gps_utc_model, const Gps_Ephemeris &eph, const Glonass_Gnav_Utc_Model &glonass_gnav_utc_model, const Glonass_Gnav_Almanac &glonass_gnav_almanac)
 Generates the Mixed (GPS L1 C/A/GLONASS L1, L2) Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Gps_CNAV_Iono &gps_iono, const Gps_CNAV_Utc_Model &gps_utc_model, const Glonass_Gnav_Utc_Model &glonass_gnav_utc_model, const Glonass_Gnav_Almanac &glonass_gnav_almanac)
 Generates the Mixed (GPS L2C C/A/GLONASS L1, L2) Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Beidou_Dnav_Iono &iono, const Beidou_Dnav_Utc_Model &utc_model) const
 Generates the BDS B1I or B3I Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Gps_Iono &gps_iono, const Gps_Utc_Model &gps_utc_model, const Gps_Ephemeris &eph, const Beidou_Dnav_Iono &bds_dnav_iono, const Beidou_Dnav_Utc_Model &bds_dnav_utc_model) const
 Generates the Mixed GPS L1,L5 + BDS B1I, B3I Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Gps_CNAV_Iono &gps_cnav_iono, const Gps_CNAV_Utc_Model &gps_cnav_utc_model, const Beidou_Dnav_Iono &bds_dnav_iono, const Beidou_Dnav_Utc_Model &bds_dnav_utc_model)
 Generates the Mixed GPS L2C + BDS B1I, B3I Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Glonass_Gnav_Utc_Model &glo_gnav_utc_model, const Beidou_Dnav_Iono &bds_dnav_iono, const Beidou_Dnav_Utc_Model &bds_dnav_utc_model) const
 Generates the Mixed GLONASS L1,L2 + BDS B1I, B3I Navigation Data header. More...
 
void rinex_nav_header (std::fstream &out, const Galileo_Iono &galileo_iono, const Galileo_Utc_Model &galileo_utc_model, const Beidou_Dnav_Iono &bds_dnav_iono, const Beidou_Dnav_Utc_Model &bds_dnav_utc_model) const
 Generates the Mixed (Galileo/BDS B1I, B3I) Navigation Data header. More...
 
void rinex_obs_header (std::fstream &out, const Gps_Ephemeris &eph, double d_TOW_first_observation)
 Generates the GPS Observation data header. More...
 
void rinex_obs_header (std::fstream &out, const Gps_CNAV_Ephemeris &eph, double d_TOW_first_observation, const std::string &gps_bands="2S")
 Generates the GPS L2 Observation data header. More...
 
void rinex_obs_header (std::fstream &out, const Gps_Ephemeris &eph, const Gps_CNAV_Ephemeris &eph_cnav, double d_TOW_first_observation, const std::string &gps_bands="1C 2S")
 Generates the dual frequency GPS L1 & L2/L5 Observation data header. More...
 
void rinex_obs_header (std::fstream &out, const Galileo_Ephemeris &eph, double d_TOW_first_observation, const std::string &bands="1B")
 Generates the Galileo Observation data header. Example: bands("1B"), bands("1B 5X"), bands("5X"), ... Default: "1B". More...
 
void rinex_obs_header (std::fstream &out, const Gps_Ephemeris &gps_eph, const Galileo_Ephemeris &galileo_eph, double d_TOW_first_observation, const std::string &galileo_bands="1B")
 Generates the Mixed (GPS/Galileo) Observation data header. Example: galileo_bands("1B"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B". More...
 
void rinex_obs_header (std::fstream &out, const Gps_Ephemeris &gps_eph, const Gps_CNAV_Ephemeris &eph_cnav, const Galileo_Ephemeris &galileo_eph, double d_TOW_first_observation, const std::string &gps_bands="1C 2S", const std::string &galileo_bands="1B")
 Generates the Mixed (GPS/Galileo) Observation data header. Example: galileo_bands("1B"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B". More...
 
void rinex_obs_header (std::fstream &out, const Gps_CNAV_Ephemeris &eph_cnav, const Galileo_Ephemeris &galileo_eph, double d_TOW_first_observation, const std::string &gps_bands="2S", const std::string &galileo_bands="1B")
 Generates the Mixed (GPS/Galileo) Observation data header. Example: galileo_bands("1B"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B". More...
 
void rinex_obs_header (std::fstream &out, const Glonass_Gnav_Ephemeris &eph, double d_TOW_first_observation, const std::string &bands="1G")
 Generates the GLONASS GNAV Observation data header. Example: bands("1C"), bands("1C 2C"), bands("2C"), ... Default: "1C". More...
 
void rinex_obs_header (std::fstream &out, const Gps_Ephemeris &gps_eph, const Glonass_Gnav_Ephemeris &glonass_gnav_eph, double d_TOW_first_observation, const std::string &glonass_bands="1C")
 Generates the Mixed (GPS L1 C/A /GLONASS) Observation data header. Example: galileo_bands("1C"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B". More...
 
void rinex_obs_header (std::fstream &out, const Galileo_Ephemeris &galileo_eph, const Glonass_Gnav_Ephemeris &glonass_gnav_eph, double d_TOW_first_observation, const std::string &galileo_bands="1B", const std::string &glonass_bands="1C")
 Generates the Mixed (Galileo/GLONASS) Observation data header. Example: galileo_bands("1C"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B". More...
 
void rinex_obs_header (std::fstream &out, const Gps_CNAV_Ephemeris &gps_cnav_eph, const Glonass_Gnav_Ephemeris &glonass_gnav_eph, double d_TOW_first_observation, const std::string &glonass_bands="1G")
 Generates the Mixed (GPS L2C/GLONASS) Observation data header. Example: galileo_bands("1G")... Default: "1G". More...
 
void rinex_obs_header (std::fstream &out, const Beidou_Dnav_Ephemeris &eph, double d_TOW_first_observation, const std::string &bands)
 Generates the a Beidou B1I Observation data header. Example: beidou_bands("B1") More...
 
void rinex_sbs_header (std::fstream &out) const
 Generates the SBAS raw data header. More...
 
boost::posix_time::ptime compute_BDS_time (const Beidou_Dnav_Ephemeris &eph, double obs_time) const
 Computes the BDS Time and returns a boost::posix_time::ptime object. More...
 
boost::posix_time::ptime compute_UTC_time (const Gps_Navigation_Message &nav_msg) const
 Computes the UTC time and returns a boost::posix_time::ptime object. More...
 
boost::posix_time::ptime compute_GPS_time (const Gps_Ephemeris &eph, double obs_time) const
 Computes the GPS time and returns a boost::posix_time::ptime object. More...
 
boost::posix_time::ptime compute_GPS_time (const Gps_CNAV_Ephemeris &eph, double obs_time) const
 Computes the GPS time and returns a boost::posix_time::ptime object. More...
 
boost::posix_time::ptime compute_Galileo_time (const Galileo_Ephemeris &eph, double obs_time) const
 Computes the Galileo time and returns a boost::posix_time::ptime object. More...
 
boost::posix_time::ptime compute_UTC_time (const Glonass_Gnav_Ephemeris &eph, double obs_time) const
 Computes the UTC Time and returns a boost::posix_time::ptime object. More...
 
double get_leap_second (const Glonass_Gnav_Ephemeris &eph, double gps_obs_time) const
 Computes number of leap seconds of GPS relative to UTC. More...
 
void log_rinex_nav (std::fstream &out, const std::map< int32_t, Gps_Ephemeris > &eph_map) const
 Writes data from the GPS L1 C/A navigation message into the RINEX file. More...
 
void log_rinex_nav (std::fstream &out, const std::map< int32_t, Gps_CNAV_Ephemeris > &eph_map)
 Writes data from the GPS L2 navigation message into the RINEX file. More...
 
void log_rinex_nav (std::fstream &out, const std::map< int32_t, Galileo_Ephemeris > &eph_map) const
 Writes data from the Galileo navigation message into the RINEX file. More...
 
void log_rinex_nav (std::fstream &out, const std::map< int32_t, Gps_Ephemeris > &gps_eph_map, const std::map< int32_t, Galileo_Ephemeris > &galileo_eph_map)
 Writes data from the Mixed (GPS/Galileo) navigation message into the RINEX file. More...
 
void log_rinex_nav (std::fstream &out, const std::map< int32_t, Gps_CNAV_Ephemeris > &gps_cnav_eph_map, const std::map< int32_t, Galileo_Ephemeris > &galileo_eph_map)
 Writes data from the Mixed (GPS/Galileo) navigation message into the RINEX file. More...
 
void log_rinex_nav (std::fstream &out, const std::map< int32_t, Glonass_Gnav_Ephemeris > &eph_map) const
 Writes data from the GLONASS GNAV navigation message into the RINEX file. More...
 
void log_rinex_nav (std::fstream &out, const std::map< int32_t, Gps_Ephemeris > &gps_eph_map, const std::map< int32_t, Glonass_Gnav_Ephemeris > &glonass_gnav_eph_map) const
 Writes data from the Mixed (GPS/GLONASS GNAV) navigation message into the RINEX file. More...
 
void log_rinex_nav (std::fstream &out, const std::map< int32_t, Gps_CNAV_Ephemeris > &gps_cnav_eph_map, const std::map< int32_t, Glonass_Gnav_Ephemeris > &glonass_gnav_eph_map)
 Writes data from the Mixed (GPS/GLONASS GNAV) navigation message into the RINEX file. More...
 
void log_rinex_nav (std::fstream &out, const std::map< int32_t, Galileo_Ephemeris > &galileo_eph_map, const std::map< int32_t, Glonass_Gnav_Ephemeris > &glonass_gnav_eph_map)
 Writes data from the Mixed (Galileo/ GLONASS GNAV) navigation message into the RINEX file. More...
 
void log_rinex_nav (std::fstream &out, const std::map< int32_t, Beidou_Dnav_Ephemeris > &eph_map) const
 Writes data from the Beidou B1I navigation message into the RINEX file. More...
 
void log_rinex_obs (std::fstream &out, const Gps_Ephemeris &eph, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables) const
 Writes GPS L1 observables into the RINEX file. More...
 
void log_rinex_obs (std::fstream &out, const Gps_CNAV_Ephemeris &eph, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables) const
 Writes GPS L2 observables into the RINEX file. More...
 
void log_rinex_obs (std::fstream &out, const Gps_Ephemeris &eph, const Gps_CNAV_Ephemeris &eph_cnav, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables, bool triple_band=false) const
 Writes dual frequency GPS L1 and L2 observables into the RINEX file. More...
 
void log_rinex_obs (std::fstream &out, const Galileo_Ephemeris &eph, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables, const std::string &galileo_bands="1B") const
 Writes Galileo observables into the RINEX file. Example: galileo_bands("1B"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B". More...
 
void log_rinex_obs (std::fstream &out, const Gps_Ephemeris &gps_eph, const Galileo_Ephemeris &galileo_eph, double gps_obs_time, const std::map< int32_t, Gnss_Synchro > &observables) const
 Writes Mixed GPS / Galileo observables into the RINEX file. More...
 
void log_rinex_obs (std::fstream &out, const Gps_CNAV_Ephemeris &eph, const Galileo_Ephemeris &galileo_eph, double gps_obs_time, const std::map< int32_t, Gnss_Synchro > &observables) const
 Writes Mixed GPS / Galileo observables into the RINEX file. More...
 
void log_rinex_obs (std::fstream &out, const Gps_Ephemeris &gps_eph, const Gps_CNAV_Ephemeris &gps_cnav_eph, const Galileo_Ephemeris &galileo_eph, double gps_obs_time, const std::map< int32_t, Gnss_Synchro > &observables, bool triple_band=false) const
 Writes Mixed GPS / Galileo observables into the RINEX file. More...
 
void log_rinex_obs (std::fstream &out, const Glonass_Gnav_Ephemeris &eph, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables, const std::string &glonass_bands="1C") const
 Writes GLONASS GNAV observables into the RINEX file. Example: glonass_bands("1C"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B". More...
 
void log_rinex_obs (std::fstream &out, const Gps_Ephemeris &gps_eph, const Glonass_Gnav_Ephemeris &glonass_gnav_eph, double gps_obs_time, const std::map< int32_t, Gnss_Synchro > &observables) const
 Writes Mixed GPS L1 C/A - GLONASS observables into the RINEX file. More...
 
void log_rinex_obs (std::fstream &out, const Gps_CNAV_Ephemeris &gps_eph, const Glonass_Gnav_Ephemeris &glonass_gnav_eph, double gps_obs_time, const std::map< int32_t, Gnss_Synchro > &observables) const
 Writes Mixed GPS L2C - GLONASS observables into the RINEX file. More...
 
void log_rinex_obs (std::fstream &out, const Galileo_Ephemeris &galileo_eph, const Glonass_Gnav_Ephemeris &glonass_gnav_eph, double galileo_obs_time, const std::map< int32_t, Gnss_Synchro > &observables) const
 Writes Mixed Galileo/GLONASS observables into the RINEX file. More...
 
void log_rinex_obs (std::fstream &out, const Beidou_Dnav_Ephemeris &eph, double obs_time, const std::map< int32_t, Gnss_Synchro > &observables, const std::string &bds_bands) const
 Writes BDS B1I observables into the RINEX file. More...
 
void to_date_time (int gps_week, int gps_tow, int &year, int &month, int &day, int &hour, int &minute, int &second) const
 Represents GPS time in the date time format. Leap years are considered, but leap seconds are not. More...
 
void update_nav_header (std::fstream &out, const Gps_Utc_Model &utc_model, const Gps_Iono &gps_iono, const Gps_Ephemeris &eph) const
 Writes raw SBAS messages into the RINEX file. More...
 
void update_nav_header (std::fstream &out, const Gps_CNAV_Utc_Model &utc_model, const Gps_CNAV_Iono &iono) const
 
void update_nav_header (std::fstream &out, const Gps_Iono &gps_iono, const Gps_Utc_Model &gps_utc_model, const Gps_Ephemeris &eph, const Galileo_Iono &galileo_iono, const Galileo_Utc_Model &galileo_utc_model) const
 
void update_nav_header (std::fstream &out, const Gps_CNAV_Utc_Model &utc_model, const Gps_CNAV_Iono &iono, const Galileo_Iono &galileo_iono, const Galileo_Utc_Model &galileo_utc_model) const
 
void update_nav_header (std::fstream &out, const Galileo_Iono &galileo_iono, const Galileo_Utc_Model &utc_model) const
 
void update_nav_header (std::fstream &out, const Glonass_Gnav_Utc_Model &glonass_gnav_utc_model, const Glonass_Gnav_Almanac &glonass_gnav_almanac) const
 
void update_nav_header (std::fstream &out, const Gps_Iono &gps_iono, const Gps_Utc_Model &gps_utc, const Gps_Ephemeris &eph, const Glonass_Gnav_Utc_Model &glonass_gnav_utc_model, const Glonass_Gnav_Almanac &glonass_gnav_almanac) const
 
void update_nav_header (std::fstream &out, const Gps_CNAV_Iono &gps_iono, const Gps_CNAV_Utc_Model &gps_utc_model, const Glonass_Gnav_Utc_Model &glonass_gnav_utc_model, const Glonass_Gnav_Almanac &glonass_gnav_almanac) const
 
void update_nav_header (std::fstream &out, const Galileo_Iono &galileo_iono, const Galileo_Utc_Model &galileo_utc_model, const Glonass_Gnav_Utc_Model &glonass_gnav_utc_model, const Glonass_Gnav_Almanac &glonass_gnav_almanac) const
 
void update_nav_header (std::fstream &out, const Beidou_Dnav_Utc_Model &utc_model, const Beidou_Dnav_Iono &beidou_dnav_iono) const
 
void update_obs_header (std::fstream &out, const Gps_Utc_Model &utc_model) const
 
void update_obs_header (std::fstream &out, const Gps_CNAV_Utc_Model &utc_model) const
 
void update_obs_header (std::fstream &out, const Galileo_Utc_Model &galileo_utc_model) const
 
void update_obs_header (std::fstream &out, const Glonass_Gnav_Utc_Model &glonass_gnav_utc_model) const
 
void update_obs_header (std::fstream &out, const Beidou_Dnav_Utc_Model &utc_model) const
 
void set_pre_2009_file (bool pre_2009_file)
 

Public Attributes

std::fstream obsFile
 Output file stream for RINEX observation file. More...
 
std::fstream navFile
 Output file stream for RINEX navigation data file. More...
 
std::fstream sbsFile
 Output file stream for RINEX SBAS raw data file. More...
 
std::fstream navGalFile
 Output file stream for RINEX Galileo navigation data file. More...
 
std::fstream navGloFile
 Output file stream for RINEX GLONASS navigation data file. More...
 
std::fstream navBdsFile
 Output file stream for RINEX Galileo navigation data file. More...
 
std::fstream navMixFile
 Output file stream for RINEX Mixed navigation data file. More...
 
std::string navfilename
 
std::string obsfilename
 
std::string sbsfilename
 
std::string navGalfilename
 
std::string navGlofilename
 
std::string navBdsfilename
 
std::string navMixfilename
 

Detailed Description

Class that handles the generation of Receiver INdependent EXchange format (RINEX) files.

Definition at line 75 of file rinex_printer.h.

Constructor & Destructor Documentation

◆ Rinex_Printer()

Rinex_Printer::Rinex_Printer ( int  version = 0,
const std::string &  base_path = ".",
const std::string &  base_name = "-" 
)
explicit

Default constructor. Creates GNSS Navigation and Observables RINEX files and their headers.

◆ ~Rinex_Printer()

Rinex_Printer::~Rinex_Printer ( )

Default destructor. Closes GNSS Navigation and Observables RINEX files.

Member Function Documentation

◆ compute_BDS_time()

boost::posix_time::ptime Rinex_Printer::compute_BDS_time ( const Beidou_Dnav_Ephemeris eph,
double  obs_time 
) const

Computes the BDS Time and returns a boost::posix_time::ptime object.

Function used to convert the observation time into BDT time which is used as the default time for RINEX files

Parameters
ephBeiDou DNAV Ephemeris object
obs_timeObservation time in BDT seconds of week

◆ compute_Galileo_time()

boost::posix_time::ptime Rinex_Printer::compute_Galileo_time ( const Galileo_Ephemeris eph,
double  obs_time 
) const

Computes the Galileo time and returns a boost::posix_time::ptime object.

◆ compute_GPS_time() [1/2]

boost::posix_time::ptime Rinex_Printer::compute_GPS_time ( const Gps_Ephemeris eph,
double  obs_time 
) const

Computes the GPS time and returns a boost::posix_time::ptime object.

◆ compute_GPS_time() [2/2]

boost::posix_time::ptime Rinex_Printer::compute_GPS_time ( const Gps_CNAV_Ephemeris eph,
double  obs_time 
) const

Computes the GPS time and returns a boost::posix_time::ptime object.

◆ compute_UTC_time() [1/2]

boost::posix_time::ptime Rinex_Printer::compute_UTC_time ( const Gps_Navigation_Message nav_msg) const

Computes the UTC time and returns a boost::posix_time::ptime object.

◆ compute_UTC_time() [2/2]

boost::posix_time::ptime Rinex_Printer::compute_UTC_time ( const Glonass_Gnav_Ephemeris eph,
double  obs_time 
) const

Computes the UTC Time and returns a boost::posix_time::ptime object.

Function used as a method to convert the observation time into UTC time which is used as the default time for RINEX files

Parameters
ephGLONASS GNAV Ephemeris object
obs_timeObservation time in GPS seconds of week

◆ get_leap_second()

double Rinex_Printer::get_leap_second ( const Glonass_Gnav_Ephemeris eph,
double  gps_obs_time 
) const

Computes number of leap seconds of GPS relative to UTC.

Parameters
ephGLONASS GNAV Ephemeris object
gps_obs_timeObservation time in GPS seconds of week

◆ log_rinex_nav() [1/10]

void Rinex_Printer::log_rinex_nav ( std::fstream &  out,
const std::map< int32_t, Gps_Ephemeris > &  eph_map 
) const

Writes data from the GPS L1 C/A navigation message into the RINEX file.

◆ log_rinex_nav() [2/10]

void Rinex_Printer::log_rinex_nav ( std::fstream &  out,
const std::map< int32_t, Gps_CNAV_Ephemeris > &  eph_map 
)

Writes data from the GPS L2 navigation message into the RINEX file.

◆ log_rinex_nav() [3/10]

void Rinex_Printer::log_rinex_nav ( std::fstream &  out,
const std::map< int32_t, Galileo_Ephemeris > &  eph_map 
) const

Writes data from the Galileo navigation message into the RINEX file.

◆ log_rinex_nav() [4/10]

void Rinex_Printer::log_rinex_nav ( std::fstream &  out,
const std::map< int32_t, Gps_Ephemeris > &  gps_eph_map,
const std::map< int32_t, Galileo_Ephemeris > &  galileo_eph_map 
)

Writes data from the Mixed (GPS/Galileo) navigation message into the RINEX file.

◆ log_rinex_nav() [5/10]

void Rinex_Printer::log_rinex_nav ( std::fstream &  out,
const std::map< int32_t, Gps_CNAV_Ephemeris > &  gps_cnav_eph_map,
const std::map< int32_t, Galileo_Ephemeris > &  galileo_eph_map 
)

Writes data from the Mixed (GPS/Galileo) navigation message into the RINEX file.

◆ log_rinex_nav() [6/10]

void Rinex_Printer::log_rinex_nav ( std::fstream &  out,
const std::map< int32_t, Glonass_Gnav_Ephemeris > &  eph_map 
) const

Writes data from the GLONASS GNAV navigation message into the RINEX file.

◆ log_rinex_nav() [7/10]

void Rinex_Printer::log_rinex_nav ( std::fstream &  out,
const std::map< int32_t, Gps_Ephemeris > &  gps_eph_map,
const std::map< int32_t, Glonass_Gnav_Ephemeris > &  glonass_gnav_eph_map 
) const

Writes data from the Mixed (GPS/GLONASS GNAV) navigation message into the RINEX file.

◆ log_rinex_nav() [8/10]

void Rinex_Printer::log_rinex_nav ( std::fstream &  out,
const std::map< int32_t, Gps_CNAV_Ephemeris > &  gps_cnav_eph_map,
const std::map< int32_t, Glonass_Gnav_Ephemeris > &  glonass_gnav_eph_map 
)

Writes data from the Mixed (GPS/GLONASS GNAV) navigation message into the RINEX file.

◆ log_rinex_nav() [9/10]

void Rinex_Printer::log_rinex_nav ( std::fstream &  out,
const std::map< int32_t, Galileo_Ephemeris > &  galileo_eph_map,
const std::map< int32_t, Glonass_Gnav_Ephemeris > &  glonass_gnav_eph_map 
)

Writes data from the Mixed (Galileo/ GLONASS GNAV) navigation message into the RINEX file.

◆ log_rinex_nav() [10/10]

void Rinex_Printer::log_rinex_nav ( std::fstream &  out,
const std::map< int32_t, Beidou_Dnav_Ephemeris > &  eph_map 
) const

Writes data from the Beidou B1I navigation message into the RINEX file.

◆ log_rinex_obs() [1/12]

void Rinex_Printer::log_rinex_obs ( std::fstream &  out,
const Gps_Ephemeris eph,
double  obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables 
) const

Writes GPS L1 observables into the RINEX file.

◆ log_rinex_obs() [2/12]

void Rinex_Printer::log_rinex_obs ( std::fstream &  out,
const Gps_CNAV_Ephemeris eph,
double  obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables 
) const

Writes GPS L2 observables into the RINEX file.

◆ log_rinex_obs() [3/12]

void Rinex_Printer::log_rinex_obs ( std::fstream &  out,
const Gps_Ephemeris eph,
const Gps_CNAV_Ephemeris eph_cnav,
double  obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables,
bool  triple_band = false 
) const

Writes dual frequency GPS L1 and L2 observables into the RINEX file.

◆ log_rinex_obs() [4/12]

void Rinex_Printer::log_rinex_obs ( std::fstream &  out,
const Galileo_Ephemeris eph,
double  obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables,
const std::string &  galileo_bands = "1B" 
) const

Writes Galileo observables into the RINEX file. Example: galileo_bands("1B"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B".

◆ log_rinex_obs() [5/12]

void Rinex_Printer::log_rinex_obs ( std::fstream &  out,
const Gps_Ephemeris gps_eph,
const Galileo_Ephemeris galileo_eph,
double  gps_obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables 
) const

Writes Mixed GPS / Galileo observables into the RINEX file.

◆ log_rinex_obs() [6/12]

void Rinex_Printer::log_rinex_obs ( std::fstream &  out,
const Gps_CNAV_Ephemeris eph,
const Galileo_Ephemeris galileo_eph,
double  gps_obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables 
) const

Writes Mixed GPS / Galileo observables into the RINEX file.

◆ log_rinex_obs() [7/12]

void Rinex_Printer::log_rinex_obs ( std::fstream &  out,
const Gps_Ephemeris gps_eph,
const Gps_CNAV_Ephemeris gps_cnav_eph,
const Galileo_Ephemeris galileo_eph,
double  gps_obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables,
bool  triple_band = false 
) const

Writes Mixed GPS / Galileo observables into the RINEX file.

◆ log_rinex_obs() [8/12]

void Rinex_Printer::log_rinex_obs ( std::fstream &  out,
const Glonass_Gnav_Ephemeris eph,
double  obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables,
const std::string &  glonass_bands = "1C" 
) const

Writes GLONASS GNAV observables into the RINEX file. Example: glonass_bands("1C"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B".

◆ log_rinex_obs() [9/12]

void Rinex_Printer::log_rinex_obs ( std::fstream &  out,
const Gps_Ephemeris gps_eph,
const Glonass_Gnav_Ephemeris glonass_gnav_eph,
double  gps_obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables 
) const

Writes Mixed GPS L1 C/A - GLONASS observables into the RINEX file.

◆ log_rinex_obs() [10/12]

void Rinex_Printer::log_rinex_obs ( std::fstream &  out,
const Gps_CNAV_Ephemeris gps_eph,
const Glonass_Gnav_Ephemeris glonass_gnav_eph,
double  gps_obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables 
) const

Writes Mixed GPS L2C - GLONASS observables into the RINEX file.

◆ log_rinex_obs() [11/12]

void Rinex_Printer::log_rinex_obs ( std::fstream &  out,
const Galileo_Ephemeris galileo_eph,
const Glonass_Gnav_Ephemeris glonass_gnav_eph,
double  galileo_obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables 
) const

Writes Mixed Galileo/GLONASS observables into the RINEX file.

◆ log_rinex_obs() [12/12]

void Rinex_Printer::log_rinex_obs ( std::fstream &  out,
const Beidou_Dnav_Ephemeris eph,
double  obs_time,
const std::map< int32_t, Gnss_Synchro > &  observables,
const std::string &  bds_bands 
) const

Writes BDS B1I observables into the RINEX file.

◆ rinex_nav_header() [1/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Gps_Iono iono,
const Gps_Utc_Model utc_model,
const Gps_Ephemeris eph 
) const

Generates the GPS L1 C/A Navigation Data header.

◆ rinex_nav_header() [2/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Gps_CNAV_Iono iono,
const Gps_CNAV_Utc_Model utc_model 
) const

Generates the GPS L2C(M) Navigation Data header.

◆ rinex_nav_header() [3/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Galileo_Iono iono,
const Galileo_Utc_Model utc_model 
) const

Generates the Galileo Navigation Data header.

◆ rinex_nav_header() [4/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Gps_Iono gps_iono,
const Gps_Utc_Model gps_utc_model,
const Gps_Ephemeris eph,
const Galileo_Iono galileo_iono,
const Galileo_Utc_Model galileo_utc_model 
) const

Generates the Mixed (GPS/Galileo) Navigation Data header.

◆ rinex_nav_header() [5/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Gps_CNAV_Iono iono,
const Gps_CNAV_Utc_Model utc_model,
const Galileo_Iono galileo_iono,
const Galileo_Utc_Model galileo_utc_model 
) const

Generates the Mixed (GPS CNAV/Galileo) Navigation Data header.

◆ rinex_nav_header() [6/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Glonass_Gnav_Utc_Model utc_model,
const Glonass_Gnav_Ephemeris glonass_gnav_eph 
)

Generates the GLONASS L1, L2 C/A Navigation Data header.

◆ rinex_nav_header() [7/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Galileo_Iono galileo_iono,
const Galileo_Utc_Model galileo_utc_model,
const Glonass_Gnav_Utc_Model glonass_gnav_utc_model,
const Glonass_Gnav_Almanac glonass_gnav_almanac 
) const

Generates the Mixed (Galileo/GLONASS) Navigation Data header.

◆ rinex_nav_header() [8/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Gps_Iono gps_iono,
const Gps_Utc_Model gps_utc_model,
const Gps_Ephemeris eph,
const Glonass_Gnav_Utc_Model glonass_gnav_utc_model,
const Glonass_Gnav_Almanac glonass_gnav_almanac 
)

Generates the Mixed (GPS L1 C/A/GLONASS L1, L2) Navigation Data header.

◆ rinex_nav_header() [9/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Gps_CNAV_Iono gps_iono,
const Gps_CNAV_Utc_Model gps_utc_model,
const Glonass_Gnav_Utc_Model glonass_gnav_utc_model,
const Glonass_Gnav_Almanac glonass_gnav_almanac 
)

Generates the Mixed (GPS L2C C/A/GLONASS L1, L2) Navigation Data header.

◆ rinex_nav_header() [10/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Beidou_Dnav_Iono iono,
const Beidou_Dnav_Utc_Model utc_model 
) const

Generates the BDS B1I or B3I Navigation Data header.

◆ rinex_nav_header() [11/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Gps_Iono gps_iono,
const Gps_Utc_Model gps_utc_model,
const Gps_Ephemeris eph,
const Beidou_Dnav_Iono bds_dnav_iono,
const Beidou_Dnav_Utc_Model bds_dnav_utc_model 
) const

Generates the Mixed GPS L1,L5 + BDS B1I, B3I Navigation Data header.

◆ rinex_nav_header() [12/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Gps_CNAV_Iono gps_cnav_iono,
const Gps_CNAV_Utc_Model gps_cnav_utc_model,
const Beidou_Dnav_Iono bds_dnav_iono,
const Beidou_Dnav_Utc_Model bds_dnav_utc_model 
)

Generates the Mixed GPS L2C + BDS B1I, B3I Navigation Data header.

◆ rinex_nav_header() [13/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Glonass_Gnav_Utc_Model glo_gnav_utc_model,
const Beidou_Dnav_Iono bds_dnav_iono,
const Beidou_Dnav_Utc_Model bds_dnav_utc_model 
) const

Generates the Mixed GLONASS L1,L2 + BDS B1I, B3I Navigation Data header.

◆ rinex_nav_header() [14/14]

void Rinex_Printer::rinex_nav_header ( std::fstream &  out,
const Galileo_Iono galileo_iono,
const Galileo_Utc_Model galileo_utc_model,
const Beidou_Dnav_Iono bds_dnav_iono,
const Beidou_Dnav_Utc_Model bds_dnav_utc_model 
) const

Generates the Mixed (Galileo/BDS B1I, B3I) Navigation Data header.

◆ rinex_obs_header() [1/12]

void Rinex_Printer::rinex_obs_header ( std::fstream &  out,
const Gps_Ephemeris eph,
double  d_TOW_first_observation 
)

Generates the GPS Observation data header.

◆ rinex_obs_header() [2/12]

void Rinex_Printer::rinex_obs_header ( std::fstream &  out,
const Gps_CNAV_Ephemeris eph,
double  d_TOW_first_observation,
const std::string &  gps_bands = "2S" 
)

Generates the GPS L2 Observation data header.

◆ rinex_obs_header() [3/12]

void Rinex_Printer::rinex_obs_header ( std::fstream &  out,
const Gps_Ephemeris eph,
const Gps_CNAV_Ephemeris eph_cnav,
double  d_TOW_first_observation,
const std::string &  gps_bands = "1C 2S" 
)

Generates the dual frequency GPS L1 & L2/L5 Observation data header.

◆ rinex_obs_header() [4/12]

void Rinex_Printer::rinex_obs_header ( std::fstream &  out,
const Galileo_Ephemeris eph,
double  d_TOW_first_observation,
const std::string &  bands = "1B" 
)

Generates the Galileo Observation data header. Example: bands("1B"), bands("1B 5X"), bands("5X"), ... Default: "1B".

◆ rinex_obs_header() [5/12]

void Rinex_Printer::rinex_obs_header ( std::fstream &  out,
const Gps_Ephemeris gps_eph,
const Galileo_Ephemeris galileo_eph,
double  d_TOW_first_observation,
const std::string &  galileo_bands = "1B" 
)

Generates the Mixed (GPS/Galileo) Observation data header. Example: galileo_bands("1B"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B".

◆ rinex_obs_header() [6/12]

void Rinex_Printer::rinex_obs_header ( std::fstream &  out,
const Gps_Ephemeris gps_eph,
const Gps_CNAV_Ephemeris eph_cnav,
const Galileo_Ephemeris galileo_eph,
double  d_TOW_first_observation,
const std::string &  gps_bands = "1C 2S",
const std::string &  galileo_bands = "1B" 
)

Generates the Mixed (GPS/Galileo) Observation data header. Example: galileo_bands("1B"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B".

◆ rinex_obs_header() [7/12]

void Rinex_Printer::rinex_obs_header ( std::fstream &  out,
const Gps_CNAV_Ephemeris eph_cnav,
const Galileo_Ephemeris galileo_eph,
double  d_TOW_first_observation,
const std::string &  gps_bands = "2S",
const std::string &  galileo_bands = "1B" 
)

Generates the Mixed (GPS/Galileo) Observation data header. Example: galileo_bands("1B"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B".

◆ rinex_obs_header() [8/12]

void Rinex_Printer::rinex_obs_header ( std::fstream &  out,
const Glonass_Gnav_Ephemeris eph,
double  d_TOW_first_observation,
const std::string &  bands = "1G" 
)

Generates the GLONASS GNAV Observation data header. Example: bands("1C"), bands("1C 2C"), bands("2C"), ... Default: "1C".

◆ rinex_obs_header() [9/12]

void Rinex_Printer::rinex_obs_header ( std::fstream &  out,
const Gps_Ephemeris gps_eph,
const Glonass_Gnav_Ephemeris glonass_gnav_eph,
double  d_TOW_first_observation,
const std::string &  glonass_bands = "1C" 
)

Generates the Mixed (GPS L1 C/A /GLONASS) Observation data header. Example: galileo_bands("1C"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B".

◆ rinex_obs_header() [10/12]

void Rinex_Printer::rinex_obs_header ( std::fstream &  out,
const Galileo_Ephemeris galileo_eph,
const Glonass_Gnav_Ephemeris glonass_gnav_eph,
double  d_TOW_first_observation,
const std::string &  galileo_bands = "1B",
const std::string &  glonass_bands = "1C" 
)

Generates the Mixed (Galileo/GLONASS) Observation data header. Example: galileo_bands("1C"), galileo_bands("1B 5X"), galileo_bands("5X"), ... Default: "1B".

◆ rinex_obs_header() [11/12]

void Rinex_Printer::rinex_obs_header ( std::fstream &  out,
const Gps_CNAV_Ephemeris gps_cnav_eph,
const Glonass_Gnav_Ephemeris glonass_gnav_eph,
double  d_TOW_first_observation,
const std::string &  glonass_bands = "1G" 
)

Generates the Mixed (GPS L2C/GLONASS) Observation data header. Example: galileo_bands("1G")... Default: "1G".

◆ rinex_obs_header() [12/12]

void Rinex_Printer::rinex_obs_header ( std::fstream &  out,
const Beidou_Dnav_Ephemeris eph,
double  d_TOW_first_observation,
const std::string &  bands 
)

Generates the a Beidou B1I Observation data header. Example: beidou_bands("B1")

◆ rinex_sbs_header()

void Rinex_Printer::rinex_sbs_header ( std::fstream &  out) const

Generates the SBAS raw data header.

◆ to_date_time()

void Rinex_Printer::to_date_time ( int  gps_week,
int  gps_tow,
int &  year,
int &  month,
int &  day,
int &  hour,
int &  minute,
int &  second 
) const

Represents GPS time in the date time format. Leap years are considered, but leap seconds are not.

◆ update_nav_header()

void Rinex_Printer::update_nav_header ( std::fstream &  out,
const Gps_Utc_Model utc_model,
const Gps_Iono gps_iono,
const Gps_Ephemeris eph 
) const

Writes raw SBAS messages into the RINEX file.

Member Data Documentation

◆ navBdsFile

std::fstream Rinex_Printer::navBdsFile

Output file stream for RINEX Galileo navigation data file.

Definition at line 426 of file rinex_printer.h.

◆ navFile

std::fstream Rinex_Printer::navFile

Output file stream for RINEX navigation data file.

Definition at line 422 of file rinex_printer.h.

◆ navGalFile

std::fstream Rinex_Printer::navGalFile

Output file stream for RINEX Galileo navigation data file.

Definition at line 424 of file rinex_printer.h.

◆ navGloFile

std::fstream Rinex_Printer::navGloFile

Output file stream for RINEX GLONASS navigation data file.

Definition at line 425 of file rinex_printer.h.

◆ navMixFile

std::fstream Rinex_Printer::navMixFile

Output file stream for RINEX Mixed navigation data file.

Definition at line 427 of file rinex_printer.h.

◆ obsFile

std::fstream Rinex_Printer::obsFile

Output file stream for RINEX observation file.

Definition at line 421 of file rinex_printer.h.

◆ sbsFile

std::fstream Rinex_Printer::sbsFile

Output file stream for RINEX SBAS raw data file.

Definition at line 423 of file rinex_printer.h.


The documentation for this class was generated from the following file: