加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP例子计算经纬坐标间的距离

发布时间:2022-06-24 13:10:50 所属栏目:PHP教程 来源:互联网
导读:PHP计算两组经纬度坐标之间的距离 定义 define(PI,3.1415926535898); define(EARTH_RADIUS,6378.137); 计算两组经纬度坐标 之间的距离 /** * 计算两组经纬度坐标 之间的距离 * params :lat1 纬度1; lng1 经度1; lat2 纬度2; lng2 经度2; len_type (1
  PHP计算两组经纬度坐标之间的距离
 
  定义π
 
  define('PI',3.1415926535898);
 
  define('EARTH_RADIUS',6378.137);
 
  计算两组经纬度坐标 之间的距离
 
  /**
  
  * 计算两组经纬度坐标 之间的距离
  
  * params :lat1 纬度1; lng1 经度1; lat2 纬度2; lng2 经度2; len_type (1:m or 2:km);
  
  * return m or km
  
  */
  
  function GetDistance($lat1, $lng1, $lat2, $lng2, $len_type = 1, $decimal = 2) {
  
      $radLat1 = $lat1 * PI / 180.0;
  
      $radLat2 = $lat2 * PI / 180.0;
  
      $a = $radLat1 - $radLat2;
  
      $b = ($lng1 * PI / 180.0) - ($lng2 * PI / 180.0);
  
      $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 * 1000);
  
      if ($len_type > 1)
  
      {
  
      $s /= 1000;
  
      }
  
      return round($s, $decimal);
  
  }
  获取两个坐标之间的距离
 
  $a =  GetDistance(20.035556,110.33269,20.046521,110.343057);
 
  echo $a;。
 
 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读