Categories: JavascriptPHP

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.

Bagikan
rasupe

Recent Posts

Kode css yang berguna

Bismillaahirrohmaanirrohiim... Berikut ini kumpulan css yang berguna, untuk mengingat saja. Input atau button delay saat…

24 hours ago

Grouping warna pada tabel dengan PHP

Bismillaahirrohmaanirrohiim... Berikut ini cara grouping warna baris pada tabel dengan PHP, dimana jika ada kode…

1 week ago

CMS Website Desain Interior – PHP MySQL

CMS (Content Management System) Web untuk Desain Interior adalah solusi lengkap untuk mempresentasikan bisnis desain…

3 weeks ago

Source code Template website sekolah dengan react js

Bismillaahirrohmaanirrohiim... Berikut ini source code yang dapat dimodifikasi untuk membuat front end website sekolah dengan…

1 month ago

Subdomain pada cyberpanel tidak dapat diakses

Bismillaahirrohmaanirrohiim... Jika domain dan sub domainnya berada dalam satu vps cyberpanel, maka seringkali jadi tidak…

2 months ago

10 Aplikasi Kasir Terbaik di Indonesia (2025)

Bismillaahirrohmaanirrohiim... Dalam era digital saat ini, penggunaan aplikasi kasir (Point of Sale/POS) menjadi solusi penting…

2 months ago