加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
common.h 945 Bytes
一键复制 编辑 原始数据 按行查看 历史
pengrui_2009 提交于 2021-02-27 23:06 . Feature:add the sence and view.
#ifndef COMMON_H
#define COMMON_H
#include <math.h>
//#define RAD(d) ((d)*PI/180.0)
/**
* @brief EARTH RADIUS unit: 1km
*/
const double EARTH_RADIUS = 6371.004;
const double PI = 3.1415926;
class Common
{
public:
static double DEGREE(double d)
{
return ((d) * 180 / PI);
}
static double RADIAN(double d)
{
return ((d)*PI/180.0);
}
static float Distance(double lat1, double lng1, double lat2, double lng2)
{
float s;
double a,b;
double radLat1,radLat2,radLng1,radLng2;
radLat1 = RADIAN(lat1);
radLat2 = RADIAN(lat2);
radLng1 = RADIAN(lng1);
radLng2 = RADIAN(lng2);
a = radLat1 - radLat2;//radLat1 - radLat2;
b = radLng1 - radLng2;//RAD(lng1) - RAD(lng2);
s = 2 * asin(sqrt(pow(sin(a/2),2) + cos(lat1)*cos(lat2)*pow(sin(b/2),2)));
s = s * EARTH_RADIUS;
return s;
}
};
#endif // COMMON_H
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化