Más

El atlas de QGIS definido con PyQGIS y una plantilla QPT exporta los mismos mapas

El atlas de QGIS definido con PyQGIS y una plantilla QPT exporta los mismos mapas


Necesito generar un atlas para cada característica de una capa para informar. Se crearán algunos mapas. El centro de cada mapa debe estar enfocado en cada característica. En esta tarea utilizo una plantilla QPT predefinida. En QGIS Composer Manager todo funciona a la perfección. Luego guardo el archivo QPT como plantilla e intento automatizar el proceso con un complemento usando esta función. Se basa en este hilo: cargue el compositor de forma programática desde la plantilla y genere un atlas usando pyQgis

alayer = iface.activeLayer () # Agregar todas las capas en el lienzo del mapa para renderizar myMapRenderer = self.iface.mapCanvas (). mapRenderer () # Cargar plantilla desde el archivo myComposition = QgsComposition (myMapRenderer) template = 'atlas16.qpt' myFile = ' C: //Users//maria//.qgis2//composer_templates//atlas16.qpt 'myTemplateFile = file (myFile,' rt ') myTemplateContent = myTemplateFile.read () myTemplateFile.close () myDocument = QDomDocument () myDocument. setContent (myTemplateContent) myComposition.loadFromTemplate (myDocument) # Obtenga la composición del mapa y defina la escala myAtlasMap = myComposition.getComposerMapById (0) # Setup Atlas myAtlas = QgsAtlasComposition (myComposition) myAtlas.setCoverageLayer (alapostlassetMap. Verdadero) myAtlas.setHideCoverage (False) # Generar atlas myAtlas.beginRender () para i en el rango (0, myAtlas.numFeatures ()): myAtlas.prepareForFeature (i) jobs = "D: // Krzysztof // Skrypty // Archiwum // "output_jpeg = trabajos + str (i) +" _BMS_plan.jpg ">

Debe configurar su mapa para usar la extensión de la característica del atlas, usando QgsComposerMap.setAtlasScalingMode, por ejemplo

myAtlasMap.setAtlasScalingMode (QgsComposerMap.Auto)

Coloque esta línea después de haber configurado su atlas, pero antes de la llamada beginRender.


Ver el vídeo: Seleccionar por localización en QGIS