根据经纬度计算两点球面距离

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

               
#include #include using namespace std;double EARTH_RADIUS = 6378.137;//地球半径double PI=3.1415926535;double rad(double d){   return d * PI / 180.0;}double round(double d)return floor(d + 0.5);}double get_distance(double lat1, double lng1, double lat2, double lng2){   double radLat1 = rad(lat1);   double radLat2 = rad(lat2);   double a = radLat1 - radLat2;   double b = rad(lng1) - rad(lng2);   double s = 2 * asin(sqrt(pow(sin(a/2),2) +cos(radLat1)*cos(radLat2)*pow(sin(b/2),2)));   s = s * EARTH_RADIUS;   s = round(s * 10000) / 10000;   return s;}int main(int argc, char** argv) {    double d = get_distance(40.0706,116.588717,40.070917,116.588684);    cout<1000<<"m"<<endl;}

以上代码已经过测试。


           

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

你可能感兴趣的:(根据经纬度计算两点球面距离)