📄 mymath.h
字号:
#ifndef __NMEA_MATH_H__#define __NMEA_MATH_H__#include "info.h"#define RAND_MAX 100#define NMEA_PI (3.141592653589793) /**< PI value */#define NMEA_PI180 (NMEA_PI / 180) /**< PI division by 180 */#define NMEA_EARTHRADIUS_KM (6378) /**< 地球半径km */#define NMEA_EARTHRADIUS_M (NMEA_EARTHRADIUS_KM * 1000) /**< 地球半径m */#define NMEA_EARTH_SEMIMAJORAXIS_M (6378137.0) /**< 地球主轴长度WGS84 */#define NMEA_EARTH_SEMIMAJORAXIS_KM (NMEA_EARTHMAJORAXIS_KM / 1000) /**< 地球主轴长度单位km WGS 84 */#define NMEA_EARTH_FLATTENING (1 / 298.257223563) /**< 地球平度 WGS 84 */#define NMEA_DOP_FACTOR (5) /**< DOP系数 */double nmea_degree2radian(double val);double nmea_radian2degree(double val);/* * NDEG (NMEA degree) */double nmea_ndeg2degree(double val);double nmea_degree2ndeg(double val);double nmea_ndeg2radian(double val);double nmea_radian2ndeg(double val);/* * DOP */double nmea_calc_pdop(double hdop, double vdop);double nmea_dop2meters(double dop);double nmea_meters2dop(double meters);/* * positions work */void nmea_info2pos(const nmeaINFO *info, nmeaPOS *pos);void nmea_pos2info(const nmeaPOS *pos, nmeaINFO *info);double nmea_distance( const nmeaPOS *from_pos, const nmeaPOS *to_pos );double nmea_distance_ellipsoid( const nmeaPOS *from_pos, const nmeaPOS *to_pos, double *from_azimuth, double *to_azimuth );int nmea_move_horz( const nmeaPOS *start_pos, nmeaPOS *end_pos, double azimuth, double distance );int nmea_move_horz_ellipsoid( const nmeaPOS *start_pos, nmeaPOS *end_pos, double azimuth, double distance, double *end_azimuth );#endif /* __NMEA_MATH_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -