码上敲享录 > java入门知识分享 > java计算两个经纬度之间的距离

java计算两个经纬度之间的距离

上一章章节目录下一章 2021-07-01已有808人阅读 评论(0)

java计算两个经纬度之间的距离


解决方法:

//lat1第一点纬度,lng1第一点经度,lat2第二点纬度,lng2第二点经度,

public static double getDistance(Double lat1, Double lng1, Double lat2, Double lng2) {

       double EARTH_RADIUS = 6371393;//地球平均半径,单位米

       // A经弧度

       double radiansAX = Math.toRadians(lng1);

       // A纬弧度

       double radiansAY = Math.toRadians(lat1);

       // B经弧度

       double radiansBX = Math.toRadians(lng2);

       // B纬弧度

       double radiansBY = Math.toRadians(lat2);

       // 公式中“cosβ1cosβ2cos(α1-α2)+sinβ1sinβ2”的部分,得到∠AOB的cos值

       double cos = Math.cos(radiansAY) * Math.cos(radiansBY) * Math.cos(radiansAX - radiansBX)

               + Math.sin(radiansAY) * Math.sin(radiansBY);

       // 反余弦值

       double acos = Math.acos(cos);

       // 返回两点的距离, 米

       return EARTH_RADIUS * acos;

   }


向大家推荐《Activiti工作流实战教程》:https://xiaozhuanlan.com/activiti
0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交