Bonjour,
Dsl si je ne post pas au bon endroit.
Ma demande concerne l'utilisation de Python avec Qgis.
En effet j'aimerais exporter un atlas automatiquement. L'atlas est défini dans mon projet qgis.
J'ai le script suivant :
Par contre il faut que je puisse mettre l'identifiant de la couche du canevas de l'atlas dans le nom de sortie en pdf et là je bloque.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 import os from qgis.core import QgsProject from qgis.gui import QgsMapCanvas, QgsLayerTreeMapCanvasBridge from qgis.core.contextmanagers import qgisapp from PyQt4.QtCore import QFileInfo import time ########CONFIGURATION########### # Filtre filtreOp = 'id > 300' repertoireTravail = 'C:/GEOLIS_2/' ############################## project_path = repertoireTravail + '/atlas.qgs' canvas = QgsMapCanvas(None) # will reparent it to widget via layout # Load our project bridge = QgsLayerTreeMapCanvasBridge(QgsProject.instance().layerTreeRoot(), canvas) QgsProject.instance().read(QFileInfo(project_path)) # Load the composer composerView = qgis.utils.iface.activeComposers()[0] composition = composerView.composition() atlas = composition.atlasComposition() composition.setAtlasMode(QgsComposition.ExportAtlas) atlas.beginRender() date=time.strftime("%Y")+"_"+time.strftime("%m")+"_"+time.strftime("%d") for i in range(0,atlas.numFeatures()): atlas.prepareForFeature(i) composition.exportAsPDF('C:/GEOLIS_2/export_carte'+'_'+(date)+str(i)+'_carte.pdf') atlas.endRender() print "traitement ok"
Si quelqu'un connait la solution, je suis preneur.
Mickaël
Partager