Bir katmanı veya grubu Katmanlar Panelinde nasıl görünmez hale getirebilirim?


13

Bir grubun içindeki Katmanlar Panelinde birkaç katmanım var, ancak bunların gösterilmesini istemiyorum (çok fazla var, bu yüzden düzensiz görünüyor). Bu katmanlar da birkaç başka ile birleştirilir.

Bu katmanları kullanıcı için görünmez yapmak mümkün mü ( yani Katmanlar Panelinde gösterilmiyor, katmanın görünürlüğünü ayarlamakla ilgili değil ), ancak yine de diğer katmanlara birleştirilebilir mi? Veya grubu görünmez yapar mı?

Bulduğum en yakın şey bu gönderiydi, ancak daha doğrudan bir yaklaşım olduğunu umarak:

QGIS açıklamalarında yalnızca bazı katmanlar mı gösteriliyor?

Yanıtlar:


15

Değer ilişkileri için gerekli olan ancak Katmanlar Panelinin biraz aşırı yüklenmesine neden olabilecek arama tablolarını göstermekten kaçınmak için katmanları / grupları 'görünmez' hale getirmeyi faydalı buluyorum.

Açıklığa kavuşturmak için, görünmez katmanlar / gruplar Katmanlar Panelinde görünmeyecek, ancak yine de tuvalde görülebilir veya diğer katmanlarla birleşme / ilişkilerde kullanılabilirler.


CEVAP:

Eklentiyi , aşağıdakileri yapmanızı sağlayan Görünmez katmanlar ve gruplar kullanın:

  • Seçili katmanları / grupları görünmez yapın (eklenti düğmesi).
  • Katmanları / grupları (görünmez olan) tekrar görünür hale getirin (eklenti düğmesi).
  • Katmanları / grupları görünürlüğünü QGIS projenizde depolayın.
  • QGIS projenizi açarken katmanların / grupların görünürlüğünü yeniden oluşturun.
  • Belirli bir katmanı görünmez yapın (koda göre).
  • Belirli bir grubu görünmez yapın (koda göre).

Bir katmanı görünmez yapma (koda göre):

if 'InvisibleLayersAndGroups' in qgis.utils.plugins:
    ilg = qgis.utils.plugins['InvisibleLayersAndGroups']
    ilg.hideLayer( layer )    # layer is a QgsMapLayer

Bir grubu görünmez yapma (koda göre):

if 'InvisibleLayersAndGroups' in qgis.utils.plugins:
    ilg = qgis.utils.plugins['InvisibleLayersAndGroups']
    ilg.hideGroup( group )    # group is a QgsLayerTreeGroup
    ilg.hideGroup( 'group2' ) # You can also pass a group name

Not: Bilmeniz gereken bir sorun var. Bir katmanı görünmez yapar ve ardından üst grubunu taşırsanız, görünmez katman tekrar görünür olur (nedenini bilmiyorum!). Bu yüzden tavsiyem sadece üst katmanları / grupları görünmez yapmak (sonuçta, kökü taşıyamazsınız).


Tam olarak aradığım şey, bunun için çok teşekkürler! Aslında, hesaplamalar için kullanılan (hepsi başka bir katmana birleştirilen) birkaç katmanım var, bu yüzden kullanıcının bu katmanları görmesini veya düzenlemesini istemiyorum. Böylece çözümünüz bunu büyük ölçüde çözüyor. Bir soru, bunu son zamanlarda sadece bir eklenti olarak mı uyguladınız?
Joseph

Doğru, günler önce yayınlandı. Daha önce katmanları nasıl gizleyeceğimi merak ettim, ama sadece bu sorudan sonra görevi üstlendim (buna er ya da geç işte ihtiyacım olacak). Kod parçacıklarıyla cevap vermeyi düşündüm ama cevap karmaşık hale gelmek için yeterince uzundu, bu yüzden kullanımı çok daha kolay olan bir eklentide kapsüllemeyi tercih ettim.
Germán Carrillo

Harika bir eklenti bu yüzden oy verdi :)
Joseph

+1 Çok kullanışlı bir eklenti. Özellikle çalışmalarım için, bir Tough Book + QGIS ile sahada veri eşlemede spesifik olmak, aşırı bir Katman Panelinden kaçınmak için (kaydırma alanda zaman alır). Bir önerim var (belki eklentinizi geliştirmek için (veya değil)): Eklentinin bir kez işaretlediğiniz katmanları hatırladığını ve eklenti düğmesine (görünmez olmasını sağlayın) tekrar basıldığında bunları tekrar görünmez hale getirebilir misiniz? Görünmez başka bir seçim (katmanlar / gruplar) ayarlamak için bunları yeniden seçmeniz gerekir.
Stefan

Eklentiyi yararlı bulduğunuz için harika! Öneriniz için teşekkürler, GitHub'a yeni bir Özellik İsteği (sorunu) eklemeyi düşünür müsünüz ?
Germán Carrillo
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.