LoginSignup
4
2

More than 1 year has passed since last update.

QGISを使った建物占有率メッシュデータの作り方

Posted at

概要

件名のとおりです。

手順

手順1

建物ポリゴンデータを入手。ここでは国土基盤地図情報の「建築物」のデータを利用しました。「基盤地図情報ビューア」を利用して必要箇所のshpファイルを作成し、それをQGISで読み込みました。

image.png

手順2

次に建物占有率を設定するメッシュを作成します。メッシュは外部ファイルから読み込む方法もありますが、ここでは「ベクタ>調査ツール>グリッドを作成」を利用して作成しました。今回作成したメッシュ作成条件は以下。

image.png

こんな感じのメッシュができます。

image.png

手順3

次に建物ポリゴンをメッシュと関連づけるために、建物ポリゴンをメッシュで分割します。「プロセッシング>
>ツールボックス>ベクタオーバーレイ>交差」で以下の条件で「実行」します。

image.png

すると以下ようにメッシュ形状で分割さたれた建物ポリゴンのデータが作成されます。

image.png

手順4

次に分割されたポリゴンの面積を設定します。手順3で作成されたデータを右クリックし、「属性テーブルを開く」で属性テーブルを開き、「フィールド計算機を開く」をクリックし、各ポリゴンの面積を設定します。

image.png

属性テーブルの最も右端に"bill_area"が追加されていることを確認してください。ちなみに、"id_2"は手順3で利用したグリッドデータのidが設定されています。

image.png

手順5

次に手順2で作成したグリッドデータと手順4で作成したデータを関連づけます。「プロセッシング>ツールボックス>ベクタ一般>属性テーブルで結合」で以下の条件で「実行」します。

image.png

上の操作では、グリッドデータにポリゴンを格子線で区切ったデータ(交差データ)を結合しているため、ポリゴンが重なっていない格子には何もマッチしないため、以下のようなメッセージが表示されますが問題ありません。

image.png

手順6

次に出力レイヤを右クリックして属性テーブルを開き、「フィールド計算機を開く」をクリックし、建物占有率を設定します。結合されたテーブルには既に各格子に含まれる建物の面積が"b_area"として設定されているはずです。また各格子(セル)の面積は"$area"で算出することができます。

ここ注意しなければいけないことがあります。それは一つもポリゴンがマッチしなかった格子(セル)の"b_area"にはNULLが入っていることです。それに配慮して以下の計算式で建物占有率を算定します。

image.png

属性テーブルを閉じて、出力レイヤを右クリックしてプロパティから値を表示して確認してみてください。

image.png

image.png

上記設定とすると以下のように表示されるはずです。

image.png

元データの建物ポリゴンと比較しても合理的な数値を確認することができます。

image.png

以上です。
氾濫計算などで各メッシュの建物占有率を算出したい場合には、QGISが使えますね!格子数や建物数が増えた場合がかなり処理速度が遅くなることが予測されますが、どうでしょうか??

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2