使用緯度和經度計算點之間的距離
在許多情況下,有必要確定給定兩點各自的距離緯度和經度座標。一個典型的範例涉及從給定位置定位特定半徑內的點。
要實現此目的,您可以利用數學公式來計算距離。考慮以下說明函數:
<code class="php">function get_distance($latitude1, $longitude1, $latitude2, $longitude2, $unit = 'Mi') { $theta = $longitude1 - $longitude2; $distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta))); $distance = acos($distance); $distance = rad2deg($distance); $distance = $distance * 60 * 1.1515; switch($unit) { case 'Mi': break; case 'Km': $distance = $distance * 1.609344; } return (round($distance, 2)); }</code>
或者,您可以使用SQL 查詢,使用以下公式計算半徑內的距離:
<code class="sql">SELECT *,(((acos(sin((".$latitude."*pi()/180)) * sin((`Latitude`*pi()/180))+cos((".$latitude."*pi()/180)) * cos((`Latitude`*pi()/180)) * cos(((".$longitude."- `Longitude`)* pi()/180))))*180/pi())*60*1.1515 ) as distance FROM `MyTable` HAVING distance >= ".$distance.";</code>
透過利用這些方法,您可以有效地根據經緯度座標搜尋指定半徑內的點。
以上是如何使用緯度和經度計算兩點之間的距離?的詳細內容。更多資訊請關注PHP中文網其他相關文章!