QGIS'de yalnızca büyük harf etiket olarak mı gösteriliyor?


15

QGIS 2.14'ü kullanarak ve şimdi kural tabanlı etiketleme olduğunu görün. Büyük harfli (örn. CRAWLEY) kasaba etiketlerini göstermek ve küçük harfli kasaba etiketlerini göstermek istemiyorum (örn. Faygate)

Özellik tablosu, farklı şehirleri adlarından ayırmaz. Bunu yapmanın bir yolu var mı ?

resim açıklamasını buraya girin

Yanıtlar:


20

Bunun için kural tabanlı stile ihtiyacınız yok.

  1. Seç Bu katman göster etiketleri seçeneği (veya kural tabanlı İsterseniz) ve tıklama İfade simgesini gidin Fonksiyon Editör aşağıda gösterildiği gibi.

    İşlev düzenleyici

  2. Yeni bir dosya oluşturun (veya mevcut bir dosyayı düzenleyin) ve aşağıdakileri girin:

    from qgis.core import *
    from qgis.gui import *
    
    @qgsfunction(args='auto', group='Custom')
    def func(value, feature, parent):
        if value.isupper():
            return value
    
  3. Click Yük sonra gidip İfade sekmesi ve aşağıdakileri yazın:

    func("fieldName")
    
  4. Ardından Tüm değişiklikleri uygulayın . Etiketleriniz artık yalnızca büyük harfli olanları içermelidir.


Örnek :

İşlevi çalıştırmadan önce:

Fonksiyondan önce

İşlevi çalıştırdıktan sonra:

Sonrası fonksiyon


8
Burada özel bir python işlevi kullanmak yerine dahili ifadeyi de kullanabilirsiniz"fieldName"=upper("fieldName")
ndawson

3
@ndawson - Bu çok kullanışlı bir işlev, teşekkürler! İfadeniz yalnızca bir boole döndürmesine rağmen, bunun yerine kullanabilirsiniz if("fieldName" = upper("fieldName"), "fieldName", ''). Her iki durumda da, bir cevap olarak göndermeniz gerektiğini düşünüyorum ;)
Joseph
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.