Java 计算两个GPS坐标点之间的距离
两个GPS坐标点之间的距离怎么计算呢?用java代码怎么实现呢?简单分享下, 希望能给大家带来帮助!!
操作方法
- 01
1. Lat1 Lung1 表示A点经纬度,Lat2 Lung2 表示B点经纬度; 2. a=Lat1 – Lat2 为两点纬度之差 b=Lung1 -Lung2 为两点经度之差; 3. 6378.137为地球半径,单位为千米; 计算出来的结果单位为千米。具体代码实现如下:
- 02
private const double EARTH_RADIUS = 6378.137;private static double rad(double d){ return d * Math.PI / 180.0;}public static double GetDistance(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 * 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;}
赞 (0)