Thursday, September 26, 2013

Hitung radius antar 2 Latitutude dan Longitude di SQL query posgresql


Untuk menghitung jarak atau radius 2 lokasi Latitude dan Longitude dalam kilometer (km) di postgresql dapat menggunakan query berikut ini :

 SELECT ( 6371 * acos( cos( radians( LAT1 ) ) * cos( radians( LAT2 ) ) * cos( radians( LONG@ )   
 - radians(LAT1) ) + sin( radians( LONG1 ) ) * sin( radians( LAT2 ) ) ) ) as KM ;  

Misalnya kita punya 2 lokasi:
1. lat/lng ( 5.207654 / 96.695329 )
2. lat/lng ( -6.32479/ 107.322441)

 SELECT ( 6371 * acos( cos( radians( 5.207654 ) ) * cos( radians( -6.32479 ) ) * cos( radians( 107.322441 )   
 - radians(96.695329) ) + sin( radians(5.207654) ) * sin( radians( -6.32479 ) ) ) ) as KM ;  

Maka hasil radius yang didapat adalah :

1742,39355699897 km

Selamat mencoba. :)

1 comments:

Unknown said...

kalau untuk satuan Meter apakah ad script lg gan? Mohon pencerahannya gan.. Misalnya saya mau ambil dari data pelanggan yang terdekat ke objek tersebut maksimal 300M yang terdeteksi yang mana saja

Post a Comment