Langsung ke konten utama

Menghitung Jarak Menggunakan Rumus Haversine Di PHP


Pada postingan kali ini saya akan mencoba memberikan contoh penggunaan rumus haversine untuk menghitung jarak antara 2 lokasi menggunakan bahasa pemrograman PHP. Untuk mengetahui apa itu haversine dapat Anda baca pada artikel Rumus Haversin atau baca selengkapnya di wikipedia

Dalam fungsi penghitungan jarak berikut, saya menggunakan rumus haversine untuk menghitung jarak antara dua titik pada permukaan bumi yaitu garis lintang dan bujur dari kedua titik.


gambaran umum dari fungsi:

  • Menggunakan rumus Haversine, kita menghitung jarak dalam derajat antara dua set koordinat
  • Nilai dalam derajat dikonversi menjadi kilometer (secara default), mil atau mil laut, tergantung pada kebutuhan Anda.
  • Jarak dikembalikan, dengan presisi yang dipilih (2 angka desimal secara default).
Perlu diingat bahwa bumi tidak sepenuhnya bulat, jadi ada kemungkinan terdapat sedikit kesalahan terkait dengan rumus haversine.
function hitungJarak($lokasi1_lat, $lokasi1_long, $lokasi2_lat, $lokasi2_long, $unit = 'km', $desimal = 2) {
// Menghitung jarak dalam derajat
$derajat = rad2deg(acos((sin(deg2rad($lokasi1_lat))*sin(deg2rad($lokasi2_lat))) + (cos(deg2rad($lokasi1_lat))*cos(deg2rad($lokasi2_lat))*cos(deg2rad($lokasi1_long-$lokasi2_long)))));

// Mengkonversi derajat kedalam unit yang dipilih (kilometer, mil atau mil laut)
switch($unit) {
case 'km':
$jarak = $derajat * 111.13384; // 1 derajat = 111.13384 km, berdasarkan diameter rata-rata bumi (12,735 km)
break;
case 'mi':
$jarak = $derajat * 69.05482; // 1 derajat = 69.05482 miles(mil), berdasarkan diameter rata-rata bumi (7,913.1 miles)
break;
case 'nmi':
$jarak = $derajat * 59.97662; // 1 derajat = 59.97662 nautic miles(mil laut), berdasarkan diameter rata-rata bumi (6,876.3 nautical miles)
}
return round($jarak, $desimal);
}


Berikut adalah contoh bagaimana cara menggunakan fungsi diatas :
$currentLat = "-1.2380149"; //garis bujur lokasi 1
$currentLon = "116.8381812"; //garis lintang lokasi 1
$destLat = "-1.2301204"; //garis bujur lokasi 2
$destLon = "116.8234827"; //garis lintang lokasi 2
echo hitungJarak($currentLat,$currentLong, $destLat, $destLon);

Full Code

Komentar

Postingan populer dari blog ini

Menagapa Pesawat Sering Terguncang?

Foto: Lion Air Ternyata peralihan atau berubahnya iklim dapat saja memperburuk turbulensi udara. Bagi Kamuyang melakukan perjalanan udara, hal ini tentu akan mengganggu kenyamanan perjalanan Anda. Seberapa buruk turbulensi ini? Cukup kuat sehingga dapat saja melempar penumpang dan awak pesawat di sekitar kabin jika tak memasang sabuk pengaman. Hal ini merupakan hasil studi dari Universitas Reading seperti dipublikasikan di Advances in Atmospheric Sciences , seperti ditulis Digital Trend . Menurut studi ini, makin buruknya kualitas udara memengaruhi pergerakan naik turun pesawat yang lebih kuat dari gravitasi. Para ahli percaya peralihan atau berubahnya iklim membuat fenomena ini lebih sering dua tiga kali dari yang terjadi saat ini. Dengan demikian, berjalan di pesawat, meminta layanan makanan, atau bahkan memegang sesuatu menjadi lebih sulit dilakukan. Studi ini menyebutkan bahwa turbulensi ringan akan meningkat 59 persen. Turbulensi ringan hingga menengah meningkat 75 persen, Pada sp...

Dua Waktu Yang Dilarang Oleh Rasulullah SAW Untuk Tidur

Tidur menjadi sesuatu yang esensi dalam kehidupan kita. Karena dengan tidur, kita menjadi segar kembali. Tubuh yang lelah, urat-urat yang mengerut, dan otot-otot yang dipakai beraktivitas seharian, bisa meremaja lagi dengan melakukan tidur. Dalam Islam, semua perbuatan bisa menjadi ibadah. Begitu pula tidur, seperti yang dicontohkan oleh Rasulullah saw. Dalam Al-Quran, Allah swt pun menyuruh kita untuk tidur. Namun, ternyata ada dua waktu tidur yang dianjurkan oleh Rasulullah untuk tidak dilakukan. 1. Tidur di Pagi Hari Setelah Shalat Shubuh Dari Sakhr bin Wadi’ah Al-Ghamidi radliyallaahu ‘anhu bahwasannya Nabi shallallaahu ‘alaihi wasallam bersabda : ”Ya Allah, berkahilah bagi ummatku pada pagi harinya” (HR. Abu dawud 3/517, Ibnu Majah 2/752, Ath-Thayalisi halaman 175, dan Ibnu Hibban 7/122 dengan sanad shahih). Ibnul-Qayyim telah berkata tentang keutamaan awal hari dan makruhnya menyia-nyiakan waktu dengan tidur, dimana beliau berkata : “Termasuk hal yang makruh bagi mereka – yaitu o...

Bakteri Dalam Mulut Bisa Sebabkan Kanker

Para peneliti di Amerika Serikat (AS) menemukan bakteri yang umumnya ada di mulut dapat memicu kanker kolon dan rektum. Kantor berita Xinhua melansir dari dua penelitian yang diterbitkan di jurnal Cell Host & Microbe, bahwa mikroorganisme "fusobacteria" yang ditemukan di mulut dapat merangsang respon kekebalan yang buruk dan menumbuhkan gen kanker untuk membentuk tumor kolon dan rektum. Kanker kolon dan rektum adalah kanker yang menyerang usus besar dan rektum. Penyakit tersebut merupakan kanker peringkat 2 yang mematikan di AS. Penelitian terbaru menunjukkan "fusobacteria" dari mulut sangat banyak ditemukan pada jaringan pasien yang terkena kanker kolon dan rektum meski demikian belum diketahui apakah bakteri tersebut berkontribusi dalam pembentukan tumor. Professor Yiping Han dari Case Western Reserve University School of Dental Medicine dan timnya menemukan "fusobacteria" mengandalkan sebuah molekul bernama FadA, yang ditemukan di permukaan sel bakt...