__**Tutoriel QGIS Mise en place d’une action**__ **__I – Création d’une grille__** 1- Charger le plugin **//« Image Boundary »//** (Qui s’affichera sur la barre d’outils une fois installé) {{:fonctions:automatisation:1.png?200 |}} Sélectionner le type de format ici .tif pour nos SCAN 25 (ou tout autre formats ECW, JP2) et cliquer sur {{:fonctions:automatisation:2.png?30}}. -Sélectionner le répertoire ou sont stockées les dalles : les noms des dalles s’afficheront. -Par défaut laisser la case EXTENT cochée et cliquer ensuite sur le bouton Process images. -Enfin, cliquer sur le bouton Create Vector Grid Layer. -Le processus se met en route et créer une grille raster qu’il faudra enregistrer au format SHP. ---- 2- Ouvrir la table attributaire : pour observer son contenu {{:fonctions:automatisation:3.png?800 |}} Les champs Image (contenant le nom des dalles) et Path (contenant le chemin des dalles) sont ceux qu’il faudra utiliser pour le SCRIPT qui permettra l’ouverture des images. __ **II – Ajouter une action**__ Aller dans Propriété (clic droit propriété de la couche). Cliquer sur l’onglet ACTION. C’est ici qu’il faut rajouter le script en python. {{:fonctions:automatisation:4.png?600|}} **__1- Pour l’ouverture de la Dalle :__** * Dans Action ajouter le SCRIPT suivant : import os chemin=os.path.dirname(unicode( qgis.utils.iface.activeLayer().dataProvider().dataSourceUri() ) ) fic= chemin +"\\IMAGES\\"+ "[% "IMAGE" %]" layer = qgis.utils.iface.activeLayer() qgis.utils.iface.addRasterLayer(fic,"[% "IMAGE" %]") qgis.utils.iface.setActiveLayer(layer) * Dans la case Nom donner un nom à cette action ici « ouvrir dalle » * Dans Type d’action sélectionner Python * Cliquer sur le bouton Ajouter l’action à la liste * Sauvegarder le style en cliquant sur le bouton Enregistrer le style --> fichier de style de couche qgis. * Aller dans le répertoire de votre choix et donner un nom à ce style (Généralement le même que la couche à laquelle elle se rapporte (.qml). * Puis cliquer sur Ok. **__2- Pour la fermeture de la dalle :__ ** * Dans Action ajouter le SCRIPT suivant : nomCouche = str("[% "Image" %]") instRegistry = QgsMapLayerRegistry.instance() couche = instRegistry.mapLayersByName(nomCouche) if len(couche) > 0: instRegistry.removeMapLayer(couche[0].id()) * Dans la case Nom, donner un nom « fermeture dalle » * Dans Type d’action sélectionner Python * Cliquer sur le bouton Ajouter l’action à la liste * Sauvegarder le style en cliquant sur le bouton Enregistrer le style --> fichier de style de couche qgis. * Aller dans le répertoire de votre choix et donner un nom à ce style (Généralement le même que la couche à laquelle elle se rapporte (.qml). * Puis cliquer sur Ok. __**3- Les boutons deviennent alors actifs sur la grille.**__ - Aller sur la barre d’outils, cliquer sur le bouton{{:fonctions:automatisation:5.png?30|}} - Faire un clic droit sur une case de la grille puis Ouvrir Dalle. {{:fonctions:automatisation:6.png?400|}} --- //[[|Keltoum Tali]] //04/11/2015 23:19////