计算两个经纬度之间的距离
2018-07-20 来源:open-open
// 计算距离常量 private static final double EARTH_RADIUS = 6378137; /** * 根据两点间经纬度坐标(double值),计算两点间距离,单位为米 * * @param x1 * @param y1 * @param x2 * @param y2 * @return */ public static double getDistance(double x1, double y1, double x2, double y2) { double radLat1 = rad(y1); double radLat2 = rad(y2); double a = radLat1 - radLat2; double b = rad(x1) - rad(x2); double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2))); s = s * EARTH_RADIUS; s = Math.round(s * 10000) / 10000; return s; } private static double rad(double d) { return d * Math.PI / 180.0; }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:C++算法之A*算法
下一篇:C++中数字与字符串之间的转换
最新资讯
热门推荐