国土数値情報の洪水浸水想定区域データをQGISで表現するではバッチプロセスで属性テーブルの属性をファイル名に取り出す部分でつまづいていた.今回QGISのコミュニティで質問した結果回答が得られたので結果を公開する.
「ベクタ」「空間演算ツール」「融合」と進む.
入力レイヤ
左下のバッチプロセスとして実行をクリックする.「入力レイヤ」「オートフィル」「レイヤから選択」と進む.
すべて選択し,OKをクリックする.
基準となる属性
基準となる属性(複数可)でA31a_205にチェックを入れる.この属性は浸水深ランクコードを示している.
さらに「基準となる属性(複数可)」「オートフィル」「フィルダウン」と進む.
入力レイヤオプションをクリックする.
「入力レイヤオプション」で「無効地物フィルタ」から「フィルタリングしない」を選ぶ.この作業をレイヤの数だけ繰り返す.
融合ポリゴンの出力
「融合ポリゴンの出力」「オートフィル」「式による計算」と進む.
Expression Builder
式ビルダの初期画面である.式を内側から組み立てていく.
まず,INPUTをダブルクリックする.式ビルダに@INPUTと入力され,プレビューに地物が表現されている.
次に,@INPUTの後に, 1と入力し,@INPUT, 1を丸括弧で囲む.その左側にgetとタイプ入力する.すると候補の関数がポップアップする.
get_feature_by_idを選択する.第2引数の1は1番目の地物を指定している.
更にget_feature_by_id関数の左側にattとタイプ入力すると,候補関数がポップアップする.
attributeを選択し,引数を丸括弧で囲み,第2引数に’A31a_201’を指定する.これは河川コードを示している.
式全体をコピーして||を挟んでペーストし,attribute関数の第2引数に’A31a_202’とタイプする.これは河川名を示している.
最後に式の左側にパス,式の右側に拡張子を入力する.それぞれシングルクオーテーションで囲む.式の接続には||を用いる.
パラメータの指定がすべて終わった状態.実行すると1分ほどで処理が終了する.
レイヤパネルに処理後のレイヤが追加されている.
不要となった入力レイヤを選択し,削除する.
プロパティでシンボロジを浸水深ランクコードに従って塗り分ける
詳細は国土数値情報の洪水浸水想定区域データをQGISで表現するを参照のこと.
結果
OpenStreetMapを背景に指定した結果である.