스크립팅 된 Atlas의 표현식 기반 레이블이 업데이트되지 않음


9

내가 따라갈 템플릿에서 프로그래밍 부하 작곡가와 pyQgis를 사용하여지도 책을 생성 pyqgis를 사용하여지도 책 인쇄 작곡가를 자동화 :

아틀라스 코드에 특정 :

    myAtlasMap = myComposition.getComposerMapById(0)
    myAtlas = QgsAtlasComposition(myComposition)
    myAtlas.setCoverageLayer(atlas_desktop)
    myAtlas.setComposerMap(myAtlasMap)
    myAtlas.setFixedScale(True)
    myAtlas.fixedScale()
    myAtlas.setHideCoverage(False)
    myAtlas.setFilterFeatures(True)

이 코드는 내 작업에서 작동하며 새로운 100 개의 아틀라스 feutures 맵을 사용하지만 내 template.qpt코드는 다음과 같은 레이블이 있습니다.

QGIS [%concat( "OBJECTID" )%]

그것은 OBJECTID모든 새로운 100 개의지도 책 feutures지도에서 동일합니다. 왜 그런지 알아? 수동 아틀라스 내보내기를 사용하면지도가 OBJECTID변경됩니다.


자세한 내용은 true입니다. 내 계층 아틀라스와 관련된 작업을 수행하지 않습니다. template.qpt기본 스타일 규칙이나 기본 레이블 규칙이 다음과 같습니다.

intersects($atlasgeometry, $geometry ) 

또는

$id = $atlasfeatureid

100 개 맵 중 일부입니다.

상표

템플릿에서 작곡가프로그래밍 방식으로로드하고 pyQgis를 사용하여 아틀라스를 생성 하면 내 아틀라스 레이어에서 내 기능을 하나씩 내보내고 내 템플릿의 아틀라스는 False로 유지됩니다.

어떤 아이디어?


2
이 문제를 해결하는 데 여전히 관심이 있다면 아틀라스를 렌더링하는 데 사용하는 코드를 게시 할 수 있습니까?
firefly-orange

답변:


1

데모없이 테스트하기가 어렵습니다.

라벨에 더 명시 적이면 어떻게됩니까?

QGIS [% concat( attribute(  @atlas_feature , 'OBJECTID'))% ]
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.