計算兩個經緯度之間的距離
// 計算距離常量 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;
}</pre>
本文由用戶 javap 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!