Monday, June 22, 2015

Redis Geo Module

Merupakan module tambahan yang berkaitan dengan informasi lokasi yaitu koordinat latitude dan longitude. Module ini memiliki command tambahan yang tidak ada di Redis, yaitu :
  1. geoadd
  2. georadius
  3. georadiusbymember
  4. geoencode
  5. geodecode 
Dengan module tambahan ini kita dapat memanfaatkannya untuk menyimpan data lokasi (koordinat) dari banyak tempat, dan melakukan pencarian dari koordinat tertentu dan dalam radius tertentu.

Misalnya seperti ini, kita memiliki data beberapa mall di sekitar Bekasi Barat sebagai berikut :
  1. Mall Metropolitan Bekasi (-6.248632,106.990887)
  2. Bekasi Cyber Park (-6.246803,106.991201)
  3. Giant Mega Bekasi (-6.249384,106.993084)
  4. Grand Metropolitan Bekasi (-6.249152,106.984512)
  5. Bekasi Square (-6.254469,106.989780)
 Seandainya kita sedang berada di pintu keluar tol Bekasi Barat (-6.249051,106.991700) dan ingin mencari tahu mall yang ada di sekitar lokasi dalam radius 500 m. Bagaimana caranya ?

Lokasi Pin Point (-6.249051,106.991700)

Hmmm.. Tentu saja, kita bisa mengandalkan Google Map untuk mencarinya.
Tapi, bagaimana kita mencari tahun dengan bantuan Redis Geo Module ?

Sebelum kita dapat melakukan pencarian dengan Redis Geo Module, kita perlu meng-load data lokasi mall ke dalam Redis, seperti ini :

geoadd mall_bekasi -6.248632 106.990887 "Mall Metropolitan Bekasi"
geoadd mall_bekasi -6.246803 106.991201 "Bekasi Cyber Park"
geoadd mall_bekasi -6.249384 106.993084 "Giant Mega Bekasi"
geoadd mall_bekasi -6.249152 106.984512 "Grand Metropolitan Bekasi"
geoadd mall_bekasi -6.254469 106.989780 "Bekasi Square"

Lalu lakukan pencarian seperti ini :

georadius mall_bekasi -6.249051 106.991700 500 m

dan hasilnya :

1) "Giant Mega Bekasi"
2) "Mall Metropolitan Bekasi"
3) "Bekasi Cyber Park"

Sekian dan semoga blog ini menginspirasi teman-teman.

No comments:

Post a Comment