Menghitung jarak dua titik koordinat dengan php dan javascript

Bismillaahirrohmaanirrohiim…

Kali ini kita akan mencoba menerapkan rumus trigonometeri dari formula haversine, yang digunakan untuk mengukur jarak antara dua titik koordinat dengan menggunakan program PHP dan juga Javascript.

Rumus haversine ini digunakan karena memperhitungkan kelengkungan bumi, sehingga metode trigonometri lah yang cocok digunakan.

Yang kita perlukan adalah dua titik koordinat yang masing-masing ada angka latitude dan longitude nya.

Berikut ini cara menghitung jarak diantara dua koordinat menggunakan PHP:

function getDistanceBetweenPoints($latitude1, $longitude1, $latitude2, $longitude2) {
  $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;//satuan miles
  $distance = $distance * 1.609344;//satuan km
  $distance = 1000 * $distance;//satuan meter
  
  return (round($distance,2)); //dalam meter
}

Cara dibawah ini menggunakan fungsi Javascript:

function getDistanceBetweenPoints(latitude1, longitude1, latitude2, longitude2) {
    let theta = longitude1 - longitude2;
    //cari dalam satuan miles
    let distance = 60 * 1.1515 * (180/Math.PI) * Math.acos(Math.sin(latitude1 * (Math.PI/180)) * Math.sin(latitude2 * (Math.PI/180)) + Math.cos(latitude1 * (Math.PI/180)) * Math.cos(latitude2 * (Math.PI/180)) * Math.cos(theta * (Math.PI/180)));
    
    distance = distance * 1.609344;//km
    distance = 1000 * distance;//meter
    
    return Math.round(distance, 2); //dalam meter
}

Nah cukup mudah bukan, silahkan dicoba sesuai dengan kebutuhan kalian.

Baca Juga:   Disable select dengan css - disable klik kanan dengan javascript

Bagikan

You May Also Like

About the Author: rasupe

Leave a Reply

Discover more from Rasupe

Subscribe now to keep reading and get access to the full archive.

Continue reading