码迷,mamicode.com
首页 > Web开发 > 详细

php有经纬度计算距离

时间:2015-05-08 19:46:23      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:

/**
*  @desc 根据两点间的经纬度计算距离
*  @param float $lat 纬度值
*  @param float $lng 经度值
*/
 function getDistance($lat1$lng1$lat2$lng2)
 {
     $earthRadius = 6367000; //approximate radius of earth in meters
 
     /*
       Convert these degrees to radians
       to work with the formula
     */
 
     $lat1 = ($lat1 * pi() ) / 180;
     $lng1 = ($lng1 * pi() ) / 180;
 
     $lat2 = ($lat2 * pi() ) / 180;
     $lng2 = ($lng2 * pi() ) / 180;
 
     /*
       Using the
       Haversine formula
 
       http://en.wikipedia.org/wiki/Haversine_formula
 
       calculate the distance
     */
 
     $calcLongitude $lng2 $lng1;
     $calcLatitude $lat2 $lat1;
     $stepOne = pow(sin($calcLatitude / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($calcLongitude / 2), 2);  $stepTwo = 2 * asin(min(1, sqrt($stepOne)));
     $calculatedDistance $earthRadius $stepTwo;
 
     return round($calculatedDistance);
 }

附一个在线计算两点距离的地址:

http://www.nhc.noaa.gov/gccalc.shtml

注:原文链接:http://my.oschina.net/ekc/blog/84106

php有经纬度计算距离

标签:

原文地址:http://www.cnblogs.com/amw863/p/4488596.html

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