Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Menghitung jarak antar dua lokasi berbeda berdasarkan latitude dan longitude

Dua lokasi berbeda misal kota Jakarta dengan latitude longitude -6.211544,106.845172 , dan kota bogor dengan latitude longitude -6.588217,106.792946 .



distance / jarak bisa diukur dengan memanfaatkan fungsi sinus cosinus lingkaran , berdasarkan koordinat latitude longitude ditarik garis lurus dari misal kota Jakarta menuju bogor (tanpa memperhitungkan kondisi geologis)

Rumusan perhitungan jarak antar dua lokasi yang berbeda ini bisa diterapkan juga pada bahasa pemrograman yang lain, misal di aplikasi mobile, bisa kita combine dengan get GPS current location terhadap lokasi targetnya. cara menghitungnya, gunakan fungsi dibawah.
function getDistanceBetween($latitude1, $longitude1, $latitude2, $longitude2, $unit = 'Mi') 
{
$theta = $longitude1 - $longitude2;
$distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));
$distance = acos($distance);
$distance = rad2deg($distance);
$distance = $distance * 60 * 1.1515;
switch($unit)
{
case 'Mi': break;
case 'Km' : $distance = $distance * 1.609344;
}
return (round($distance,2));
}
Contoh , hitung jarak antara jakarta dan bogor berdasarkan latitude longitude masing2 kota.


echo "Jarak jakarta bogor = ".getDistanceBetween(-6.211544, 106.845172, -6.588217, 106.792946, 'Km')." Km";

maka, kita akan mendapatkan hasil :

Jarak jakarta bogor = 42.28 Km 

Sekedar share dari artikel di blog gw. 

Tanggapan

Sign In or Register to comment.