Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Formula Haversine Tidak Tepat untuk Mengira Jarak Antara Dua Mata?

Mengapa Formula Haversine Tidak Tepat untuk Mengira Jarak Antara Dua Mata?

Mary-Kate Olsen
Lepaskan: 2024-11-05 04:31:02
asal
648 orang telah melayarinya

Why is the Haversine Formula Inaccurate for Calculating Distance Between Two Points?

Mengira Jarak Antara Dua Titik Menggunakan Latitud dan Longitud

Dalam kod yang anda berikan, anda melaksanakan formula untuk mengira jarak antara dua titik berdasarkan pada latitud dan longitud mereka. Walau bagaimanapun, hasil yang dipulangkan berbeza daripada nilai jangkaan 278.546.

Percanggahan ini timbul kerana formula Haversine, yang menjadi asas pelaksanaan anda, menganggap bumi adalah sfera yang sempurna. Pada hakikatnya, bumi adalah ellipsoid dengan bentuk yang sedikit rata. Untuk pengiraan yang lebih tepat, adalah penting untuk mempertimbangkan kelengkungan dan kesipian bumi.

Untuk mengukur jarak antara dua titik pada bumi elips dengan tepat, disyorkan untuk menggunakan formula jarak Vincenty. GeoPy menyediakan pelaksanaan formula ini dalam modul jaraknya.

<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)  # Output: 279.352901604 kilometers</code>
Salin selepas log masuk

Dengan menggunakan formula jarak Vincenty, anda boleh memperoleh perwakilan jarak yang lebih tepat antara dua titik. Ketepatan yang dipertingkatkan ini amat penting untuk aplikasi yang memerlukan pengiraan berasaskan lokasi yang tepat.

Atas ialah kandungan terperinci Mengapa Formula Haversine Tidak Tepat untuk Mengira Jarak Antara Dua Mata?. 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