27 #ifndef __NMEA_GMATH_H__
28 #define __NMEA_GMATH_H__
32 #define NMEA_PI (3.141592653589793)
33 #define NMEA_PI180 (NMEA_PI / 180)
34 #define NMEA_EARTHRADIUS_KM (6378)
35 #define NMEA_EARTHRADIUS_M (NMEA_EARTHRADIUS_KM * 1000)
36 #define NMEA_EARTH_SEMIMAJORAXIS_M (6378137.0)
37 #define NMEA_EARTH_SEMIMAJORAXIS_KM (NMEA_EARTHMAJORAXIS_KM / 1000)
38 #define NMEA_EARTH_FLATTENING (1 / 298.257223563)
39 #define NMEA_DOP_FACTOR (5)
double nmea_ndeg2degree(double val)
double nmea_degree2ndeg(double val)
double nmea_radian2degree(double val)
double nmea_distance_ellipsoid(const nmeaPOS *from_pos, const nmeaPOS *to_pos, double *from_azimuth, double *to_azimuth)
double nmea_dop2meters(double dop)
double nmea_degree2radian(double val)
double nmea_distance(const nmeaPOS *from_pos, const nmeaPOS *to_pos)
double nmea_ndeg2radian(double val)
int nmea_move_horz(const nmeaPOS *start_pos, nmeaPOS *end_pos, double azimuth, double distance)
double nmea_radian2ndeg(double val)
Summary GPS information from all parsed packets, used also for generating NMEA stream.
int nmea_move_horz_ellipsoid(const nmeaPOS *start_pos, nmeaPOS *end_pos, double azimuth, double distance, double *end_azimuth)
Position data in fractional degrees or radians.
double nmea_meters2dop(double meters)
double nmea_calc_pdop(double hdop, double vdop)
void nmea_pos2info(const nmeaPOS *pos, nmeaINFO *info)
void nmea_info2pos(const nmeaINFO *info, nmeaPOS *pos)