QGIS'te bir alan boşsa birden çok alanı etiket olarak mı görüntülüyorsunuz?


13

QGIS'te tek bir etiket için birden fazla alan göstermeye çalışırken bazı sorunlar yaşıyorum. QGIS2.6'da, birden çok alandan oluşan bir özellik için etiket görüntülemeye çalışmak, alanlardan biri boşsa boş bir etiketle sonuçlanır. Örneğin, etiket ifadesi iletişim kutusunda:

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

alanlardan biri boş olmadığı sürece normal şekilde çalışır, bu durumda hiçbir etiket gösterilmez. '||' kullanma bunun yerine ifade iletişim kutusunda da aynı davranışla sonuçlanır:

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

Alanlardan biri boş olsa bile etiketleri görüntülemenin bir yolu var mı?

Yanıtlar:


20

"Coalesce" işlevini kullanın. Coalesce ilk null olmayan değeri argümanlarından alır. Yani bu ifade işe yaramalı:

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

1
Ben bir ifade gibi kullanılabilir etiketin ortasında boş satırları önlemek için mantıklı durumunda da, kaynaşabilecek işlev içinde yeni bir satır sarabilirsinizcoalesce("Temp Site", ' ') || coalesce(('\n' || "Notes"), ' ') || coalesce(('\n' || "Function"), ' ' )
Brian Fisher'ın
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.