Qgis:QGISでの円(圏域)描画方法について
はじめに
圏域とか商圏とか、またはある範囲にある目標物についての調べ方について説明します。
ここでは、希望する半径の大きさの円を描き、そこに含まれる要素(ポリゴン)を抽出する方法についての説明です
解析のイメージ
だいたい、こういう用途に使えると思います
- 「駅からの徒歩圏内に施設が○件」といった分析
- 「駅から2km圏内のコンビニの数」といった分析
- 「避難場所から2km圏内の人口」といった分析
- 「自宅から2km以内の避難場所」といった分析
絵的なイメージはこんな風に説明するとわかり易いかも知れませんね。
ある駅があってそこから半径xxKmの円を描いて
そこに含まれる(または含まれない)情報を抽出すると言った内容です。
このように、ある条件を基に情報を抽出する方法を「空間解析」と言います
qgisによるやり方
ここでは、例題として「駅から半径2km以内にある市町村役場等及び公的集会施設の抽出」の仕方を説明します
まず、ここから地図データを入手します。
- 国土数値情報 鉄道データ
- 国土数値情報 市町村役場等及び公的集会施設データ
をqgisへ読み込みます。
地図の測位系は
- 測地座標系(経緯度)としてEPSG:4612(JGD2000)
- 投影座標系[UTM座標系]としてEPSG:3100:(JGD2000/UTM zone 54)
プロジェクトのプロパティは
- 楕円体(距離計測に使用)WGS 84(スペース有り)
- 距離計測の単位(メートル)
- 面積計測の単位(平方メートル)
を設定しておく
表示画面
うまく設定できるとこのように、地図上に駅名と公的集会施設がプロットされる
赤が駅で、緑が公的集会施設である。
駅が2~3の点でプロットされているように見えるが、実は鉄道データがラインのポリゴンで提供されているため
表示上、赤い点が駅の長さに合わせて増えてゆくため2~3の点でプロットされているように見える
バッファ領域の指定
お題が「駅から半径2km以内にある市町村役場等及び公的集会施設の抽出」という課題ですので、駅から半径2kmを抽出するために、駅から2kmの円(圏域)を作成します。
作成方法はバッファを使います。
- 入力ベクタレイヤ:駅のベクトル情報が入っている「鉄道データ」を選択します
- 円を近似させる線分の数:20ぐらいを選びます
- バッファ距離:2000
- 出力シェープファイル:「駅から2km」という名前にします
出力すると
都内で2kmだと駅間が近すぎで、円が重なってしまった。
苫小牧あたりだと、駅間が4km以上離れているところがあるので、良い感じで、駅から2kmの円(圏域)と市町村役場等及び公的集会施設が散らばっている
とりあえず、ここまでで「駅から2km」と言うのが指定されたことになる。
情報の抽出
ここまでくると、あとは駅から2kmの円(圏域)毎に情報を抽出してやればよい。そのやり方としては
「ベクタ→データマネージメントツール→場所で属性を結合する」を選択します
対象ベクタレイヤに抽出する対象レイヤ(市町村役場等及び公的集会施設データ)
結合するベクタレイヤに抽出対象となる勢力範囲(駅から2km円)を入力します
この結果はShapeファイルで保存されますが、レイヤパネルを右クリックして「名前を付けて保存」を選択してCSV形式にすれば属性テーブルがCSVで出力されますので、EXCELなどで自由に抽出することが出来ます。
同心円の作成
このように、ある条件を設定して同心円状に距離を示すポリゴンを作成したいことがある。
固定距離バッファで何回も設定して円を重ねるのも手段の一つであるが複数回繰り返すのはそれは面倒である。
そこでプラグインを使って同心円(商圏)を作成する方法を説明する
ここで使用するプラグインは
- Multi Ring Buffer
- Multi-distance buffer
である。このプラグインをインストールして設定すれば任意の距離バッファが作成できる。