欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php如何計算兩坐標點之間的距離

 更新時間:2018年12月29日 16:17:41   作者:王大刀  
這篇文章主要為大家詳細介紹了php如何計算兩坐標點之間的距離,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了php計算兩坐標點之間距離的實現(xiàn)代碼,供大家參考,具體內容如下

地球上兩個點之間,可近可遠。

當比較近的時候,可以忽略球面因素,當做是一個平面,這樣就有了兩種計算方法。

//兩點間距離比較近
function getDistance($lat1, $lng1, $lat2, $lng2) 
{ 
 $earthRadius = 6367000; //地球半徑m

 $lat1 = ($lat1 * pi() ) / 180; 
 $lng1 = ($lng1 * pi() ) / 180; 

 $lat2 = ($lat2 * pi() ) / 180; 
 $lng2 = ($lng2 * pi() ) / 180; 

 $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); 
} 

//兩點間距離比較遠
function getLongDistance($lat1, $lng1, $lat2,$lng2,$radius = 6378.137)
{
 $rad = floatval(M_PI / 180.0);

 $lat1 = floatval($lat1) * $rad;
 $lng1 = floatval($lng1) * $rad;
 $lat2 = floatval($lat2) * $rad;
 $lng2 = floatval($lng2) * $rad;

 $theta = $lng2 - $lng1;

 $dist = acos(sin($lat1) * sin($lat2) + cos($lat1) * cos($lat2) * cos($theta));

 if ($dist < 0 ) {
  $dist += M_PI;
 }
 return $dist = $dist * $radius;
}

小編再為大家分享一段php坐標之間距離的求解代碼:

 <?php 
 define('EARTH_RADIUS', 6378.137);//地球半徑 
 define('PI', 3.1415926); 
 /** 
 * 計算兩組經(jīng)緯度坐標 之間的距離 
 * params :lat1 緯度1; lng1 經(jīng)度1; lat2 緯度2; lng2 經(jīng)度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); 
 } 
 echo GetDistance(39.908156,116.4767, 39.908452,116.450479, 1);//輸出距離/米 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • PHP采集類Snoopy抓取圖片實例

    PHP采集類Snoopy抓取圖片實例

    這篇文章主要介紹了PHP采集類Snoopy抓取圖片實例,Snoopy是一個強大的PHP采集類,可以用來開發(fā)一些采集程序和小偷程序,需要的朋友可以參考下
    2014-06-06
  • 利用中國天氣預報接口實現(xiàn)簡單天氣預報

    利用中國天氣預報接口實現(xiàn)簡單天氣預報

    這篇文章主要介紹了利用中國天氣預報接口實現(xiàn)簡單天氣預報的示例,大家參考使用吧
    2014-01-01
  • 解決laravel查詢構造器中的別名問題

    解決laravel查詢構造器中的別名問題

    今天小編就為大家分享一篇解決laravel查詢構造器中的別名問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • Laravel5.1 框架模型遠層一對多關系實例分析

    Laravel5.1 框架模型遠層一對多關系實例分析

    這篇文章主要介紹了Laravel5.1 框架模型遠層一對多關系,結合實例形式分析了laravel5.1框架模型遠層一對多關系相關原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下
    2020-01-01
  • Yii框架的redis命令使用方法簡單示例

    Yii框架的redis命令使用方法簡單示例

    這篇文章主要介紹了Yii框架的redis命令使用方法,結合簡單實例形式分析了Yii框架redis命令相關的過期時間設置、數(shù)據(jù)存儲、添加、刪除、輸出等操作技巧,需要的朋友可以參考下
    2019-10-10
  • php cookie用戶登錄的詳解及實例代碼

    php cookie用戶登錄的詳解及實例代碼

    php實現(xiàn)用戶登錄驗證有很多方法,最常見的方法是session方法和cookie方法,session方法是服務器登錄驗證方法,cookie方法是客戶端登錄驗證方法,需要的朋友可以參考下
    2017-01-01
  • php reset() 函數(shù)指針指向數(shù)組中的第一個元素并輸出實例代碼

    php reset() 函數(shù)指針指向數(shù)組中的第一個元素并輸出實例代碼

    在php中,當我們使用next函數(shù)或end函數(shù)將數(shù)組內部針指指向數(shù)組最后一個元素的時候,如果再需要將內部指針指向第一個元素,可以使用reset() 函數(shù)來實現(xiàn),本文章向大家講解reset() 函數(shù)的基本語法及使用實例,需要的朋友可以參考下
    2016-11-11
  • 使用PHP開發(fā)留言板功能

    使用PHP開發(fā)留言板功能

    這篇文章主要介紹了使用PHP開發(fā)留言板功能,本文通過一段代碼給大家講解的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • thinkPHP內置字符串截取函數(shù)用法詳解

    thinkPHP內置字符串截取函數(shù)用法詳解

    這篇文章主要介紹了thinkPHP內置字符串截取函數(shù)用法,結合實例形式分析了thinkPHP內置的字符串截取函數(shù)功能與具體使用方法,以及針對無法添加省略號的源碼修改技巧,需要的朋友可以參考下
    2016-11-11
  • thinkphp實現(xiàn)分頁顯示功能

    thinkphp實現(xiàn)分頁顯示功能

    這篇文章主要為大家詳細介紹了thinkphp實現(xiàn)分頁顯示功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評論