QGIS Atlas의 다른 레이어에서 필터링 기능?


22

QGIS Atlas 도구를 사용하여 학생 '스캐 터맵'을 작성하려고합니다. 215 개 학교에 대해 학교와 해당 학교에 다니는 학생들을 전시하십시오.

학교 계층은 적용 범위 계층이며 SCHNUM(학교 번호) 값 에 의해 주도되고 있습니다. 이것은 제대로 작동합니다. 즉, 페이지를 올바르게 구동하는 것입니다.

그러나 SCHNUM적용 범위 계층의 현재 기능에 해당하는 값 과 일치하는 다른 계층 (이 경우 학생 점 계층)의 기능 만 표시하려면 어떻게해야합니까?

또한 적용 범위 계층 (학교)을 '숨김'으로 전환하고 동일한 기술을 사용하여 중복 학교 계층의 현재 학교 만 표시하려고합니다.

를 사용하여 레이어 렌더링 규칙 설정을 사용하는 것을 암시 하는 프리젠 테이션이$atlasfeatureid 있지만 작동 방식을 알 수는 없습니다.

또한 이 작동을 보여주는 이 버그 추적기 페이지 를 찾았 지만 다시 데이터에서 작동하도록 할 수는 없습니다.


질문이 있지만 답변으로 게시하여 죄송합니다. 이에 대한 권장 비디오 자습서가 있습니까? 나는 따라 가려고 노력했고 어떻게 든 항상 잃어 버렸습니다. 같은 문제가 있습니다.
JRamos

답변:


41

실제로 원하는 것을 달성하려면 규칙 기반 심볼을 사용해야합니다.

표시하려는 규칙과 다른 모든 규칙을 작성해야합니다.

여기에 이미지 설명을 입력하십시오

ELSE 규칙에서 심볼 확인란을 선택 취소하여 보이지 않게합니다.

여기에 이미지 설명을 입력하십시오

커버리지 레이어에서 다른 기능 숨기기

현재 아틀라스 기능 만 표시하는 규칙은 다음과 같습니다.

$id  =  @atlas_featureid 

여기에 이미지 설명을 입력하십시오

참고 : @atlas_featureid 변수는 2.12 구문이라고 생각합니다. 2.8.x에서는 $ atlas_featureid라는 함수를 사용해야한다고 생각합니다.

현재 아틀라스 기능 외부의 기능 숨기기

레시피는 이전과 동일하며 다른 하나는 피처를 숨기고 다른 하나는 표시합니다.

특정 질문에 대해 SCHNUM이라는 공유 속성이있는 것 같습니다. 이 경우 규칙은 다음과 같습니다.

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

특별한 경우에 :

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

SCHNUM의 차이점을 확인하십시오. 첫 번째는 큰 따옴표로 묶어 학교 코드를 저장하는 필드의 각 현재 레이어 지형지 물의 값을 나타냅니다. 작은 따옴표로 묶인 두 번째는 학교 코드를 저장하는 커버리지 레이어의 이름을 가진 문자열입니다.

참고 : 다시 @atlas_feature 변수는 "새로운"것이라고 생각하며 2.8.x에서는 $ atlas_feature 함수를 사용해야합니다.

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.