Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengira Jarak dan Koordinat Kotak Sempadan Menggunakan Latitud dan Longitud di Jawa?

Bagaimana untuk Mengira Jarak dan Koordinat Kotak Sempadan Menggunakan Latitud dan Longitud di Jawa?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-02 05:42:29519semak imbas

How to Calculate Distance and Bounding Box Coordinates Using Latitude and Longitude in Java?

Mengira Jarak dan Koordinat Kotak Sempadan di Jawa Menggunakan Titik Lat/Panjang

Mengukur jarak antara dua titik latitud dan longitud dan mencipta sempadan kotak di sekeliling titik tertentu adalah tugas biasa dalam pemetaan dan aplikasi berasaskan lokasi. Untuk menangani keperluan ini, pembangun Java boleh memanfaatkan formula Haversine untuk mengira jarak bulatan yang hebat dengan tepat.

Mengira Jarak

Formula Haversine, persamaan matematik, boleh menentukan dengan tepat jarak antara dua titik di permukaan bumi. Berikut ialah pelaksanaan formula Java:

<code class="java">public static double distFrom(double lat1, double lng1, double lat2, double lng2) {
    double earthRadius = 3958.75; // miles (or 6371.0 kilometers)
    double dLat = Math.toRadians(lat2-lat1);
    double dLng = Math.toRadians(lng2-lng1);
    double sindLat = Math.sin(dLat / 2);
    double sindLng = Math.sin(dLng / 2);
    double a = Math.pow(sindLat, 2) + Math.pow(sindLng, 2)
            * Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2));
    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
    double dist = earthRadius * c;

    return dist;
    }</code>

Mencipta Kotak Sempadan

Dengan jarak yang dikira, kotak sempadan boleh dibuat dengan menentukan titik yang berada di utara dan timur titik yang diberikan mengikut jarak yang ditentukan. Pseudokod berikut menunjukkan proses ini:

// Assuming distance is in miles

// Calculate North and East edges
northEdge = lat + (distance / 69);  // Divide by 69 to convert to degrees
eastEdge = lng + (distance / 53);   // Divide by 53 to convert to degrees

// Create bounding box coordinates
boundingBox = [lat, lng, northEdge, eastEdge]

Atas ialah kandungan terperinci Bagaimana untuk Mengira Jarak dan Koordinat Kotak Sempadan Menggunakan Latitud dan Longitud di Jawa?. 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