首頁 > 後端開發 > Python教學 > 為什麼半正矢公式計算兩點之間的距離不準確?

為什麼半正矢公式計算兩點之間的距離不準確?

Mary-Kate Olsen
發布: 2024-11-05 04:31:02
原創
649 人瀏覽過

Why is the Haversine Formula Inaccurate for Calculating Distance Between Two Points?

使用緯度和經度計算兩點之間的距離

在您提供的程式碼中,您實作了一個公式來計算兩點之間的距離他們的緯度和經度。然而,它傳回的結果與預期值 278.546 不同。

出現這種差異是因為您的實現所基於的半正弦公式假設地球是一個完美的球體。事實上,地球是一個略扁的橢球體。為了進行更精確的計算,考慮地球的曲率和偏心率至關重要。

要準確測量橢球地球上兩點之間的距離,建議使用文森蒂距離公式。 GeoPy 在其距離模組中提供了此公式的實作。

<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)  # Output: 279.352901604 kilometers</code>
登入後複製

透過使用 Vincenty 距離公式,您可以獲得兩點之間距離的更準確表示。這種精度的提高對於需要基於位置的精確計算的應用程式來說尤其重要。

以上是為什麼半正矢公式計算兩點之間的距離不準確?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板