计算两个经纬度点的实际距离
2018-12-06 07:35:01来源:博客园 阅读 ()
一、概述
因为地球是个球形,所以地球上的两个点,实际上是球面上的两个点,要计算这两个点之间的距离,不能简单的通过直角坐标系来计算。
二、计算方法
1、地球半径取近似值 6378.137km
1 /** 2 * 地球半径 3 * 6378.137km 4 */ 5 public static final double EARTH_RADIUS = 6.371229*1e6;
2、实现代码
1 /** 2 * 求地球两点距离 3 * @param sLat 4 * @param sLng 5 * @param eLat 6 * @param eLng 7 * @return 8 */ 9 public static double latitudeLongitudeDistEarth(double sLat, double sLng, double eLat, double eLng) 10 { 11 double x,y,out; 12 double PI=Math.PI; 13 14 x=(eLat-sLat)* PI * ExecutorConstant.EARTH_RADIUS * Math.cos( ((sLng+eLng)/2) * PI /180)/180; 15 y=(eLng-sLng)* PI * ExecutorConstant.EARTH_RADIUS /180; 16 out=Math.hypot(x,y); 17 return out; 18 }
以上只给出了公式,并没有详细的原理,仅供参考
参考资料:
http://mathforum.org/library/drmath/view/51879.html
http://blog.charlee.li/location-search/
http://www.cnblogs.com/softfair/p/distance_of_two_latitude_and_longitude_points.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:工作遇到的问题
- Java实现圆柱体表面积和体积的计算 2020-06-08
- 计算机基础到底是哪些基础?为什么很重要! 2020-06-08
- 短短两个月的时间面试了十几次,我终于成为无情的面试机器了 2020-06-04
- 合并有序两个单链表,合并后链表依然有序 2020-06-02
- 历时两个月,他终于如愿拿到阿里offer了!恭喜恭喜 2020-06-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash