Próbuję śledzić programowo ładowanie kompozytora z szablonu i generowanie atlasu za pomocą pyQgis, aby zautomatyzować kompozytora wydruku atlasu za pomocą pyqgis:
specyficzne w kodzie atlasu mówią:
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)
ten kod działa dla mojego zadania i biorę nowe mapy feutures 100 atlasu, ale w mojej template.qpt
mam kilka etykiet z kodem takim jak ten:
QGIS [%concat( "OBJECTID" )%]
że OBJECTID
jest taki sam dla wszystkich nowych mapach 100 Atlas feutures. Masz pomysł, dlaczego? Jeśli korzystam z ręcznego eksportu atlasu, to dla każdej OBJECTID
zmiany mapy .
Mam więcej szczegółów prawda Nie działa nic związanego z atlasem warstw w moim template.qpt
Mam pewne reguły stylów bazowych lub reguły etykiet bazowych, takie jak to:
intersects($atlasgeometry, $geometry )
lub
$id = $atlasfeatureid
to niektóre ze 100 map:
Myślę, że programowo załaduj kompozytora z szablonu i wygeneruj atlas za pomocą pyQgis, po prostu wyeksportuj jeden po drugim moje funkcje z mojej warstwy atlasu, a atlas w moim szablonie pozostanie fałszywy.
dowolny pomysł ?
źródło
Odpowiedzi:
Ciężko przetestować bez wersji demonstracyjnej.
Co się stanie, jeśli wyraźniej określisz etykietę:
źródło