Diğer QGIS Atlas katmanlarındaki filtreleme özellikleri?


22

QGIS Atlas araçlarını, öğrencinin “dağılma haritalarını” oluşturmak için kullanmaya çalışıyorum. 215 okul için okulu ve o okula giden öğrencileri gösterir.

Okullar katmanı kapsama katmanıdır ve SCHNUM(okul numarası) değeri tarafından yönlendirilmektedir . Bu iyi çalışıyor, yani sayfaları doğru sürüyor.

Öte yandan, diğer katmanlardaki özellikleri, bu durumda SCHNUMkapsam katmanındaki geçerli özellik için karşılık gelen değerle eşleşen öğrenci nokta katmanını nasıl görüntüleyebilirim?

Ayrıca, kapsam katmanını (okullar) 'gizli' duruma getirmek ve aynı tekniği yalnızca mevcut okulu yinelenen okul katmanından görüntülemek için kullanmak istiyorum.

Burada, katman oluşturma kural ayarının kullanılmasının kullanımına itiraz eden bir sunum var$atlasfeatureid , ancak bunun nasıl çalıştığını çözemiyorum.

Bu çalışmayı gösteren bu hata izleme sayfasını da buldum , ancak yine de verilerim üzerinde çalışmasını sağlayamıyorum:


Sorusu olmasına rağmen cevap olarak gönderdiğim için üzgünüm. Bunun için önerilen bir video eğitimi var mı? Takip etmeye çalıştım ve bir şekilde her zaman bir noktada kaybolmayı başardı. Aynı problemi yaşamak.
JRamos

Yanıtlar:


41

Gerçekten, istediğinizi elde etmek için kurala dayalı semboloji kullanmanız gerekir.

Göstermek istedikleriniz için bir kural ve tüm diğerleri için ELSE kuralını oluşturmanız gerekir.

görüntü tanımını buraya girin

ELSE kuralında, görünmez hale getirmek için sembol onay kutusundaki işareti kaldırın.

görüntü tanımını buraya girin

Kapsam katmanından diğer özellikleri gizle

Yalnızca geçerli atlas özelliğini gösterme kuralı aşağıdaki olabilir:

$id  =  @atlas_featureid 

görüntü tanımını buraya girin

not : @ atlas_featureid değişkeninin 2.12 sözdizimi olduğuna inanıyorum. 2.8.x'te $ atlas_featureid adlı bir işlev kullanmanız gerektiğini düşünüyorum.

Geçerli atlas özelliğinin dışındaki özellikleri gizle

Tarif öncekiyle aynıdır, bir diğeri de özellikleri gizlemek için, birini göstermek için bir kuraldır.

Özel sorunuz için SCHNUM adlı paylaşılan bir özelliğiniz var gibi görünüyor. Bu durumda kural şöyle olabilir:

"Layers_field" = attribute (@atlas_feature, 'coverage_layer_field_name')

sizin durumunuzda:

"SCHNUM"  =  attribute( @atlas_feature , 'SCHNUM')

Her iki SCHNUM arasındaki fark dikkat edin. Birincisi, çift tırnak içine alındığında, mevcut her katman özelliğinin okul kodunu saklayan alanın değerini gösterir. İkincisi, tek tırnak içinde, okul kodunu saklayan kapsam katmanının adını taşıyan bir dizedir.

Not : Yine, @ atlas_feature değişkeninin "yeni" bir şey olduğunu düşünüyorum ve 2.8.x'te $ atlas_feature işlevini kullanmanız gerekecek

görüntü tanımını buraya girin

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.