আমি ফাইল থেকে একটি মুদ্রণ সুরকারকে লোড করতে, একটি অ্যাটলাস তৈরি করতে এবং চিত্রটিতে রফতানি করার জন্য একটি প্লাগিন তৈরির চেষ্টা করছি। এখন পর্যন্ত আমি টেমপ্লেট লোড এবং এটি ইমেজ রফতানি করতে সফল হয়েছে।
আমি রফতানি করা মানচিত্রে কিংবদন্তির কোনও স্তর (যা টোকায়ও রয়েছে) যোগ করতে অক্ষম হয়েছি, যার ফলশ্রুতি খালি ম্যাপে এবং ক্ষেত্রের এক্সপ্রেশনগুলির কোনওটিই কাজ করছে না।
# Get layers in the legend and append, must be a cleaner way to do this?
layers = self.iface.legendInterface().layers()
layerStringList = []
for layer in layers:
layerID = layer.id()
layerStringList.append(layerID)
# Add layer to map render
myMapRenderer = QgsMapRenderer()
myMapRenderer.setLayerSet(layerStringList)
myMapRenderer.setProjectionsEnabled(False)
# Load template
myComposition = QgsComposition(myMapRenderer)
myFile = os.path.join(os.path.dirname(__file__), 'MMR_Template.qpt')
myTemplateFile = file(myFile, 'rt')
myTemplateContent = myTemplateFile.read()
myTemplateFile.close()
myDocument = QDomDocument()
myDocument.setContent(myTemplateContent)
myComposition.loadFromTemplate(myDocument)
# Save image
myImagePath = os.path.join(os.path.dirname(__file__), 'come_on.png')
myImage = myComposition.printPageAsRaster(0)
myImage.save(myImagePath)
এখানে লোড হওয়া টেম্পলেট থেকে একটি স্নিপেট রয়েছে যা অ্যাটলাস সেটআপ করা উচিত:
<Atlas hideCoverage="false" featureFilter="reference = '61922'" coverageLayer="desktop_search20130615160118593" fixedScale="true" composerMap="0" singleFile="false" filenamePattern=""reference"" enabled="true" filterFeatures="true" sortFeatures="true" sortKey="0" sortAscending="true" margin="1"/>
QgsMapRenderer () এর উদাহরণে টকের সমস্ত স্তর যুক্ত করার সর্বোত্তম উপায় সম্পর্কে আমিও অনিশ্চিত।
ধন্যবাদ