国土数値情報の想定最大規模の洪水浸水想定区域を浸水深ランクコードごとにQGISのバッチプロセスで融合する

 国土数値情報の洪水浸水想定区域データをQGISで表現するではバッチプロセスで属性テーブルの属性をファイル名に取り出す部分でつまづいていた.今回QGISのコミュニティで質問した結果回答が得られたので結果を公開する.

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

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

入力レイヤ

 左下のバッチプロセスとして実行をクリックする.「入力レイヤ」「オートフィル」「レイヤから選択」と進む.

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

 すべて選択し,OKをクリックする.

「すべて選択」してOK
「すべて選択」してOK

基準となる属性

 基準となる属性(複数可)でA31a_205にチェックを入れる.この属性は浸水深ランクコードを示している.

基準となる属性(複数可)でA31a_205をチェック
基準となる属性(複数可)でA31a_205をチェック

 さらに「基準となる属性(複数可)」「オートフィル」「フィルダウン」と進む.

「基準となる属性(複数可)」「オートフィル」「フィルダウン」
「基準となる属性(複数可)」「オートフィル」「フィルダウン」

 入力レイヤオプションをクリックする.

工具アイコンの「入力レイヤオプション」「無効地物フィルタ」「フィルタリングしない」
工具アイコンの「入力レイヤオプション」

 「入力レイヤオプション」で「無効地物フィルタ」から「フィルタリングしない」を選ぶ.この作業をレイヤの数だけ繰り返す.

工具アイコンの「入力レイヤオプション」「無効地物フィルタ」「フィルタリングしない」
「入力レイヤオプション」「無効地物フィルタ」「フィルタリングしない」

融合ポリゴンの出力

 「融合ポリゴンの出力」「オートフィル」「式による計算」と進む.

「融合ポリゴンの出力」「オートフィル」「式による計算」
「融合ポリゴンの出力」「オートフィル」「式による計算」

Expression Builder

 式ビルダの初期画面である.式を内側から組み立てていく.

式ビルダの初期画面
式ビルダの初期画面

 まず,INPUTをダブルクリックする.式ビルダに@INPUTと入力され,プレビューに地物が表現されている.

変数INPUTをダブルクリック
変数INPUTをダブルクリック

 次に,@INPUTの後に, 1と入力し,@INPUT, 1を丸括弧で囲む.その左側にgetとタイプ入力する.すると候補の関数がポップアップする.

getとタイプすると関数名が補完される
getとタイプすると関数名が補完されポップアップする

 get_feature_by_idを選択する.第2引数の1は1番目の地物を指定している.

get_feature_by_idを選択
get_feature_by_idを選択し,第2引数に1とタイプする

 更にget_feature_by_id関数の左側にattとタイプ入力すると,候補関数がポップアップする.

attとタイプすると関数名が補完される
attとタイプすると関数名が補完されポップアップする

 attributeを選択し,引数を丸括弧で囲み,第2引数に’A31a_201’を指定する.これは河川コードを示している.

attributeを選択
attributeを選択し,第2引数に’A31a_201’を指定する

 式全体をコピーして||を挟んでペーストし,attribute関数の第2引数に’A31a_202’とタイプする.これは河川名を示している.

式全体をコピーして||を挟んでペーストし,attribute関数の第2引数に'A31a_202'とタイプする
式全体をコピーして||を挟んでペーストし,attribute関数の第2引数に’A31a_202’とタイプする

 最後に式の左側にパス,式の右側に拡張子を入力する.それぞれシングルクオーテーションで囲む.式の接続には||を用いる.

式の左側にパス,式の右側に拡張子を入力する.それぞれシングルクオーテーションで囲む
式の左側にパス,式の右側に拡張子を入力する.それぞれシングルクオーテーションで囲む

 パラメータの指定がすべて終わった状態.実行すると1分ほどで処理が終了する.

パラメータの指定がすべて終わった状態.実行すると1分ほどで処理が終了する
パラメータの指定がすべて終わった状態.実行すると1分ほどで処理が終了する

 レイヤパネルに処理後のレイヤが追加されている.

レイヤパネルに処理後のレイヤが追加される
レイヤパネルに処理後のレイヤが追加される

 不要となった入力レイヤを選択し,削除する.

処理前のレイヤを選択し「レイヤを削除」
処理前のレイヤを選択し「レイヤを削除」

プロパティでシンボロジを浸水深ランクコードに従って塗り分ける

 詳細は国土数値情報の洪水浸水想定区域データをQGISで表現するを参照のこと.

結果

 OpenStreetMapを背景に指定した結果である.

結果
結果

コメントを残す

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

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