Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Pengiraan Jarak Geopi Saya Tidak Tepat?

Mengapa Pengiraan Jarak Geopi Saya Tidak Tepat?

Susan Sarandon
Susan Sarandonasal
2024-11-05 09:23:02989semak imbas

Why Is My Geopy Distance Calculation Inaccurate?

Mengira Jarak Antara Titik Menggunakan Latitud dan Longitud

Dalam percubaan untuk melaksanakan formula untuk mengira jarak berdasarkan latitud dan longitud, pengguna telah menghadapi ketidakkonsistenan dengan kod mereka. Formula yang diberikan menunjukkan hasil yang menjanjikan dalam applet, tetapi menggunakan formula yang sama dalam kod Python menghasilkan jarak yang salah.

Sebab di sebalik percanggahan ini terletak pada sifat kaedah pengiraan jarak Vincenty yang tidak digunakan lagi. Dalam versi GeoPy sebelum 1.13, jarak Vincenty ialah kaedah lalai untuk mengira jarak, manakala versi 1.13 dan ke atas telah memperkenalkan geopy.distance.distance() sebagai kaedah pilihan.

Kaedah jarak Vincenty menggunakan model ellipsoidal , seperti WGS-84, yang memberikan hasil yang lebih tepat berbanding dengan formula haversine yang menganggap Bumi sfera. Andaian ini boleh menyebabkan ralat sehingga 0.5%.

Untuk mengira jarak dengan tepat, pengguna harus menggantikan pelaksanaan formula jarak Vincenty dengan kod berikut:

import geopy.distance

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

print(geopy.distance.geodesic(coords_1, coords_2).km)

Kod ini akan hitung jarak antara dua titik menggunakan model ellipsoidal yang lebih tepat dan pulangkan hasilnya dalam kilometer.

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

Kenyataan:
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