Bagaimanakah saya boleh meningkatkan ketepatan pengiraan jarak geografi melebihi formula haversine?

Susan Sarandon
Lepaskan: 2024-11-05 11:00:02
asal
869 orang telah melayarinya

How can I improve the accuracy of geographical distance calculations beyond the haversine formula?

Pengiraan Jarak Geometrik untuk Latitud dan Longitud

Dalam pengiraan jarak berdasarkan koordinat geografi, menggunakan formula haversine telah diterima pakai secara meluas. Walau bagaimanapun, ia menganggap Bumi sfera, yang boleh menimbulkan ralat. Untuk pengiraan yang lebih tepat, adalah perlu untuk mempertimbangkan sifat ellipsoidal planet ini.

Dalam kod yang disediakan, walaupun formula haversine dilaksanakan dengan betul, isunya terletak pada ketidaktepatan andaian. Formula haversine diketahui mempunyai ralat sehingga 0.5%.

Sebagai penyelesaian, perpustakaan Python GeoPy menawarkan pengiraan jarak yang mantap dengan modul geopty.distance. Modul ini menggunakan formula jarak Vincenty, yang menggunakan model ellipsoidal seperti WGS-84 untuk ketepatan yang lebih tinggi.

Untuk melaksanakannya dalam kod anda, gunakan langkah berikut:

  1. Import geopi .modul jarak.
  2. Tentukan tupel koordinat untuk titik 1 dan titik 2.
  3. Gunakan fungsi geopy.distance.geodesic() untuk mengira jarak antara titik.

Contohnya:

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

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

distance_km = geopy.distance.geodesic(coords_1, coords_2).km

print('Distance (in kilometers):', distance_km)</code>
Salin selepas log masuk

Pendekatan ini akan memberikan pengiraan jarak yang lebih tepat berbanding dengan formula haversine.

Atas ialah kandungan terperinci Bagaimanakah saya boleh meningkatkan ketepatan pengiraan jarak geografi melebihi formula haversine?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!