Відображення декількох полів як міток, якщо в QGIS одне поле є нульовим?


13

У мене виникають проблеми, які намагаються показати кілька полів для однієї мітки в QGIS. У QGIS2.6 спроба відображення міток для функції, що складається з декількох полів, призводить до порожньої мітки, якщо одне з полів є нульовим. Так, наприклад, у діалоговому вікні вирази міток:

concat("Temp Site",'\n',"Notes",'\n',"Function")

буде функціонувати нормально, якщо одне з полів недійсне, тоді це не призведе до відображення мітки. Використання '||' оператор замість цього у діалоговому вікні виразів також призводить до такої ж поведінки:

"Temp Site" || '\n'  ||  "Notes" || '\n'  ||  "Function"

Чи існує спосіб відображення міток, навіть якщо одне з полів є нульовим?

Відповіді:


20

Використовуйте функцію "Coalesce". Coalesce приймає перше ненулеве значення зі своїх аргументів. Отже, цей вираз повинен працювати:

coalesce("Temp Site",'') || '\n'  ||  coalesce("Notes",'') || '\n'  ||  coalesce("Function",'')

1
Ви також можете обернути новий рядок в рамках функції coalesce, якщо є сенс уникати порожніх рядків посередині етикетки, я використав такий вираз, якcoalesce("Temp Site", ' ') || coalesce(('\n' || "Notes"), ' ') || coalesce(('\n' || "Function"), ' ' )
Брайан Фішер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.