SpatiaLite は地理空間関数を追加した SQLite データベースエンジンです。
このクイックスタートではコマンドラインと GUI アプリケーションからデータベースの開き方を記載します。
コンソールを開き、spatialite でサンプルデータベースを開きます。
spatialite /home/user/data/spatialite/trento.sqlite
CLI インターフェースで役立つ以下のようなコマンドがあります:
.help
.tables
.quit
サンプル空間クエリをいくつか紹介します:
SELECT lc.NOME, lc.NOME_PROV, lc.COM, mh.Perimeter
FROM LocalCouncils AS lc, MunicipalHalls AS mh
WHERE CONTAINS(lc.Geometry,mh.Geometry) AND lc.NOME LIKE 'VILLA%'
ORDER BY lc.NOME;
.headers ON
SELECT COMUNE, LOCALITA, Area(Geometry)/1000000 AS "Area Sq.km."
FROM PopulatedPlaces ORDER BY "Area Sq.km." DESC LIMIT 10 ;
SELECT lc.NOME AS "Provence Name", X(mh.Geometry) AS X_COORD, Y(mh.Geometry) AS Y_COORD
FROM LocalCouncils AS lc, MunicipalHalls AS mh
WHERE mh.COMU=lc.COM ORDER BY "Provence Name" LIMIT 10;
接続しているデータベースがあるときには “Disconnecting current SQLite DB” ボタンをクリックしてください。
“Connect existing SQLite DB” ボタンをクリックしてください。
/home/user/data/spatialite を開き、trento.sqlite を選択してください。
MunicpalHallsView テーブルで右クリックし、”Show Columns” を選択してください。
PopulatedPlaces で右クリックし、”Edit table rows” を選択してください。
上部の SQL 枠で以下をタイプします:
SELECT NOME, X(Geometry) AS Longitude, Y(Geometry) AS Latitude
FROM "MunicipalHallsView"
WHERE NOME_PROV LIKE "BRESCIA";
右側の “Execute SQL” ボタンをクリックして実行してください。
イタリアのトレント自治県の地図を見ることができるでしょう。
- Highways レイヤで右クリックして Hide を選択してください。
- LocalCouncilsTrento レイヤで右クリックして Layer Configuration->Classify を選択してください。 “Shape Area” を選択してください。4 つのクラスを選択して最小と最大に割り当てる色を選択してください。県の範囲の階級区分図が表示されます。
- LocalCouncils で右クリックして境界線の色を選択し、メニューから Layer configuration->Graphics を選択して、境界線と異なる色を選択してください。
- 表示をすこし拡大し、PopulatedPlaces レイヤを右クリックし、 Indentify on を選択してください。人口の多い地域をクリックして、地物の属性を確認してください。
次のステップとして以下のようなことをやってみるとよいでしょう。
SpatiaLite についてより詳しく学ぶには SpatiaLite project page を参照してください。
また、チュートリアル Spatialite cookbook が公開されています。