マイク様
こんにちはたけし892です。
お望みの結果が得られるかわかりませんが、回答いたします。
まず、お望みの処理を一度の処理ではできないと思います。
フラグを空白でないどちらかのレイヤから持ってくることは直接はできません。
そこで、一度マージしてから新規フィールドにフィールド計算で入力します。
方法は、以下の通りです
①プロセシングツールボックス➤ベクタ一般➤属性テーブルで結合(table join)
・入力レイヤ:レイヤ2(地物数が多いレイヤ)
・入力レイヤの結合対象フィールド:ID
・第二の入力レイヤ:レイヤ1(地物数が少ないレイヤ)
・ 第二の入力レイヤの結合対象フィールド:ID
・第二の入力レイヤからコピーする属性:フラグ
以上の設定をして実行すると1つのレイヤにそれぞれのフラグが入ります。(添付画像参照)
②①の処理で生成されたレイヤをアクティブにした状態でフィールド計算機を開く➤
新規フィールドを作成し、以下の通り数式を入力
case when "フラグ" is not null then "フラグ" when "フラグ_2" is not null then "フラグ_2" else null end
※意味としては、フラグフィールドがNullでなければその値を、フラグ_2がNullでなければその値を、
どちらも当てはまらなければNullを入力せよというものです。(実行後の画像も添付します)
こちらでよろしいでしょうか。
2024年6月16日日曜日 19:31:40 UTC+9 マイク: