Rumah >Java >javaTutorial >Bagaimana untuk Mengira Jarak Antara Dua Titik Menggunakan Latitud, Longitud dan Altitud?
Mengira Jarak antara Dua Titik Menggunakan Latitud dan Longitud
Untuk mengira jarak antara dua titik dengan tepat berdasarkan latitud dan longitudnya, adalah penting untuk mempertimbangkan kelengkungan permukaan bumi. Kaedah Haversine, formula yang terkenal, menangani kelengkungan ini dan memberikan hasil yang tepat.
Kod Dommer
Kod Dommer menggunakan formula Haversine untuk mengira jarak. Walau bagaimanapun, ia tidak mengambil kira sebarang perbezaan ketinggian antara kedua-dua titik.
Pelaksanaan Disyorkan
Untuk trek GPS atau aplikasi dengan ketinggian merupakan faktor, pertimbangkan ini diubah suai pelaksanaan:
<code class="java">public static double distance(double lat1, double lat2, double lon1, double lon2, double el1, double el2) { final int R = 6371; // Radius of the earth double latDistance = Math.toRadians(lat2 - lat1); double lonDistance = Math.toRadians(lon2 - lon1); double a = Math.sin(latDistance / 2) * Math.sin(latDistance / 2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.sin(lonDistance / 2) * Math.sin(lonDistance / 2); double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); double distance = R * c * 1000; // convert to meters double height = el1 - el2; distance = Math.pow(distance, 2) + Math.pow(height, 2); return Math.sqrt(distance); }</code>
Kod ini menggabungkan kedua-dua formula Haversine dan perbezaan ketinggian untuk mengira jarak antara dua titik dengan tepat.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Jarak Antara Dua Titik Menggunakan Latitud, Longitud dan Altitud?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!