QGIS Field Calculatorでの条件ステートメントの作成


15

このトピックに関する他のQ&Aをいくつか調べましたが、私がやろうとしていることを扱っているものはありません。

大きなデータセットがあり、特定の量(この場合は20)を超える値を1つのフィールドで検索し、値が20より大きい場合は、別のフィールドで値1を返します。値0を返します。

私は運のないものを書いてみました。

QGIS 2.8を使用しています。


私はQgisでこのエクスプレスを把握しようとしていますが、結果がありません。ケース "A" = '1'および "LENGHT" <= 1の場合 "C" = '4' ELSE ERROR END
giss

回答:


29

簡単な方法

これを行う最も簡単な方法は、式で新しいフィールドを作成することです

"cat" > 20

この式は、ブール値のTrue / Falseに評価され、整数1または0として表されます。

仮想フィールド

仮想フィールドを作成することもできます。仮想フィールドは、値がcat変化した場合に自動的に更新された値を返します(レイヤーを編集するなど)。仮想フィールドの値はデータセットに保存されず、このQGISプロジェクト内でのみ表示されることに注意してください。

ブール値以上

単純な「より大きい」以上がある場合は、使用する必要があります

CASE 
  WHEN "cat" > 100 THEN 2
  WHEN "cat" > 10 THEN 1
  ELSE 0
END

6

私はこれをテストしました:条件を数回使用できます:

WHEN    cat =   1   THEN    205
WHEN    cat =   2   THEN    215
WHEN    cat =   3   THEN    225
WHEN    cat =   4   THEN    235
...

....


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.