php通過經緯度計算直線距離

2021-10-03 08:50:30 字數 1492 閱讀 2516

<?php

/** * php通過經緯度計算直線距離 方法一

* @param $latitudea

* @param $longitudea

* @param $latitudeb

* @param $longitudeb

* @return float

*/function getdistancea ($latitudea, $longitudea, $latitudeb, $longitudeb)

/** * php通過經緯度計算直線距離 方法二

* @param $latitudea

* @param $longitudea

* @param $latitudeb

* @param $longitudeb

* @param float $radius | 地球半徑 km

* @return float|int

*/function getdistanceb ($latitudea, $longitudea, $latitudeb, $longitudeb, $radius = 6378.137)

return $dist = $dist * $radius;

}$latitudea = '31.253411';

$longitudea = '121.518998';

$latitudeb = '31.277117';

$longitudeb = '120.744587';

$latitudea = '118.121444';

$longitudea = '24.474621';

$latitudeb = '118.079475';

$longitudeb = '24.647098';

echo '地點a:緯度' . $latitudea . ' - 經度' . $longitudea;

echo php_eol;

echo '地點b:緯度' . $latitudeb . ' - 經度' . $longitudeb;

echo php_eol;

echo '方法一計算距離:' . getdistancea($latitudea, $longitudea, $latitudeb, $longitudeb) . ' km'; // 10.179080626431

echo php_eol;

echo '方法二計算距離:' . getdistanceb($latitudea, $longitudea, $latitudeb, $longitudeb) . ' km'; // 10.179080626551

/*執行結果

地點a:緯度118.121444 - 經度24.474621

地點b:緯度118.079475 - 經度24.647098

方法一計算距離:10.179080626431 km

方法二計算距離:10.179080626551 km

*/?>

給定經緯度計算距離 根據兩點經緯度計算距離

根據兩點經緯度計算距離 這些經緯線是怎樣定出來的呢?地球是在不停地繞地軸旋轉 地軸是一根通過地 球南北兩極和地球中心的 假想線 在地球中腰畫乙個與地軸垂直的大圓圈,使圈上的每一點都和南北兩 極的距離相等,這個圓圈 就叫作 赤道 在赤道的南北兩邊,畫出許多和赤道平行的圓圈,就是 緯 圈 構成這些圓圈的...

根據兩點經緯度計算直線距離

例 某企業銷售儀器,在某使用者要諮詢某儀器問題時,需要使用者提供自己的位置,系統會返回離他最近的代售點或專家。開發這個需求 1.需要將專家或代售點位置做成經緯度,放入資料庫 2.在使用者提交自己位置後,獲取經緯度 3.根據當前位置的經緯度,框定半徑為x的專家所在地範圍的經緯度資料 4.從資料庫中搜尋...

經緯度計算距離 經緯度計算,別讓數學拖你後腿

已知乙個的經度 緯度 long1,lat1 距離d 以km為單位 和方位角 以度為單位 求新的經度 緯度 long2,lat2 這個問題在大地測量學中非常受歡迎。舉個例子 點a 123.2329 32.5946 求北偏東45度方向,200千公尺處的點b long2,lat2 經緯度。在計算之前,首先...