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

计算两组经纬度座标间的距离

时间:2015-05-28 19:33:28      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

 1 /**
 2  * 计算两组经纬度座标间的距离
 3  * params:lat1纬度1,lng1经度1,lat2纬度2,lng2经度2,len_type(1:m|2:km);
 4  * Echo GetDistance($lat1,$lng1,$lat2,$lng2).‘米‘;
 5  */
 6 function GetDistance($lat1,$lng1,$lat2,$lng2,$len_type=1,$decimal=2){
 7     $EARTH_RADIUS=6378.137;     //地球半径,假设地球是规则的球体
 8     $PI=3.1415926;              //圆周率
 9     $radLat1 = $lat1 * $PI / 180.0;
10     $radLat2 = $lat2 * $PI / 180.0;
11     $a       = $radLat1 - $radLat2;
12     $b       = ($lng1 * $PI / 180.0) - ($lng2 * $PI / 180.0);
13     $s = 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1) * cos($radLat2) * pow(sin($b/2),2)));
14     $s = $s * $EARTH_RADIUS;
15     $s = round($s*1000);
16     if($len_type>1){
17        $s /= 1000;
18     }
19     return round($s,$decimal);
20 }

 

计算两组经纬度座标间的距离

标签:

原文地址:http://www.cnblogs.com/719907411hl/p/4536507.html

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