今日は、サーバとしてではなくアプリケーションに組み込んで利用される軽量のデータベース「SQLite」を空間データベースとして扱う拡張機能の「SpatiaLite」を紹介したいと思います。
今までSpatiaLiteは名前を知っている程度でどんなものなのか知りませんでした。サーバーにインストールしなくていい手軽さに興味があって調べてみました。
まずSpatiaLiteをダウンロードをします。「MS Windows binaries」の「current stable version」から最新版をダウンロードします。
今回は64bitを選択します。その中の「spatialite_gui-4.3.0-win-amd64.7z」をダウンロードします。
ダウンロードするファイルの、「7z」という拡張子の圧縮ファイルは特殊なので普通の解凍ソフトでは対応していない場合があります。その場合は下記の「7-Zip」を利用して解凍します。
解凍すると「spatialite_gui.exe」ができるので実行します。exeを実行なのでインストールは不要です。
実行するとまず新規にDBを作成します。 DBを作成後、「Load Shapefile」を実行してインポートしたいShapeを選択します。設定はSRID:4326 Encoding:UTF-8を選択しました。
インポートできたら「Edit table rows」でレコードが確認できます。
QGISで表示できるか確認してみます。 レイヤの追加 → SpatiaLiteレイヤの追加
新規 → DB選択 → 接続
接続するとレイヤ内容が表示されるので選択して追加
レイヤの地物が表示されました。
QGISで結構簡単に表示することができました。SpatiaLiteはインストールしなくていいので手軽です。なんだか色々なツールと連携して使えそうな気がしてきました。連携する方法や連携する場合、フロントエンドかバックエンドのどちらで処理すべきか色々と疑問はあるんですがそれについての情報が少ないようです。勉強する必要がありそうです。
- 参考文献
SpatiaLite
地図とかの空間情報をSQLiteに格納するSpatiaLiteを使用してみる