計算兩個經緯度之間的距離

javap 9年前發布 | 1K 次閱讀 Java

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