首頁 >後端開發 >Python教學 >為什麼我的緯度/經度距離計算不正確?

為什麼我的緯度/經度距離計算不正確?

Susan Sarandon
Susan Sarandon原創
2024-11-06 00:00:03233瀏覽

Why is My Latitude/Longitude Distance Calculation Incorrect?

使用緯度和經度計算距離:解決編碼錯誤

在嘗試實現根據緯度和經度查找距離的公式時,用戶遇到意外結果。參考小程式中給出的公式對於所提供的測試點正確有效。然而,使用者的程式碼回傳了不準確的距離值。

程式碼檢查

檢查程式碼後發現使用者正在使用已棄用的Vincenty 距離計算方法,在GeoPy 版本1.13 中已被更準確的geopy.distance. distance() 函數取代。使用者程式碼使用的半正矢公式假設球形地球模型,並且可能引入高達 0.5% 的誤差。

使用 geopy.distance

來解決問題,建議改用更準確的 geopy.distance.geodesic() 函數來計算距離。此函數利用橢球模型,例如 WGS-84,並提供更精確的結果:

<code class="python">import geopy.distance

coords_1 = (52.2296756, 21.0122287)
coords_2 = (52.406374, 16.9251681)

distance = geopy.distance.geodesic(coords_1, coords_2).km
print(distance)</code>

使用修改後的程式碼,精確計算出兩點之間的距離為 279.352 公里。

以上是為什麼我的緯度/經度距離計算不正確?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn