QuantumGISに同心円をらくらくで描く方法
仕事柄、地図を記載するときはスケールバーでスケールを表すことよりも中心点からの同心円で表す事が多いです。
QuantumGISで同心円を描こうとするとき、通常は「ベクタ」→「空間演算ツール」→「バッファ」で
同心円を記述しますが、これだと単一の地点に円が一つしか描けないため、同心円でスケールを表す事ができません。
同心円の個数だけバッファの処理を行ってshpファイルを保存するのも面倒です。これを回避するために以下のような手法を思いついたのでメモ。
用意するのはQuantumGISとPostGIS(理屈的にはSpatial Liteでもいいはず)、最後にQGISプラグインのDB Managerをインストールしてセットアップしておきます。
今回は東京タワーに5km圏のバッファ円を4つプロットしてみます。
DB ManagerでSQLを使って5km圏の同心円のポリンゴンデータを読み込みます。
①「データベース」から「DB Manager」を選択します。
②「PostGIS」からデータベースを選択して、「SQL Window」ボタンを押下します。
③以下のSQLを「SQLクエリ」に記述して、データをロードする。。
select id, ST_Buffer(ST_GeomFromText('POINT(139.745447 35.65861)'), id*0.049456) geom from unnest(ARRAY[1,2,3,4]) id;
0.049456は5kmを表す度、POINT(139.745447 35.65861)は東京タワーのことです。
ポイントはunnest句を用いてARRAYから仮のテーブルを作成しているところです。
これをST_Bufferのバッファ半径に掛けることで同心円が複数作成されます。
SQLを記述して「実行」ボタンを押下して、「新レイヤとしてロードする」にチェックを入れ「整数のユニークな値で構成されるカラム」に「id」を、「ジオメトリカラム」に「geom」を指定します。
レイヤ名は適当に名づけて「今ロードする!」ボタンを押すと同心円のポリゴンがロードされます。
④書式設定を変更する。
書式設定を変更して、塗りつぶしをなくして、枠線だけにすると以下のような同心円バッファが記載されます(CRSの設定で楕円になってますが。)。
やったね!