Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengira Jarak Antara Dua Titik Latitud dan Longitud dengan Tepat?

Bagaimanakah Saya Boleh Mengira Jarak Antara Dua Titik Latitud dan Longitud dengan Tepat?

Linda Hamilton
Linda Hamiltonasal
2025-01-03 02:59:43400semak imbas

How Can I Accurately Calculate the Distance Between Two Latitude and Longitude Points?

Mengira Jarak Antara Latitud dan Longitud

Apabila mengira jarak antara dua GeoCoordinates, adalah penting untuk memastikan ketepatan dan konsistensi dengan aplikasi lain. Untuk mengelakkan percanggahan yang dihadapi menggunakan kaedah pengiraan jarak tersuai, pertimbangkan untuk menggunakan perpustakaan kelas yang boleh dipercayai.

Memperkenalkan Kelas GeoCoordinate untuk Pengiraan Jarak

Kelas GeoCoordinate dalam Rangka Kerja .NET 4 dan ke atas menyediakan kaedah yang mudah dan tepat untuk mengira jarak antara dua koordinat: GetDistanceTo. Kaedah ini mengambil objek GeoCoordinate sasaran sebagai parameternya dan mengembalikan jarak dalam meter.

var sCoord = new GeoCoordinate(sLatitude, sLongitude);
var eCoord = new GeoCoordinate(eLatitude, eLongitude);
var distance = sCoord.GetDistanceTo(eCoord);

Berbanding dengan pengiraan tersuai yang anda nyatakan, kelas GeoCoordinate menawarkan pendekatan yang lebih halus dan piawai, memastikan konsistensi dengan apl lain menggunakan kelas ini.

Penukaran kepada Batu

Untuk menukar jarak dari meter kepada batu, hanya bahagikan jarak dengan 1609.34, anggaran faktor penukaran antara meter dan batu.

var distanceInMiles = distance / 1609.34;

Dengan menggabungkan kelas GeoCoordinate dan mengambil kira penukaran yang sesuai kepada batu, anda boleh meningkatkan ketepatan dan ketekalan pengiraan jarak anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Jarak Antara Dua Titik Latitud dan Longitud dengan 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