Tema ini menjelaskan cara menggunakan struktur data TairGIS yang disediakan oleh Tair (Enterprise Edition) untuk memantau lintasan pengguna berdasarkan titik, garis, dan poligon.
Informasi latar belakang
Layanan berbasis lokasi (LBS) menggunakan berbagai teknologi untuk melacak perangkat secara real-time dan memberikan informasi serta layanan dasar kepada pengguna perangkat melalui Internet seluler. Teknologi LBS memainkan peran penting dalam sejumlah besar aplikasi industri dan proyek penelitian saat ini.
Redis menyediakan indeks geospasial Redis yang berguna untuk menanyakan hubungan spasial antara titik atau menemukan titik terdekat dalam radius tertentu. Namun, struktur data ini mencatat data dengan presisi yang relatif kasar dan menyediakan fungsionalitas yang terbatas.
Sebagai perbandingan, struktur data TairGIS dari Tair memungkinkan Anda menanyakan data dalam bentuk titik, garis, dan poligon, yang jauh lebih hemat biaya untuk mengembangkan aplikasi LBS dibandingkan dengan struktur data geospasial Redis. Salah satu aplikasi tipikal TairGIS adalah sistem keamanan geofencing untuk perawatan lansia dan anak-anak.
Solusi contoh
Ikhtisar: Area sekolah ditambahkan ke TairGIS dan ditetapkan sebagai pagar digital. Jika seorang siswa meninggalkan area dalam jangka waktu tertentu, peringatan akan dipicu.
Jalankan perintah GIS.ADD untuk menambahkan area sekolah ke TairGIS dengan menggunakan bahasa teks terkenal (WKT). Contoh:
GIS.ADD test_app school_location 'POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))'Peroleh data lokasi siswa dan periksa apakah siswa tetap berada di dalam pagar digital.
Gunakan layanan GPS untuk memperoleh data lokasi.
Setelah mendapatkan data lokasi siswa, Anda dapat menjalankan perintah GIS.CONTAINS untuk memeriksa apakah siswa tetap berada di dalam pagar digital. Contoh:
GIS.CONTAINS test_app 'POINT (40.086631 30.138141)'Berkolaborasi dengan operator telekomunikasi untuk memperoleh data lokasi.
Tergantung pada kepadatan stasiun pangkalan, data lokasi dari operator telekomunikasi mungkin merupakan sektor dari area yang dicakup oleh stasiun pangkalan atau seluruh area cakupan stasiun pangkalan. Anda dapat menggunakan WKT untuk menggambarkan data lokasi sebagai poligon. Contoh:
POLYGON ((10 22, 30 45, 16 53, 10 22)).Kemudian, Anda dapat menjalankan perintah GIS.CONTAINS untuk memeriksa apakah poligon tersebut bertepatan dengan pagar digital. Jika ya, siswa tetap berada di dalam atau dekat pagar digital. Jika tidak, siswa keluar dari pagar digital.
GIS.CONTAINS test_app 'POLYGON ((10 22, 30 45, 16 53, 10 22))'
Anda juga dapat menjalankan perintah GIS.WITHIN dan GIS.INTERSECTS untuk memeriksa apakah seorang siswa berada di dalam pagar digital. Untuk informasi lebih lanjut, lihat GIS.
Ringkasan
TairGIS memungkinkan Anda menyimpan dan memproses data geografis untuk aplikasi LBS dengan mudah dan memberikan performa tinggi dalam skenario konkurensi tinggi.