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...

Cara Setting Redirect http ke https di Blogspot

Redirect http ke https Meskipun google sudah menyediakan fasilitas untuk mengaktifkan fitur https pada blogspot, namun sepertinya URL https belum bisa secara otomatis berjalan, ketika ada pengunjung blog Kamu menemukan blog Kamu dihasil pencarian google, maka tetap mereka akan di arahkan ke alamat blog Kamu yang mengunakan HTTP. Kita tidak tahu sampai kapan ini akan terus berlangsung, kemungkinan besar hanya tinggal menunggu waktu saja sepertinya karena Kita yakin pada akhirnya akan nanti akan menggunakan default https. Jika Kamu menghendaki untuk menggunakan https Kamu bisa melakukan redirect langsung menjadi https, sehingga ketika pengunjung blog Kamu mengakses situs Kamu maka akan langsung diarahkan menjadi https. Caranya Kamu bisa menggunakan script khusus, dengan langkah-langkah sebagai berikut: 1. Masuk ke akun blogspot Kamu, 2. Pada menu sisi kiri pilih menu template, kemudian klik tombol edit HTML, untuk masuk ke editor html template Kamu 3. Silahkan cari kode dan silahkan pil...