スクリプトアトラスの式ベースのラベルが更新に失敗する


9

私は、プログラムからcomposerをテンプレートからロードし、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個のアトラス機能マップと同じです。なぜか?手動のアトラスエクスポートを使用している場合は、マップをOBJECTID変更します。


私はより多くの詳細を持っていますtrue私はtemplate.qpt私の中にレイヤーアトラスに関連する何も機能しません私はこのようないくつかの基本スタイルルールまたは基本ラベルルールを持っています:

intersects($atlasgeometry, $geometry ) 

または

$id = $atlasfeatureid

これは100個のマップの一部です。

ラベル

私は、プログラムからcomposerをテンプレートからロードし、pyQgisを使用してアトラスを生成するため、アトラスレイヤーから機能を1つずつエクスポートし、テンプレートのアトラスはFalseのままであると考えています。

何か案が ?


2
この問題の解決に引き続き関心がある場合は、アトラスのレンダリングに使用しているコードを投稿していただけますか?
ホタルオレンジ

回答:


1

デモなしでテストするのは難しい。

ラベルでより明確になっているとどうなりますか?

QGIS [% concat( attribute(  @atlas_feature , 'OBJECTID'))% ]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.