使用緯度和經度計算點之間的距離
在嘗試實現基於緯度和經度計算距離的公式時,用戶有遇到與他們的代碼不一致的情況。給定的公式在小程式中顯示了有希望的結果,但在 Python 程式碼中應用相同的公式會產生不正確的距離。
這種差異背後的原因在於 Vincenty 距離計算方法的棄用性質。在 GeoPy 1.13 之前的版本中,Vincenty 距離是計算距離的預設方法,而 1.13 及更高版本則引入了 geopy.distance.distance() 作為首選方法。
Vincenty 距離方法利用橢圓體模型,例如 WGS-84,與假設地球為球形的半正矢公式相比,它提供了更準確的結果。此假設可能導致高達 0.5% 的誤差。
要精確計算距離,使用者應使用以下程式碼取代Vincenty 距離公式的實作:
import geopy.distance coords_1 = (52.2296756, 21.0122287) coords_2 = (52.406374, 16.9251681) print(geopy.distance.geodesic(coords_1, coords_2).km)
此程式碼將使用更精確的橢球模型計算兩點之間的距離,並以公里為單位傳回結果。
以上是為什麼我的 Geopy 距離計算不準確?的詳細內容。更多資訊請關注PHP中文網其他相關文章!