Как отобразить отсутствие данных?
С новыми версиями QGIS уходят старые баги, но зачастую добавляются новые баги и фичи.
Дано:
если у вас есть слой с полигонами с показателем, который вы хотите отобразить, но у вас в этом показателе также есть значения NULL, то есть полигоны, по которым данных этого показателя нет.
Я хочу, чтобы такие значения отображались отдельно в легенде и на карте визуализировались отдельно.
Раньше это работало так - вы делаете классификацию по значениям, задаете новый класс для значения 0 и отображаете его, он показывается на карте.
Сейчас значения NULL вообще не попадают в классификации.
Как сделать так, чтобы все красиво отображалось? покажу несколько вариантов решения
Используйте способ визуализации по уникальным значениям. Произойдет распределение по уникальным классам, и отдельно будет выделена группа с прочими значениями - в нее и попадет NULL.
2) Технически понятно, логически не очень
Суть: взять и заменить все NULL на 0 или на другие значения, которые точно не смогут встретиться у атрибута.
Например, если у вас атрибут представляет собой долю растительности, то он принимает значения от 0 до 100%, и если вы вместо NULL напишите -999, то такие полигоны точно будут отмечены отдельно, так как в интервал 0-100 не попадают.
1) Зайти в атрибутивную таблицу
2) Включить режим редактирования
3) Отсортировать столбец с атрибутами так, чтобы видеть все случаи NULL.
4) Написать вместо них другое значение. Это может быть 0, может быть -9999 например.
Если случаев с таким значением много, то лучше выбрать все эти значения с помощью выборки по условию:
А после через калькулятор полей проставить вместо NULL другое значение:
Далее делать классификацию как обычно:
3) Для более продвинутых, но логически самый верный
в настройках визуализации слоя нажать на эпсилон и зайти в меню, где мы будем прописывать, на основе каких значений производится классификация.
when "percent" is not null then "percent"
end
конструкция CASE WHEN ... THEN ... END используется как условный оператор.
Что мы просим тут сделать qgis: если значение доли пустое ("percent" is null) то просим чтобы вместо него считался например -999. Во всех других случаях считаем само значение percent.
"percent" может в вашем случае отличаться и называться по-другому - как вы сами назвали
В чем логичность этого варианта: мы не меняем фактические значения, а просто говорим программе, что хотим, чтобы она считала NULL как определенное число, которое мы далее прописываем как отсутствие данных.