首页 > Web开发 > 详细

php 计算gps坐标 距离

时间:2014-02-10 19:14:12      阅读:507      评论:0      收藏:0      [点我收藏+]

在计算机或GPS上经纬度经常用度、分、秒和度.度、分.分、秒.秒的混合方式进行表示,度、分、秒间的进 制是60进制,度.度、分.分、

秒.秒的进制是100进制,换算时一定要注意。可以近似地认为每个纬度之间的距离是不变的111KM,每分间 1.85KM,每秒间31.8M。经

度间的距离随纬度增高逐渐减小,可按以下公式计算:

  经度1°长度=111.413cosφ一0.094cos3φ公里(纬度φ处)。


一般从GPS得到的数据是经纬度。经纬度有多种表示方法。
1.)  ddd.ddddd : 度 . 度的十进制小数部分(5位)例如:31.12035o
2.) ddd.mm.mmm :度 . 分 . 分的十进制小数部分(3位)例如 31o10.335′
3.) ddd.mm.ss :度 . 分 . 秒 例如 31o12’42″



关于经纬度坐标转换的方法


例:57°55’56.6″ =57+55/60+56.6/3600=57.9323888888888

 

bubuko.com,布布扣
<?php
function rad($d){
    return $d * 3.1415926535898 / 180.0;
}
function GetDistance($lat1, $lng1, $lat2, $lng2){
     $EARTH_RADIUS = 6378.137;

     $radLat1 = rad($lat1);   
     $radLat2 = rad($lat2);  
     $a = $radLat1 - $radLat2;  

     $b = rad($lng1) - rad($lng2);

     $s = 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1)*cos($radLat2)*pow(sin($b/2),2)));
     $s = $s *$EARTH_RADIUS;
     $s = round($s * 10000) / 10000;
     return $s;
}

echo GetDistance(116.480733,39.98684,117.480733,39.98684);
?>
bubuko.com,布布扣

php 计算gps坐标 距离

原文:http://www.cnblogs.com/yuyutianxia/p/3543165.html

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