У меня есть набор классов объектов многоугольника и атрибут из другой таблицы, к которому я присоединяюсь (один к одному) в QGIS, чтобы символизировать атрибуты в виде картограммы. Однако не все поля многоугольников имеют совпадающее поле в таблице числовых атрибутов, поэтому при создании градуированных символов существуют некоторые нулевые значения.
Из моего исследования, наиболее распространенный совет в этой ситуации - включить копию набора данных многоугольника (или некоторого другого фона), который определяет символы по умолчанию. Это работает, потому что нулевые значения не классифицируются в градуированной символике, поэтому их можно увидеть «под ними». Я приложил изображение именно этого. Темно-серые объекты не существуют в таблице соединений ( mb_percentile_isochrones_all
), но существуют в таблице граничных полигонов ( mb2013_wgtn
). Поэтому мне нужны два экземпляра mb2013_wgtn
таблицы, чтобы показать функции «без данных».
Тем не менее, это не кажется мне элегантным. Гораздо более интуитивно понятно определить символ нулевого значения. Возможно, это может быть совершенно прозрачно, чтобы соответствовать существующему в настоящее время, или, возможно, это будет какой-то приглушенный серый - все, что захочет пользователь. Дело в том, что в настоящее время необходимо два разных слоя в содержимом, чтобы обрабатывать символы нулевых значений. Это означает, что для одновременного изменения символики всех ваших объектов (скажем, если вы хотите увеличить ширину всех границ), это необходимо выполнить дважды: один раз в свойствах объекта с градуированной символикой и один раз для «фонового» слоя, который обрабатывает нулевой символ.
Можно ли определить символ нулевого значения без использования «копии» того же слоя, который использовался для градуированной символики в QGIS (2.6.1)?
источник
null
элемент в том же слое. 3. Непревзойденные функции находятсяnull
в их значении соединения (как видно из таблицы атрибутов QGIS после объединения).Ответы:
Как уже упоминалось @ MichaelMiles-Stimson, похоже, нет способа символизировать NULL- функции. Однако есть альтернатива, при которой вы создаете фильтр, чтобы заставить QGIS обрабатывать значения NULL как целое число, например 0. Я включил пример, где я создал 3 простых полигона, каждый из которых имеет определенное значение:
Вот градуированная символика, которую я использовал со следующей командой:
Надеюсь это поможет!
источник
NULL
значений может быть весьма полезным. Это не очень хороший обходной путь, но вы всегда можете отправить запрос на функцию и надеяться, что он станет доступен в следующей версии :)Я знаю, что ответили, но просто чтобы дать другой вариант:
Вы можете просто оставить поле без фильтра или значения (я знаю, что оно работает для CATEGORIZED или RULE BASED):
http://docs.qgis.org/2.0/uk/docs/training_manual/vector_classification/classification.html
Я использую QGIS 2.10, и он работает.
источник
Как и в случае с другими пользователями, лучший вариант - использовать символы на основе правил. Чтобы не создавать правила вручную:
(Проверено в QGIS 3.6.0)
источник