このトピックでは、Tair (Enterprise Edition) が提供するTairGISデータ構造を使用して、点、線、およびポリゴンに基づくユーザーの軌跡を監視する方法について説明します。
背景情報
位置情報サービス (LBS) は、様々な技術を使用して、リアルタイムでデバイスの位置を特定し、モバイルインターネットを介してデバイスユーザに情報および基本サービスを提供する。 LBS技術は、最近、多数の産業用途および研究プロジェクトにおいて極めて重要な役割を果たしている。
Redisは、ポイント間の空間的関係を照会したり、特定の半径内の近くのポイントを見つけたりするのに役立つRedis地理空間インデックスを提供します。 しかしながら、このデータ構造は、比較的粗い精度でデータを記録し、限られた機能しか提供しない。
比較すると、TairのTairGISデータ構造を使用すると、点、線、ポリゴンの形式でデータをクエリできます。これにより、LBSアプリケーションの開発にかかるコストは、Redisの地理空間データ構造よりもはるかに低くなります。 TairGISの典型的なアプリケーションの1つは、高齢者および育児のためのジオフェンシングセキュリティシステムです。
サンプル溶液
概要: 学校エリアがTairGISに追加され、デジタルフェンスとして指定されます。 学生が指定された時間枠内にエリアを離れると、アラートがトリガーされます。
GIS.ADDコマンドを実行して、よく知られているテキスト (WKT) 言語を使用して学校エリアをTairGISに追加します。 例:
GIS.ADD test_app school_location 'POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))'
学生の位置データを取得し、学生がデジタルフェンス内に残っているかどうかを確認します。
GPSサービスを使用して位置データを取得する
学生の位置データを取得したら、GIS.CONTAINSコマンドを実行して、学生がデジタルフェンス内に残っているかどうかを確認できます。 例:
GIS.CONTAINS test_app 'POINT (40.086631 30.138141)'
通信事業者と協力して位置データを取得する
基地局の密度に応じて、通信事業者からの位置データは、基地局によってカバーされるエリアのセクタ、または基地局のカバレッジエリア全体であり得る。 WKTを使用して、位置データをポリゴンとして記述できます。 例:
POLYGON ((10 22、30 45、16 53、10 22))
。次に、GIS.CONTAINSコマンドを実行して、ポリゴンがデジタルフェンスと一致するかどうかを確認できます。 はいの場合、学生はデジタルフェンス内またはその近くに留まります。 そうでない場合、学生はデジタルフェンスから移動します。
GIS.CONTAINS test_app 'POLYGON ((10 22, 30 45, 16 53, 10 22))'
GIS.WITHINおよびGIS.INTERSECTSコマンドを実行して、学生がデジタルフェンス内にいるかどうかを確認することもできます。 詳細については、「GIS」をご参照ください。
概要
TairGISを使用すると、LBSアプリケーションの地理データを簡単に保存および処理でき、同時実行性の高いシナリオで高いパフォーマンスを実現できます。