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 :

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"
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.

Si quelqu'un connait la solution, je suis preneur.

Mickaël