码迷,mamicode.com
首页 > 其他好文 > 详细

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

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

标签:ar   os   sp   for   on   bs   as   nbsp   return   

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));
 }
 
}

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

标签:ar   os   sp   for   on   bs   as   nbsp   return   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!