Etiketleme için sadece bir kontur çizgisi seçmek mümkün müdür?
Her satır için çok sayıda etiketim var ve yalnızca ana olanları etiketlemeyi tercih edeceğim 1000 m
ve1500 m
Etiketleme için sadece bir kontur çizgisi seçmek mümkün müdür?
Her satır için çok sayıda etiketim var ve yalnızca ana olanları etiketlemeyi tercih edeceğim 1000 m
ve1500 m
Yanıtlar:
QGIS 2.6'da (belki daha önceki sürümlerde de bilmiyorum) bunu Katman Özellikleri, Labels
sekme, Rendering
bölüm altında yapabilirsiniz . Oluşturma seçenekleri listesinin yaklaşık yarısı, gerçekten etiketlenecek özelliklerin listesini tanımlayacak bir ifade yazmanıza izin veren bir düğmedir. İfadeniz böyle bir şey olacaktır "Elevation" IN (1000, 1500)
. İşte düğme (sarı renkte), bu sadece 32 yükseklik değeri olan konturları etiketlemek için ayarlanmış:
Bir yaklaşım, kontur tabakasını yüklemek ve onu şekillendirmek olacaktır. Daha sonra aynı katmanı tekrar yükleyin ve bir filtre uygulayın (katmanı sağ tıklayın ve 'Filtre ..' seçeneğine gidin) Resimde gösterilene benzer bir filtre ifadesi kullanın. Benim durumumda 50 metrelik dikey aralıklarla büyük konturlar istedim ve yükseklik değerlerini içeren alana "prop_value" adı verildi.
Ana konturları gösteren filtrelenmiş katman yüklendiğinde kontur etiketleri uygulayın ve (gerekirse) çizgi stilini gösterildiği gibi güçlendirin.
Filtre ifadesi:
("prop_value" % 50) = 0
ayrıca 50 metrelik dikey aralıklarla konturları seçecektir. Spatialite veritabanlarıyla çalışır, şekil dosyaları hakkında emin değilim.
Kontur çizgilerinin etiketlenmesini ve gösterilmesini duruma göre oldukça kolay hale getiren bu yaklaşımı kullanıyorum.
Kontur çizgilerinin "Veri tanımlı özellikleri" ni ve kontur çizgilerinin renklerini, özel koşullara ve etiketleme için benzer bir ifadeye göre farklı çizgi genişlikleri uygulayabileceğiniz bir ifadeyle (ekran görüntüsü 1'e bakın) kullanıyorum (ekran görüntüsü 2'ye bakın).
İfadelere gerekli değerleri koyun ve hepsi bu.
Yani 500 metreden farklı kontur çizgilerini gizlemek istiyorsanız, bu ifadeyi çizgi sembolünün veri tanımlı özellikleri için kullanabilirsiniz:
CASE WHEN Elevation / 500 - floor(Elevation / 500) = 0 then
color_rgba(255,255,255,100)
else
color_rgba(255,255,255,0)
end
yani yalnızca 500m aralıklarını etiketlemek için bu ifadeyi şunlar için kullanın:
CASE WHEN Elevation /500 - floor(Elevation / 500) = 0 THEN Elevation || ' m' END
yani farklı çizgi genişliği uygulamak için veri tanımlı özellikler için aşağıdaki gibi bir ifade kullanın:
CASE WHEN Elevation / 100 - floor(Elevation / 100) = 0 THEN
0.25
WHEN Elevation / 50 - floor(Elevation / 50) = 0 THEN
0.15
ELSE
0.1
END