条件に応じたポリゴンの塗分け

2,388 views
Skip to first unread message

motomu inoue

unread,
Feb 18, 2022, 12:10:23 AM2/18/22
to QGIS初心者質問グループ
フィールド1の値がフィールド2、フィールド3よりも大きい場合は赤に、それ以外は白にポリゴンを塗分ける方法を教えてください。

福岡

unread,
Feb 18, 2022, 2:24:19 AM2/18/22
to QGIS初心者質問グループ
motomu inoue 様

こんにちは

色々と方法はあると思いますが、私なら色を設定するフィールドを設け、そこに色に関するデータを書き込みます。
そして、それを塗りつぶし色に指定します。

フィールド計算機を使って、例えば「color」というフィールドへ次のような式を用いて色を書き込みます。
データ型はテキストとしてください。

CASE
WHEN  "field_1" > "field_2"  AND  "field_1" > "field_3" THEN 'Red'
ELSE 'White'
END

次にレイヤのプロパティの「シンボロジ」タブで「塗りつぶし色」の行の右端にある計算機のような形をしたアイコンをクリックし、「フィールドの型:文字列」でフィールド計算機で作った「color」を指定して「OK」ボタンを押します。

fig01.png

これで色分けされると思います。

2022年2月18日金曜日 14:10:23 UTC+9 motomu inoue:
フィールド1の値がフィールド2、フィールド3よりも大きい場合は赤に、それ以外は白にポリゴンを塗分ける方法を教えてください。

ありた

unread,
Feb 19, 2022, 1:43:01 AM2/19/22
to QGIS初心者質問グループ
こんにちは

福岡さんがおっしゃってる方法でも可能で、属性情報としてスタイルを保持している場合や、
線色、線種、塗りつぶし色などを個別に設定する必要がある場合などで有用です。
color 属性を追加せず、直接 QGIS 式を使うことも可能)



ただ、一般的には以下の方法となります。

シンボロジタブの一番上が「単一定義」となっていると思います。これは、すべての
地物を同一のシンボルで描画するモードとなります。
この他「カテゴリ値による定義」「連続値による定義」「ルールによる定義」などがあります。

今回の場合、「ルールによる定義」を選択し、ルール(フィルタ)と合致するときに
描画するシンボルを設定することで、条件による変更が可能です。

motomu inoue

unread,
Feb 19, 2022, 7:31:26 PM2/19/22
to QGIS初心者質問グループ
福岡さん、ありたさん返信ありがとございます。
私も「ルールによる定義」を使っているのですが、
case 
when ・・・
then ・・・
end
という普通の式だと思いますが、then の後どう記述したら、ポリゴンの塗色が変わるのかが分かりません。


2022年2月19日土曜日 15:43:01 UTC+9 ありた:

ありた

unread,
Feb 19, 2022, 9:03:17 PM2/19/22
to QGIS初心者質問グループ
こんにちは

「ルールによる定義」はルール(フィルタ)を指定しますので、
赤色のシンボルを設定したルールには
"フィールド1" > "フィールド2" AND "フィールド1" > "フィールド3"

白色のシンボルを設定したルールには
ELSE

を設定します。(フィールド名は適宜読み替えてください)
Reply all
Reply to author
Forward
0 new messages