레이어 패널에서 레이어 나 그룹을 보이지 않게하는 방법은 무엇입니까?


13

그룹 내부 의 레이어 패널 에 여러 레이어가 있지만 레이어를 표시하고 싶지 않습니다 (매우 많으므로 어수선하게 보입니다). 이 레이어는 여러 다른 레이어에도 연결됩니다.

이러한 레이어 를 사용자에게 보이지 않게 만들 수 있습니까 ( 즉, 레이어 패널에 표시되지 않음, 레이어의 가시성을 설정하는 것이 아님 ) 여전히 다른 레이어에 연결될 수 있습니까? 아니면 그룹을 보이지 않게 할 수 있습니까?

내가 찾은 가장 가까운 것은이 게시물이지만 더 직접적인 접근 방식이 있기를 바랍니다.

QGIS 범례에 일부 레이어 만 표시됩니까?

답변:


15

값 관계에 필요하지만 레이어 패널이 약간 오버로드 된 조회 테이블을 표시하지 않도록 레이어 / 그룹을 '보이지 않는'유용하게 만듭니다.

명확히하기 위해 보이지 않는 레이어 / 그룹은 레이어 패널에 나타나지 않지만 여전히 캔버스에서 보거나 다른 레이어와의 조인 / 관계에서 사용할 수 있습니다.


대답:

플러그인 보이지 않는 레이어 및 그룹 을 사용하면 다음을 수행 할 수 있습니다.

  • 선택한 레이어 / 그룹을 보이지 않게합니다 (플러그인 버튼).
  • 보이지 않는 레이어 / 그룹을 다시 볼 수있게합니다 (플러그인 버튼).
  • QGIS 프로젝트에 레이어 / 그룹 가시성을 저장합니다.
  • QGIS 프로젝트를 열 때 레이어 / 그룹 가시성을 다시 만듭니다.
  • 코드로 특정 레이어를 보이지 않게 만듭니다.
  • 특정 그룹을 보이지 않게 만듭니다 (코드 별).

코드로 레이어를 보이지 않게 만들기 :

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

코드를 사용하여 그룹을 보이지 않게 만들기 :

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

참고 : 알아야 할 문제가 있습니다. 레이어를 보이지 않게하고 부모 그룹을 이동하면 보이지 않는 레이어가 다시 표시됩니다 (그 이유를 모르겠습니다!). 따라서 권장 사항은 최상위 레이어 / 그룹 만 보이지 않게하는 것입니다 (결국 루트를 이동할 수는 없습니다).


내가 찾던 것, 이것에 대해 많은 감사합니다! 실제로 계산에 사용되는 여러 개의 레이어가 있는데 (모든 레이어가 다른 레이어에 연결되어 있음) 사용자가 이러한 레이어를 보거나 편집하지 못하게합니다. 따라서 귀하의 솔루션은 이것을 크게 해결합니다. 한 가지 질문은 최근에 플러그인으로 만 구현 했습니까?
Joseph

며칠 전에 출판되었습니다. 나는 전에 레이어를 숨기는 방법을 궁금해했지만이 질문 후에 만 ​​작업을 수행했습니다 (조만간이 작업이 필요합니다). 코드 스 니펫으로 답변을 생각했지만 답변이 복잡해지기에 충분히 길었으므로 사용하기 훨씬 쉬운 플러그인으로 캡슐화하는 것을 선호했습니다.
Germán Carrillo

글쎄, 그것은 훌륭한 플러그인이므로 투표 :)
Joseph

+1 매우 유용한 플러그인. 특히 내 작업의 경우 Tough Book + QGIS를 사용하여 필드의 데이터를 매핑하는 것과 관련하여 오버로드 된 레이어 패널을 피하기 위해 (필드에서 스크롤하는 데 시간이 걸립니다). 제안 사항이 있습니다 (플러그인을 향상시킬 수도 있습니다). 플러그인은 플러그인 한 번 표시 한 레이어를 기억하고 플러그인 버튼 (보이지 않게)을 다시 누르면 다시 보이지 않게 할 수 있습니까? 다른 선택 (레이어 / 그룹)을 보이지 않게 설정하려면 새로 선택해야합니다.
Stefan

플러그인이 유용하다는 것을 알게되었습니다! 제안 해 주셔서 감사합니다. GitHub에 새로운 기능 요청 (문제)을 추가 하시겠습니까?
Germán Carrillo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.