Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Pengiraan Jarak Latitud/Longitud Saya Tidak Betul?
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>
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!