设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-06-24 12:56 所属栏目:121 来源:互联网
导读:PHP计算两组经纬度坐标之间的距离 定义 define(PI,3.1415926535898); define(EARTH_RADIUS,6378.137); 计算两组经纬度坐标 之间的距离 /** * 计算两组经纬度坐标 之间的距离 * params :lat1 纬度1; lng1 经度1; lat2 纬度2; lng2 经度2; len_type (1:m
  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;。
 
 

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读