Jireh程序猿的那些事 Jireh程序猿的那些事

记录分享生活、程序、信息的精彩人生

目录
计算两个经纬之间的距离
/    

计算两个经纬之间的距离


private static double getRad(double d) { return d * Math.PI / 180.0; } /** * 两坐标(经纬度)之间距离计算 * GD/BD地图采用此算法 * @param startLng 起点坐标经度 * @param startLat 起点坐标纬度 * @param endLng 终点坐标经度 * @param endLat 终点坐标纬度 * @return 起点坐标与终点坐标的距离 单位:m */ public static double getGreatCircleDistance(double startLng, double startLat, double endLng, double endLat) { double radLat1 = getRad(startLat); double radLat2 = getRad(endLat); double dy = radLat1 - radLat2; // a double dx = getRad(startLng) - getRad(endLng); // b double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(dy / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(dx / 2), 2))); s = s * EARTH_RADIUS; s = Math.round(s * 10000) / 10000.0; return s; }

如果觉得这篇文章不错的话,请我喝一杯 咖啡☕吧
标题:计算两个经纬之间的距离
作者:Jireh
地址:https://jireh.xyz/articles/2020/03/10/1583805508263.html
本作品由 Jireh 采用 署名 – 非商业性使用 – 禁止演绎 4.0 国际许可协议进行许可,转载请注明出处。