Створення умовної заяви в QGIS Field Calculator


15

Я роздивився деякі інші питання на цю тему, однак жоден не звертався до того, що я прагну зробити.

У мене великий набір даних, і я хотів би шукати в одному полі будь-які значення на певну кількість (у цьому випадку 20), і якщо значення більше 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
...

….


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.