Más

¿Cómo "exportar a un archivo ráster" en una aplicación independiente basada en una composición?


En una aplicación independiente, quiero crear un compositor de impresión con el mapa, una leyenda y una barra de escala. Intento con diferentes códigos pero sin éxito. Busqué en varios foruns pero no encontré respuesta.

basename_R = fileInfo_R.baseName () R_color_raster = QgsRasterLayer (R_color, basename_R) layerset = [] QgsMapLayerRegistry.instance (). addMapLayer (R_color_raster) layerset.append (R_color_raster.idap (gs) myMaptings = QgsMapLayerRegistry. myComposition.setPlotStyle (QgsComposition.Print) #legend legend = QgsComposerLegend (myComposition) legend.model (). setLayerSet (myMap.layers ()) legend.model (). setLayerSet myComposition.addComposerLegend (leyenda) legend.set,122) legend .setFrameEnabled (True) legend.setScale (.7) output_jpeg = "… /Factor.jpg"> ¿Haciendo mapas seriales a partir de una plantilla usando PyQGIS?

En la versión 2.4 y superior, el maprenderer se reemplaza por mapsettings. Intento esto y todavía lo intento pero sin éxito en la redacción de mi mapa. ¿Alguien intenta hacerlo bien?

ACTUALIZAR

Ok, encuentro la solución para "agregar mapa". Aquí está el código:

fileInfo_R = QFileInfo (R_color) basename_R = fileInfo_R.baseName () ruta = fileInfo_R.filePath () R_color_raster = QgsRasterLayer (ruta, nombre base_R) layerset = [] QgsMapLayerRegistry.nce (). addMapLayerRegistry.set (). addMapLayer. )) myMap = QgsMapSettings () mapRectangle = myMap.fullExtent () myMap.setExtent (mapRectangle) myMap.setOutputSize (QSize (1300,900)) myComposition = QgsComposition (myMap) myComposition.setPlotStyle (Qgs) xComposition.Pr 0 , 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 (leyenda) 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