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

Mengapa Pengiraan Jarak Geopi Saya Tidak Tepat?

Susan Sarandon
Lepaskan: 2024-11-05 09:23:02
asal
1107 orang telah melayarinya

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

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!

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