Java mengimplementasikan perhitungan jarak antara dua titik lintang dan bujur, dan secara langsung mengunggah kode.
Salinan kode adalah sebagai berikut:
paket com.jttx.poi.utils;
impor com.jttx.poi.entity.point;
/**
* Dibuat oleh Louis pada 2014/9/2.
*/
Kelas Publik Geoutils {
/**
* Hitung jarak antara dua titik lintang dan bujur (unit: meter)
* @param lng1 bujur
* @param lat1 latitude
* @param lng2
* @param lat2
* @kembali
*/
GetDistance ganda statis publik (lng1 ganda, lat1 ganda, lng2 ganda, lat2 ganda) {
ganda radlat1 = math.toradians (lat1);
ganda radlat2 = math.toradians (lat2);
ganda A = radlat1 - radlat2;
Double B = Math.toradians (LNG1) - Math.toradians (LNG2);
Double S = 2 * Math.asin (Math.sqrt (Math.pow (Math.sin (A / 2), 2) + Math.cos (Radlat1)
* Math.cos (radlat2) * Math.pow (Math.sin (b / 2), 2)));
S = S * 6378137.0; // Ambil jari -jari panjang bumi dalam ellipsoid referensi standar wgs84 (unit: m)
S = Math.round (S * 10000) / 10000;
kembali S;
}
/**
* Hitung nilai TP
* @param Curpoint Poin Saat Ini
* @param terkait titik offset
* @param isGeography apakah koordinat geografis salah adalah koordinat 2D
* @return tp nilai
*/
getDirangle double statis publik (titik curo, titik terkait titik, iseografi boolean) {
Hasil ganda = 0;
if (isGeography) {
double y2 = math.toradians (terkait poin.getlat ());
double y1 = math.toradians (curoPoint.getlat ());
double alpha = math.atan2 (terkait poin.getlat () - curoint.getlat (), (terkait titik.getlng () - curoint.getlng ()) * math.cos ((y2 - y1)/ 2)); // latitude Arah dikalikan dengan cos (y2-y1/2)
Double Delta = Alpha <0? (2*Math.pi+Alpha): Alpha;
hasil = math.todegrees (delta);
}kalau tidak {
double alpha = math.atan2 (terkait poin.getlat () - curoPoint.getlat (), relatedpoint.getlng () - curoint.getlng ());
Double Delta = Alpha <0? (2*Math.pi+Alpha): Alpha;
hasil = math.todegrees (delta);
}
hasil pengembalian;
}
public static void main (string [] args) {
System.out.println (GetDistance (121.446014, 31.215937, 121.446028464238, 31.2158502442799));
}
}
Di atas adalah semua tentang artikel ini, saya harap Anda menyukainya.