最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

//兩點間距離比較近
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);//輸出距離/米 

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

相關文章

  • Thinkphp5實現(xiàn)Redis數(shù)據(jù)緩存的基本步驟

    Thinkphp5實現(xiàn)Redis數(shù)據(jù)緩存的基本步驟

    在ThinkPHP 5中,你可以使用Redis作為數(shù)據(jù)緩存的解決方案,Redis是一個開源的內(nèi)存數(shù)據(jù)結構存儲系統(tǒng),它可以用作數(shù)據(jù)庫、緩存和消息中介,下面是在ThinkPHP 5中實現(xiàn)Redis數(shù)據(jù)緩存的基本步驟,需要的朋友可以參考下
    2024-05-05
  • PHP開發(fā)api接口安全驗證的實例講解

    PHP開發(fā)api接口安全驗證的實例講解

    下面小編就為大家分享一篇PHP開發(fā)api接口安全驗證的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • dedecms中使用php語句指南

    dedecms中使用php語句指南

    dedecms是廣大站長們比較喜歡也經(jīng)常使用的一款文章管理系統(tǒng),使用方便,今天我們來研究下dedecms中如何使用php語句,有相同需求的小伙伴們可要看仔細了。
    2014-11-11
  • 在Laravel5中正確設置文件權限的方法

    在Laravel5中正確設置文件權限的方法

    這篇文章主要給大家介紹了關于如何在Laravel5中正確設置文件權限的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Laravel5具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • 在云虛擬主機部署thinkphp5項目的步驟詳解

    在云虛擬主機部署thinkphp5項目的步驟詳解

    thinkphp官網(wǎng)在去年的時候發(fā)布了tp的顛覆版本thinkphp5,tp5確實比之前的版本好用了很多,那么下面這篇文章就來給大家介紹關于在云虛擬主機部署thinkphp5項目的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12
  • 使用composer命令加載vendor中的第三方類庫 的方法

    使用composer命令加載vendor中的第三方類庫 的方法

    這篇文章主要介紹了使用composer命令加載vendor中的第三方類庫的方法,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • PHP數(shù)組內(nèi)存利用率低和弱類型詳細解讀

    PHP數(shù)組內(nèi)存利用率低和弱類型詳細解讀

    本篇文章主要介紹了PHP數(shù)組內(nèi)存利用率低和弱類型詳細解讀,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • 基于PHP實現(xiàn)用戶注冊登錄功能

    基于PHP實現(xiàn)用戶注冊登錄功能

    本課程通過使用PHP及Web前端技術實現(xiàn)一個網(wǎng)站注冊登錄入口頁面,學習并實踐PHP編程等,有興趣的同學可以參考一下。
    2016-10-10
  • thinkphp3.2.2前后臺公用類架構問題分析

    thinkphp3.2.2前后臺公用類架構問題分析

    這篇文章主要介紹了thinkphp3.2.2前后臺公用類架構問題,以實例形式較為詳細的分析了前后臺公用類的簡單調(diào)用方法,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • PHP轉換Excel中日期和時間類型的處理問題

    PHP轉換Excel中日期和時間類型的處理問題

    在實際應用中PHP讀取的Excel文件的日期無法直接使用,會出現(xiàn)的一系列問題,本文給大家介紹PHP轉換Excel中日期和時間類型的處理問題,感興趣的朋友一起看看吧
    2023-10-10

最新評論

临夏市| 大冶市| 隆德县| 思茅市| 阜宁县| 赤壁市| 灵川县| 嘉义县| 临江市| 大名县| 嘉义市| 麦盖提县| 龙川县| 鲁山县| 永年县| 乐山市| 隆回县| 南昌县| 东台市| 黎平县| 舒兰市| 大竹县| 龙江县| 碌曲县| 安福县| 右玉县| 陆河县| 瑞安市| 红河县| 泰和县| 金秀| 荣成市| 洛浦县| 晋中市| 玉山县| 卓资县| 平度市| 久治县| 寿宁县| 平阴县| 灵宝市|