18 #ifndef GNSS_SDR_PVT_SOLUTION_H 19 #define GNSS_SDR_PVT_SOLUTION_H 21 #include <boost/date_time/posix_time/posix_time.hpp> 40 virtual double get_hdop()
const = 0;
41 virtual double get_vdop()
const = 0;
42 virtual double get_pdop()
const = 0;
43 virtual double get_gdop()
const = 0;
45 std::array<double, 3> get_rx_pos()
const;
46 std::array<double, 3> get_rx_vel()
const;
47 boost::posix_time::ptime get_position_UTC_time()
const;
56 bool is_pre_2009()
const;
57 bool is_valid_position()
const;
59 void set_rx_pos(
const std::array<double, 3> &pos);
60 void set_rx_vel(
const std::array<double, 3> &vel);
61 void set_position_UTC_time(
const boost::posix_time::ptime &pt);
66 void set_valid_position(
bool is_valid);
86 int cart2geo(
double X,
double Y,
double Z,
int elipsoid_selection);
88 std::array<double, 3> d_rx_pos{};
89 std::array<double, 3> d_rx_vel{};
90 boost::posix_time::ptime d_position_UTC_time;
92 double d_latitude_d{0.0};
93 double d_longitude_d{0.0};
94 double d_height_m{0.0};
95 double d_rx_dt_s{0.0};
96 double d_rx_clock_drift_ppm{0.0};
97 double d_speed_over_ground_m_s{0.0};
98 double d_course_over_ground_d{0.0};
100 int d_valid_observations{0};
102 bool d_pre_2009_file{
false};
103 bool d_valid_position{
false};
109 #endif // GNSS_SDR_PVT_SOLUTION_H double get_latitude() const
Get RX position Latitude WGS84 [deg].
void set_clock_drift_ppm(double clock_drift_ppm)
Set the Rx clock drift [ppm].
void set_pre_2009_file(bool pre_2009_file)
Flag for the week rollover computation in post processing mode for signals older than 2009...
double get_speed_over_ground() const
Get RX speed over ground [m/s].
double get_height() const
Get RX position height WGS84 [m].
int get_num_valid_observations() const
Get the number of valid pseudorange observations (valid satellites)
double get_course_over_ground() const
Get RX course over ground [deg].
void set_course_over_ground(double cog_deg)
Set RX course over ground [deg].
void set_num_valid_observations(int num)
Set the number of valid pseudorange observations (valid satellites)
void set_rx_pos(const std::array< double, 3 > &pos)
Set position: X, Y, Z in Cartesian ECEF coordinates [m].
double get_longitude() const
Get RX position Longitude WGS84 [deg].
void set_rx_vel(const std::array< double, 3 > &vel)
Set velocity: East [m/s], North [m/s], Up [m/s].
void set_time_offset_s(double offset)
Set RX time offset [s].
double get_clock_drift_ppm() const
Get the Rx clock drift [ppm].
double get_time_offset_s() const
Get RX time offset [s].
Base class for a PVT solution.
void set_speed_over_ground(double speed_m_s)
Set RX speed over ground [m/s].