स्क्रिप्टेड एटलस में अभिव्यक्ति-आधारित लेबल अपडेट करने में विफल रहते हैं


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 एटलस के नक्शे के लिए समान है। कोई विचार क्यों? यदि मैं मैनुअल एटलस निर्यात का उपयोग करता हूं, तो किसी भी मानचित्र OBJECTIDपरिवर्तन के लिए।


मेरे पास अधिक विवरण है सच है कि template.qptमैं अपने स्तर पर कुछ भी काम नहीं करता हूं, मेरे पास कुछ बेस स्टाइल नियम या बेस लेबल नियम हैं:

intersects($atlasgeometry, $geometry ) 

या

$id = $atlasfeatureid

यह 100 नक्शे में से कुछ है:

लेबल

मुझे लगता है कि प्रोग्रामर को टेम्पलेट से लोड करें और pyQgis का उपयोग करके एटलस उत्पन्न करें , मेरी एटलस लेयर से मेरी विशेषताओं को एक-एक करके निर्यात करें और मेरे टेम्पलेट में एटलस गलत रहें।

कोई उपाय ?


2
यदि आप अभी भी इस समस्या को हल करने में रुचि रखते हैं, तो कृपया उस कोड को पोस्ट कर सकते हैं जिसका उपयोग आप एटलस को रेंडर करने के लिए कर रहे हैं?
जुगनू-नारंगी

जवाबों:


1

एक डेमो के बिना परीक्षण करना मुश्किल है।

यदि आप लेबल में अधिक स्पष्ट हैं तो क्या होता है:

QGIS [% concat( attribute(  @atlas_feature , 'OBJECTID'))% ]
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.