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

Menampilkan Gambar Pada PictureBox Di Visual Basic .Net

Pada kesempatan kali ini saya akan menunjukkan bagaimana cara menampilkan gambar pada PictureBox di Visual Basic .NET. Terdapat beberapa cara untuk menampilkan gambar pada PictureBox dan disini saya akan memberikan beberapa cara yang saya ketahui serta kelebihan dan kekurangan dalam menggunakan cara tersebut. Pertama-tama buatlah sebuah project baru dengan memilih File > New > New Project . Kemudian Drag And Drop PictureBox dari jendela Toolbox ke form. Menampilkan Gambar Dengan Cara Standar Yang saya maksud dengan cara standar disini adalah cara yang biasa dilakukan oleh programmer atau developer dan yang dianjurkan oleh MSDN pada artikel How to: Set Pictures at Run Time dan  How to: Load a Picture Using the Designer Kelebihan Mudah diimplementasikan terutama bagi programmer/developer pemula. Kekurangan Ada kemungkinan gambar yang diload/ditampilkan ke PictureBox akan dilock/dikunci untuk digunakan oleh user yang mengakses gambar tersebut, sehingga user lain tidak dapat men...

20 Macam-Macam Troubleshooting Komputer/Laptop Dan Cara Mengatasinya

Saya akan membahas tentang 20 Macam-Macam Troubleshooting Komputer/Laptop Dan Cara Mengatasinya . Pada pembahasan ini saya akan memberikan solusi atau pertolongan pertama yang bisa anda lakukan pada PC anda,dalam mengenali permasalahan – permasalahan yang mungkin terjadi pada komputer. Baca juga artikel bermanfaat seputar  Cara Merawat Komputer Secara Hardware Dan Software Yang Baik Agar Terhindar dari Kerusakan Dengan mengenali Macam  Macam Troubleshooting Pada PC  dan cara mengatasinya,mungkin anda dapat berusaha mengerjakan sendiri permasalah-permasalhan sederhana yang terjadi pada komputer anda atau mengetahui permasalahannya sebelum membawa ke tempat service yang mungkin membutuhkan biaya banyak. Pengertian Troubleshooting  Komputer Troubleshooting adalah  suatu istilah yang digunakan jika terjadi suatu masalah pada perangkat komputer. Troubleshooting sendiri terbagi menjadi 2 yaitu,troubleshooting pada hardware dan software. Troubleshooting Hardware.Jika ...

40 Fakta Unik Dan Menarik Mengenai Perusahaan Google

Pada kesempatan kali saya akan membahas sebagian besar Fakta-Fakta Unik Dan Menarik Mengenai Perusahaan Google. Dari tahun 90an hingga sekarang Google tetap menjadi ruang informasi utama dalam internet yang paling sering digunakan diseluruh dunia,namun masih banyak pula pengguna google search yang belum betul-betul mengenal tentang perusahaan google tersebut. Google adalah salah  satu perusahaan ternama didunia yang didirikan pada tanggal 04 September 1998,dan masih berjaya hingga sekarang,dimana Google pernah tercatat sebagai salah satu Perusahaan dengan penghasilan  tahunan terbesar didunia. Oleh karena itu saya akan membagikan sedikit informasi seputar Fakta Unik dan Menarik Mengenai Perusahaan Google. Selain Fakta unik perjalanan perusahaan google saya juga sekaligus akan menambahkan info menarik lainnya tentang fasilitas-fasilitas Memuaskan untuk karyawan yang kerja di perusahaan google,game–game dan keyword unik google search yang ada di google Search. ...