#1 Mon 16 April 2018 10:57
- nichtoune
- Participant occasionnel
- Date d'inscription: 20 Jul 2010
- Messages: 16
QGIS: Mise à jour automatique de l'emprise porjet
Bonjour à tous,
J'ai besoin de faire en sorte qu'à l'ouverture du QGS, l'emprise du canvas se cale sur l'emprise d'une des couches du projet.
Auriez vous des pistes ?
Merci, Bien cordialement, N.
Hors ligne
#2 Tue 17 April 2018 11:23
Re: QGIS: Mise à jour automatique de l'emprise porjet
Bonjour,
Il faut lancer une fonction de calage sur l'emprise à l'ouverture du projet. Cela se fait grâce aux macros
Il faut aller dans Projet > Propriétés du projet > Macros
Et taper ce code :
Code:
from qgis.utils import iface
myLayer = iface.addVectorLayer("D:/WKSP/2_APPUI/180406_JLGENOIS_POINTS/OUT/intersections_lignes.shp", "myLayer", "ogr")
def setExtentFromLayer(myLayer) :
cnvs = iface.mapCanvas()
cnvs.setExtent(myLayer.extent())
def openProject():
nomCouche = "intersections_lignes"
cnvs = iface.mapCanvas()
setExtentFromLayer(myLayer)
pass
def saveProject():
pass
def closeProject():
passIci, c'est la fonction
Code:
def setExtentFromLayer(myLayer) :
cnvs = iface.mapCanvas()
cnvs.setExtent(myLayer.extent())qui permet de caler l'emprise du canevas depuis l'extent de la couche. Elle se lance à l'ouverture du projet.
A noter : par défaut, les macros ne sont pas activées. On peut changer cela en allant dans
Code:
Préférences > Options > Général > Activer les macros
geodata au cerema et petits billets en géomatique
Hors ligne


