Suite

Comment « sortir vers un fichier raster » dans une application autonome basée sur une composition ?


Dans une application autonome, je souhaite créer un compositeur d'impression avec la carte, une légende et une barre d'échelle. J'essaye avec des codes différents mais sans succès. J'ai cherché dans plusieurs foruns mais je n'ai pas trouvé de réponse.

basename_R = fileInfo_R.baseName() R_color_raster = QgsRasterLayer(R_color, basename_R) layerset = [] QgsMapLayerRegistry.instance().addMapLayer(R_color_raster) layeret.append(R_color_raster.id()) myMap = QgsMapCompositionSetting myComposition.setPlotStyle(QgsComposition.Print) #legend legend = QgsComposerLegend(myComposition) legend.model().setLayerSet(myMap.layers()) legend.model().setLayerSet myComposition.addComposerLegend(legend) legend.setItemPosition (25,122) légende .setFrameEnabled(True) legend.setScale(.7) output_jpeg = "… /Factor.jpg">Créer des cartes en série à partir d'un modèle à l'aide de PyQGIS ?

Dans la version 2.4 et au-dessus, le maprenderer est remplacé par mapsettings. J'essaye ceci et j'essaye toujours mais sans succès de composer ma carte. Est-ce que quelqu'un essaie de bien faire les choses ?

METTRE À JOUR

Ok, je trouve la solution pour "ajouter une carte". Voici le code :

fileInfo_R = QFileInfo(R_color) basename_R = fileInfo_R.baseName() chemin = fileInfo_R.filePath() R_color_raster = QgsRasterLayer(chemin, basename_R) layeret = [] QgsMapLayerRegistry.instance().addMapLayer(R_color_raster) layeret_raster(R_color_raster) layeret.append )) myMap = QgsMapSettings() mapRectangle = myMap.fullExtent() myMap.setExtent(mapRectangle) myMap.setOutputSize(QSize(1300,900)) myComposition = QgsComposition(myMap) myComposition.setPlotStyle(QgsyComposition = 0Print) x, ,0 w,h = myComposition.paperWidth(), myComposition.paperHeight() composerMap = QgsComposerMap(myComposition,x,y,w,h) composerMap.gridEnabled() myComposition.addComposerMap(composerMap) composerMap.setLayerSet(myMap.layers( )) #legend legend = QgsComposerLegend(myComposition) legend.model().setLayerSet(myMap.layers()) legend.model().setLayerSet myComposition.addComposerLegend(legend) legend.setItemPosition (25,122) legend.setFrameEnabled(True) legend .setScale(.7) item = QgsComposerScaleBar(myComposition) myComposition.ad dComposerScaleBar(item) item.setStyle('Numeric') item.setItemPosition(0,122) item.update() output_jpeg = "… /Factor.jpg">qgis python print-composer


Voir la vidéo: Tulostaminen Repetier-ohjelmalla - 3D-tulostus (Octobre 2021).