首页 > 编程知识 正文

不同经度不同纬度的球面距离,球面坐标系两点距离

时间:2023-05-03 16:28:50 阅读:188435 作者:3867

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

                #include <iostream>#include <cmath>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<<d*1000<<"m"<<endl;}

以上代码已经过测试。


           

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。