Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Pengiraan Jarak Latitud/Longitud Saya Tidak Betul?

Mengapa Pengiraan Jarak Latitud/Longitud Saya Tidak Betul?

Susan Sarandon
Lepaskan: 2024-11-06 00:00:03
asal
279 orang telah melayarinya

Why is My Latitude/Longitude Distance Calculation Incorrect?

Mengira Jarak Menggunakan Latitud dan Longitud: Menangani Ralat Pengekodan

Semasa cuba melaksanakan formula untuk mencari jarak berdasarkan latitud dan longitud, pengguna menemui hasil yang tidak dijangka. Formula, seperti yang diberikan dalam applet yang dirujuk, berfungsi dengan betul untuk mata ujian yang disediakan. Walau bagaimanapun, kod pengguna mengembalikan nilai jarak yang tidak tepat.

Pemeriksaan Kod

Setelah meneliti kod, didapati bahawa pengguna menggunakan kaedah pengiraan jarak Vincenty yang telah ditamatkan. , yang telah digantikan dengan fungsi geopy.distance.distance() yang lebih tepat dalam GeoPy versi 1.13. Formula haversine, yang digunakan oleh kod pengguna, menganggap model bumi sfera dan boleh memperkenalkan ralat sehingga 0.5%.

Menggunakan geopy.distance

Untuk menyelesaikan isu ini, adalah disyorkan untuk beralih kepada menggunakan fungsi geopy.distance.geodesic() yang lebih tepat untuk mengira jarak. Fungsi ini menggunakan model ellipsoidal, seperti WGS-84, dan memberikan hasil yang lebih tepat:

<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>
Salin selepas log masuk

Dengan kod yang disemak, jarak antara dua titik dikira dengan tepat sebagai 279.352 kilometer.

Atas ialah kandungan terperinci Mengapa Pengiraan Jarak Latitud/Longitud Saya Tidak Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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