Ausdrucksbasierte Beschriftungen im Skriptatlas können nicht aktualisiert werden


9

Ich versuche, dem programmgesteuerten Laden von Composer aus einer Vorlage zu folgen und mit pyQgis einen Atlas zu generieren, um den Atlas Print Composer mit pyqgis zu automatisieren:

spezifisch im Atlascode sagen:

    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)

Dieser Code funktioniert für meine Aufgabe und ich nehme neue 100 Atlas Feutures-Karten, aber in meinem habe template.qptich einige Beschriftungen mit Code wie diesem:

QGIS [%concat( "OBJECTID" )%]

Das OBJECTIDgilt auch für alle neuen 100 Atlas Feutures-Karten. Irgendeine Idee warum? Wenn ich den manuellen Atlas-Export verwende, dann für jede Kartenänderung OBJECTID.


Ich habe mehr Details die wahre Funktioniert nichts im Zusammenhang mit Ebenenatlas in meinem template.qptIch habe einige Regeln für Basisstile oder Basisbeschriftungen wie diese:

intersects($atlasgeometry, $geometry ) 

oder

$id = $atlasfeatureid

das sind einige in 100 Karten:

Etikette

Ich denke, dass das programmgesteuerte Laden von Composer aus einer Vorlage und das Generieren eines Atlas mit pyQgis einfach nacheinander meine Features aus meiner Atlas-Ebene exportiert und der Atlas in meiner Vorlage falsch bleibt.

irgendeine Idee ?


2
Wenn Sie immer noch daran interessiert sind, dieses Problem zu lösen, können Sie bitte den Code veröffentlichen, den Sie zum Rendern des Atlas verwenden?
Glühwürmchen-Orange

Antworten:


1

Ohne Demo schwer zu testen.

Was passiert, wenn Sie im Etikett expliziter sind?

QGIS [% concat( attribute(  @atlas_feature , 'OBJECTID'))% ]
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.