Tutorial SQL - Menghitung Jarak Longitude dan Latitude


Pada artikel kali ini, saya akan secara singkat saja menjelaskan bagaimana cara menghitung jarak antara 2 lokasi. Yang diperlukan dalam perhitungan jarak ini adalah koordinat longitude dan latitude dari masing-masing lokasi. Dan juga cara yang akan saya jelaskan ini adalah cara dengan menggunakan query pada MySQL. Nantinya pada artikel selanjutnya mungkin akan saya jelaskan juga bagaimana caranya dengan menggunakan bahasa PHP atau Javascript.

Di sini saya akan menggunakan google map untuk mendapatkan koordinat lokasi longitude dan latitude yang diperlukan. Contoh yang saya gunakan adalah menghitung jarak antara 2 lokasi sebagai berikut :

  • Lokasi pertama adalah Gereja Katolik Santa Maria Tak Bercela dengan koordinat latitude -7.2888878 dan longitude 112.7581761.
  • Lokasi kedua adalah Indomaret Ngagel Madya  dengan latitude -7.2921667 dan longitude 112.7598175.
Cara untuk menghitung jarak antara 2 lokasi tersebut dengan menggunakan query adalah dengan rumus sebagai berikut :


SELECT (6371 * acos( 
                cos( radians(lat2) ) 
              * cos( radians( lat1 ) ) 
              * cos( radians( lng1 ) - radians(lng2) ) 
              + sin( radians(lat2) ) 
              * sin( radians( lat1 ) )
                ) ) as distance 

Di mana lat1 adalah latitude lokasi pertama, lat2 adalah latitude lokasi kedua, lng1 adalah longitude lokasi pertama dan lng2 adalah longitude lokasi kedua.

Dengan menggunakan rumus dan query di atas maka query yang perlu dijalankan adalah sebagai berikut :

SELECT (6371 * acos( 
                cos( radians(-7.2921667) ) 
              * cos( radians( -7.2888878 ) ) 
              * cos( radians( 112.7581761 ) - radians(112.7598175) ) 
              + sin( radians(-7.2921667) ) 
              * sin( radians( -7.2888878 ) )
                ) ) as distance 

Dan hasil yang muncul adalah 0.4070705246091621. Satuan yang dihasilkan adalah dalam satuan kilometer (km).

Perhitungan jarak ini akan mengambil jarak lurus antara 1 lokasi dengan lokasi yang lain, bukan jarak mengikuti jalan raya yang ada pada google maps. Kegunaan dari perhitungan jarak ini yang saya alami adalah untuk menghitung radius dari lokasi 1 dengan lokasi yang lain. Jadi apakah 1 lokasi yang muncul sebagai lokasi check in masih dalam radius 100 meter yang saya tentukan dengan lokasi check in yang sesungguhnya.

Demikianlah penjelasan singkat saya pada artikel Tutorial SQL - Menghitung Jarak Longitude dan Latitude ini. Silahkan gunakan kolom komentar jika ada pertanyaan seputar artikel yang telah saya jelaskan di atas ini. Terima kasih
Tutorial SQL - Menghitung Jarak Longitude dan Latitude Tutorial SQL - Menghitung Jarak Longitude dan Latitude Reviewed by Donny Winarto on June 04, 2019 Rating: 5

3 comments:

  1. ingin mendapatkan uang banyak dengan cara cepat ayo segera bergabung dengan kami di f4n5p0k3r
    Promo Fans**poker saat ini :
    - Bonus Freechips 5.000 - 10.000 setiap hari (1 hari dibagikan 1 kali) hanya dengan minimal deposit 50.000 dan minimal deposit 100.000 ke atas
    - Bonus Cashback 0.5% dibagikan Setiap Senin
    - Bonus Referal 20% Seumur Hidup dibagikan Setiap Kamis
    Ayo di tunggu apa lagi Segera bergabung ya, di tunggu lo ^.^

    ReplyDelete
  2. Terimakasih atas penjelasan diatas.. sangat membantu

    ReplyDelete

Powered by Blogger.