Message posté par : guillaume
----------------------------------------
Bonjour,
j'essaye d'exploiter le code fourni par lylambda, mais sans résultats.
Ma dalle shp contient les champs : Img_2010, ex 18-2010-0630-6670-LA93.ecw et
Path_2010, ex
\\cen-linda\gb_ref\BDORTHO\N_ORTHO_COUL\N_ORTHO_COUL_DALLES\N_ORTHO_COUL_018_2010_DALLES
J'ai personnalisé le code :
# le chemin du fichier à afficher:
fichier=r"[% c %]\[% Img_2010 %]"
# Nom à afficher dans la legende de Qgis:
titre="[% Img_2010 %]"
# nom du groupe où seront placées les dalles:
nomDuGroupe=u"Dalles"
lay=qgis.utils.iface.activeLayer()
titre=titre.decode('utf8')
fichier=fichier.decode('utf8')
if not os.path.exists(fichier):
from PyQt4.QtGui import QMessageBox
QMessageBox.information(qgis.utils.iface.mainWindow(), u"Attention la dalle
ci-dessous est introuvable", fichier)
else:
raster=qgis.utils.iface.addRasterLayer( fichier, titre )
# Si le groupe voulu n'existe pas, il faut le créer puis déplacer la nouvelle dalle
dans ce groupe :
li = qgis.utils.iface.legendInterface()
i = 0
index = -1
import qgis.core
if QGis.QGIS_VERSION_INT>10800:
for grp in li.groups():
if grp ==nomDuGroupe: index = i
i = i + 1
else:
for item in li.groupLayerRelationship():
if item[0] == nomDuGroupe: index = i
i = i + 1
if index == -1: index = li.addGroup( nomDuGroupe )
li.moveLayer(raster, index)
# Redonner le statut 'Active' à la couche (pour continuer à utiliser cette
Action) :
qgis.utils.iface.setActiveLayer(lay)
MAIS QGIS 3.4.5 affiche une fenêtre Erreur Python (voir PJ)
D'avance merci
Cordialement
gerard
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=329132#p329132
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net