常見問題01:計算地球上兩個點的距離
原始碼:
場景
希望找到地球上兩個座標之間的距離
問題
由於地球不是平的,使用一個標準的勾股定理公式並不能得到兩個位置之間的準確距離。
解決方案
function sphere_distance($lat1, $lon1, $lat2, $lon2, $radius = 6378.135) { $rad = floatval(M_PI/180.0); $lat1 = floatval($lat1) * $rad; $lon1 = floatval($lon1) * $rad; $lat2 = floatval($lat2) * $rad; $lon2 = floatval($lon2) * $rad; $theta = $lon2 - $lon1; $dist = acos(sin($lat1) * sin($lat2) + cos($lat1) * cos($lat2) * cos($theta)); if($dist說明
sphere_distance()可以接受另一個球半徑作為第五個引數(可選),這允許你計算其它星球上兩點間的距離。
參考
《PHP經典例項》 David Sklar & Adam Trachtenberg
作者:Nosee123
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1727/viewspace-2810840/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 計算地圖中兩點之間的距離地圖
- C語言:使用函式計算兩點間的距離C語言函式
- 根據經緯度計算兩點之間的距離的公式公式
- JAVA計算兩經緯度間的距離Java
- Php兩點地理座標距離的計算方法和具體程式碼PHP
- 根據兩點經緯度計算距離和角度——java實現Java
- 定義Point類,採用友元類的方式計算兩個點之間的水平和垂直距離
- 通過sql 計算兩經緯度之間的距離SQL
- 簡單計算給定兩個給定經緯度座標的距離
- 微信小程式——計算2點之間的距離微信小程式
- java 根據兩個位置的經緯度,來計算兩地的距離 經緯度處理Java
- 3-點的座標及最遠距離問題
- grub常見的幾個問題
- OpenStack及雲端計算(面試)常見問題面試
- Levenshtein:計算字串的編輯距離字串
- 常見的雲端計算安全問題以及如何解決
- milvus 使用 l2 歐式距離計算向量的距離,計算出來的距離的最大值是多少?
- 中科三方:盤點域名管理常見問題(上)
- 域名解析常見問題(上)
- 檔案上傳常見問題
- PyTorch 實戰:計算 Wasserstein 距離PyTorch
- python爬蟲常見的那點問題!Python爬蟲
- MaxCompute計費常見問題
- 入行 AI 的幾個常見問題AI
- 雲端計算面試常見問題,怎麼理解shell?面試
- 關於ImageView的幾個常見問題View
- 四個常見的Linux面試問題Linux面試
- 畢業設計常見問題
- 網頁設計常見問題網頁
- java 經緯度處理、計算兩地的距離、獲取當前一定距離以內的經緯度值Java
- 常見問題
- [題解]逃離地球
- python常見面試題講解(二)計算字元個數Python面試題字元
- 難度2:素數距離問題
- 雲端計算面試常見問題:Linux目錄結構面試Linux
- Laravel 個人開發常見問題Laravel
- 28、(向量)歐幾里得距離計算
- 10個常見的資料庫安全問題資料庫