国土数値情報の洪水浸水想定区域データをQGISで表現する

 温暖化に伴い洪水被害が増加しつつある.各自治体のハザードマップの重要性が増しているところであるが,今回は国土数値情報ダウンロードサイトから洪水浸水想定区域のデータをダウンロードし,QGISで表現してみた.

洪水浸水想定区域のデータをダウンロード

 データはここにある.ブラウザで「洪水浸水想定区域」と検索する.メッシュとポリゴンが検索されるが,今回はポリゴンを使う.

国土数値情報ダウンロードサイトの洪水浸水想定区域(河川単位:ポリゴン)
国土数値情報ダウンロードサイトの洪水浸水想定区域(河川単位:ポリゴン)

 スクロールしていくと茨城県のファイルがあるのでアンケートに答えてダウンロードする.

茨城県の2021年のファイル
茨城県の2021年のファイル

QGISに読み込む

 「レイヤ」「レイヤを追加」「ベクタレイヤを追加」と進んでいく.

「レイヤ」「レイヤを追加」「ベクタレイヤを追加」
「レイヤ」「レイヤを追加」「ベクタレイヤを追加」

 複数のシェープファイルをまとめて追加できる.計画規模,想定最大規模,浸水継続時間の3種類があるが,ここでは想定最大規模を使う.

複数のシェープファイルをまとめて追加できる
複数のシェープファイルをまとめて追加できる

 この状態で「追加」をクリックする.

「追加」をクリック
「追加」をクリック

 下図のように17個のファイルがレイヤとして追加される.属性テーブルを開いてみるとわかるが,一つのレイヤには数百から数千ものポリゴンが格納されている.浸水深ランクコードごとにまとめてしまいたい.そんな時は融合を使う.

レイヤパネルに読み込んだファイルが並ぶ
レイヤパネルに読み込んだファイルが並ぶ

複数のポリゴンを浸水深コードごとに融合する

 「ベクタ」「空間演算ツール」「融合(dissolve)」と進む.

「ベクタ」「空間演算ツール」「融合(dissolve)」
「ベクタ」「空間演算ツール」「融合(dissolve)」

 融合(dissolve)ダイアログの初期画面.入力レイヤがサービス付き高齢者住宅となっているが,これは今回追加したポリゴンのレイヤに変更していく.

融合(dissolve)ダイアログの初期画面
融合(dissolve)ダイアログの初期画面

複数のレイヤをまとめて処理するにはバッチプロセスだが…

 手動でできなくもないが同じ処理はバッチプロセスを使って自動化したい.上図の「バッチプロセスで実行」をクリックすると下図のダイアログになる.

バッチ処理-融合(dissolve)の初期画面
バッチ処理-融合(dissolve)の初期画面

  「入力レイヤ」「オートフィル」「レイヤから選択」と進む.

「入力レイヤ」「オートフィル」「レイヤから選択」
「入力レイヤ」「オートフィル」「レイヤから選択」

 「すべて選択」し不要なチェックを外し,OKをクリックする.

該当するレイヤをチェックしてOK
該当するレイヤをチェックしてOK

 「基準となる属性」を「式による計算」とする.

「基準となる属性」「式による計算」
「基準となる属性」「式による計算」

 「地図のレイヤ」から浸水深ランクコードである「A31_205」を選びダブルクリックする.

「地図のレイヤ」から「A31_205」
「地図のレイヤ」から「A31_205」

 工具アイコンの「詳細オプション」で「無効地物フィルタ」では「フィルタリングしない」を選択する.これをまとめて設定する方法がない.

工具アイコンの「詳細オプション」の「無効地物フィルタ」は「フィルタリングしない」
工具アイコンの「詳細オプション」の「無効地物フィルタ」は「フィルタリングしない」

 OKをクリックするが結果はエラーとなる.シェープファイルのフォルダ名に日本語が使われているためかと考え英語に直したが結果は変わらなかった.

結果はエラーとなる
結果はエラーとなる

 その後の調査で出力したファイルのフルパスを指定すればよいことが分かった.指定方法はいくつかあるが,「自動塗りつぶしモード」で「数値で塗りつぶす」を選択するととりあえずはうまく行くようだ.

「自動塗りつぶし設定」の「自動塗りつぶしモード」を「数値で塗りつぶす」
「自動塗りつぶし設定」の「自動塗りつぶしモード」を「数値で塗りつぶす」

 その他の方法(「パラメータの値で塗りつぶす」など)は途中でエラーが発生するか,同じファイル名で繰り返し保存してしまい,最後の一個しかファイルが残らなかった.

「融合ポリゴンの出力」でダイアログからフルパスを指定し,「自動塗りつぶしモード」を「数値で塗りつぶす」とした場合
「融合ポリゴンの出力」でダイアログからフルパスを指定し,「自動塗りつぶしモード」を「数値で塗りつぶす」とした場合

やむなく手動で17個のレイヤを融合

 仕方がないので手動で上記の処理を行う.結果は下図のようになる.それぞれエクスポートしておく.レイヤ名は任意で良い.ここでは2桁の数字の連番とした.

手動で「融合(dissolve)」を実行した結果
手動で「融合(dissolve)」を実行した結果

浸水深ランクコードにより色を塗り分ける

 それぞれのレイヤを右クリックして「プロパティ」の「シンボロジ」で「カテゴリ値による定義」とし,「値」を浸水深ランクコードである「A31_205」とする.「カラーランプ」から「カラーランプを新規作成」を選ぶ.

「プロパティ」「シンボロジ」を「カテゴリ値による定義」とし「カラーランプを新規作成」
「プロパティ」「シンボロジ」を「カテゴリ値による定義」とし「カラーランプを新規作成」

 「カラーランプ型」を「カタログ(ColorBrewer)」とする.

「カラーランプ型」を「カタログ(ColorBrewer)」
「カラーランプ型」を「カタログ(ColorBrewer)」

 「色」を6色に変更する.

「色」を6色に変更
「色」を6色に変更

 「分類」をクリックする.

「分類」をクリック
「分類」をクリック

 浸水深ランクコードごとに分類される.「シンボル」から「色を選択」する.

「シンボル」から「色を選択」
「シンボル」から「色を選択」

 「シンボルの色」ダイアログが開く.

  • 浸水深ランクコード1はR230, G255, B102
  • 浸水深ランクコード2はR153, G255, B255
  • 浸水深ランクコード3はR230, G166, B255
  • 浸水深ランクコード4以上はR153, G64, B255

とする.

「シンボルの色」でR230, G255, B102と入力
「シンボルの色」でR230, G255, B102と入力

 入力の終わった状態である.この色指定は国土交通省の「洪水ハザードマップ作成の手引き(改訂版)」に準拠している.浸水深ランクコード1は1階床下浸水,2は1階床上浸水,3は2階浸水,4以上は2階水没を示している.CMYKからRGBへの変換についてはCMYK⇔RGB変換ツール – げんちゃんの色見本にて行った.浸水深ランクコードについては同じ国土交通省の「水害ハザードマップ作成の手引」(p36)が6段階の色見本を示している.こういった手引については部署間で認識を統一してもらいたい.

国土交通省の指示に従い浸水深コードをRGBで指定した結果
国土交通省の指示に従い浸水深コードをRGBで指定した結果

結果

 結果を示す.サービス付き高齢者住宅の中には洪水浸水想定区域の中に建っているものもある.こういう情報は自分で調べないと分からない.ハザードマップだけでは自分の関係する建物がどこにあるのか分かりにくい.各自治体の公表している情報も本来ならシェープファイルで公開してほしいものである.

茨城県のサービス付き高齢者住宅と洪水浸水想定区域
茨城県のサービス付き高齢者住宅と洪水浸水想定区域

“国土数値情報の洪水浸水想定区域データをQGISで表現する” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください