QGIS Atlas의 다른 레이어에서 필터링 기능? 계층은 적용 범위 계층이며 SCHNUM(학교

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

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

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

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

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

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



답변

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

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

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 함수를 사용해야합니다.