6. 位置情報検索
groongaは位置情報検索をサポートしています。検索にはインデックスを使うので全文検索と同様に位置情報も高速に検索できます。
6.1. 対応している機能
groongaは位置情報データのうち座標データのみサポートしています。線や面などはサポートしています。よってgroongaができることは以下の通りです。
- カラムに座標データを保存できる。
- 指定した四角形の中にある座標を持つレコードを検索できる。
- 指定した円の中にある座標を持つレコードを検索できる。
- 2点間の距離を計算できる。
- 指定した座標からの距離が近い順にレコードをソートできる。
以下はgroongaの位置情報検索を利用例です。
- 駅の近くにあるマクドナルドをリストする。
- 現在地から近い順にケンタッキーをソートし、現在地からの距離付きでリストする。
以下はgroongaではできないことです。
- 市内にあるマクドナルドを検索する。(groongaは四角形と円以外の形状の位置情報検索をサポートしていません。)
- 湖を表すレコードに位置情報として座標ではなく範囲を格納する。(カラムには座標データ以外を格納できません。)
以下の図はgroongaの位置情報検索機能を示しています。
以下の図はレコードのみがある図です。黒い点がレコードを表しています。以降の図ではレコードがどのように扱われるかを示します。
執筆中。。。 ( 下書き )