频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
通过两点经纬度,计算他们之间的距离
2011-09-15 15:16:52      个评论      
收藏   我要投稿

这个确实好久没弄过了,完全忘记了,以前在一本书上看见过,不过后来在网上搜到的,其实就是球面距离算法

 

lat是纬度,lung是经度
a=Lat1 – Lat2 为两点纬度之差  b=Lung1 -Lung2 为两点经度之差;
6378.137(KM) 为地球半径 - -@

恩,结果也是km……

另外,google的api其实已经实现好了的
Java代码 
// 计算两点距离  
private final double EARTH_RADIUS = 6378137.0;    
private double gps2m(double lat_a, double lng_a, double lat_b, double lng_b) {  
       double radLat1 = (lat_a * Math.PI / 180.0);  
       double radLat2 = (lat_b * Math.PI / 180.0);  
       double a = radLat1 - radLat2;  
       double b = (lng_a - lng_b) * Math.PI / 180.0;  
       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;  
    } 

作者“记事本……”

点击复制链接 与好友分享!回本站首页
相关TAG标签 经纬度 之间
上一篇:Java路径问题解决方案收集
下一篇:分页控件
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站