首页 > 其他 > 详细

根据地球上两个坐标点,计算出距离

时间:2014-11-24 17:02:32      阅读:541      评论:0      收藏:0      [点我收藏+]

public class MapDistance {


 private final static double PI = 3.14159265358979323; // 圆周率
 private final static double R = 6371229; // 地球的半径

 public static double getDistance(double longt1, double lat1, double longt2,
   double lat2) {
  double x, y, distance;
  x = (longt2 - longt1) * PI * R
    * Math.cos(((lat1 + lat2) / 2) * PI / 180) / 180;
  y = (lat2 - lat1) * PI * R / 180;
  //System.out.println((Math.hypot(x, y) / 1000));
  //distance = Double.parseDouble(String.format("%.0f", Math.hypot(x, y) / 1000));
  distance = (Math.hypot(x, y) / 1000);
  return distance;
 }

 public static void main(String[] args) {
 
  System.out.println(getDistance(40.137004,116.394765, 116.337795,39.977523));
 }
 
}

根据地球上两个坐标点,计算出距离

原文:http://www.cnblogs.com/MyBeN/p/4118904.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!