Мітки на основі виразів у сценарії 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 атласних ф'ючертних карт, але в мене template.qptє кілька міток з таким кодом:

QGIS [%concat( "OBJECTID" )%]

що OBJECTIDодне і те ж для всіх нових 100 АТЛАСУ feutures карт. Будь-яка ідея чому? Якщо я використовую ручний експорт атласу, то для будь-якої OBJECTIDзміни карти .


У мене є більш детальна інформація. Істинно Не працює нічого, пов'язане з атласом шару, у мене template.qptє деякі базові правила стилів або такі базові правила міток:

intersects($atlasgeometry, $geometry ) 

або

$id = $atlasfeatureid

це деякі з 100 карт:

етикетка

Я думаю, що програмно завантажуйте композитора з шаблону та генеруйте атлас за допомогою pyQgis, просто експортуйте по черзі мої функції зі свого шару атласу, а атлас у моєму шаблоні залишається помилковим.

будь-яка ідея?


2
Якщо ви все ще зацікавлені у вирішенні цієї проблеми, будь ласка, можете опублікувати код, який ви використовуєте для надання атласу?
firefly-orange

Відповіді:


1

Важко перевірити без демонстрації.

Що станеться, якщо ви чіткіші в етикетці:

QGIS [% concat( attribute(  @atlas_feature , 'OBJECTID'))% ]
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.