SQLite R-tree
SQLiteの空間インデックス拡張。R木アルゴリズムで2次元のバウンディングボックス検索を行う。3.8(2014年)から利用可能で、GPSデータや「近くのお店」機能を持つローカルアプリ向け。
次元ごとに最小値・最大値を持つ仮想テーブルで、標準的な使い方は2次元(緯度・経度)だが、1〜5次元に対応する。CREATE VIRTUAL TABLE locations USING rtree(id, minX, maxX, minY, maxY)のように作り、範囲検索はSELECT * FROM locations WHERE minX>=10 AND maxX<=20と書く。PostGISよりずっと簡単だが、基本的な地理検索(5km以内のレストランなど)には十分だ。モバイル以前の時代には、GarminのGPS機器の裏でSQLiteのR-treeが動いていた。現代では、EXIFのGPS情報をローカルで索引化する写真アプリなどで使われる。