Message posté par : PY Joubert
----------------------------------------
Bonjour,
Je suis en train de faire une fonction qui crée une couche mémoire
Cette couche mémoire vient s'insérer dans l'arbre de couche mais pas forcément à
la position voulue (je la veux en 1ere position de l'arbre de couches)
J'ai trouvé dans le PyQgisDevelopperCookbook une façon de la déplacer, mais cela ne
fonctionne que si mon arbre de couche ne possède pas de groupe.
Dans mon cas, j'ai des groupes, (voir doc joint)
Je clone bien le nœud de mon layer (clone)
Je le place bien au-dessus de tout (idx = 0)
Mais ensuite, je ne plus supprimer l'original (lay dans mon code) et si je passe non
pas le noaud mais le layer, il me supprime le premier, donc celui que je viens de
déplacer
-----------------
Code :
# Cree un layer memoire
# Arg1 : style de géométrie (Polygon, Point, etc ...)
# Arg2 : nom du nouveau layer
# Res : id du Layer créé
def WBO_LAYER_CreerLayerMemoire(stygeom,nom):
root = QgsProject.instance().layerTreeRoot()
layer = QgsVectorLayer((stygeom + "?crs=epsg:3946"), nom,
"memory")
QgsProject.instance().addMapLayer(layer, True)
node = QgsProject.instance().layerTreeRoot().findLayer(layer)
if node:
node.setItemVisibilityChecked(True)
lay = root.findLayer(layer)
clone = lay.clone()
root.insertChildNode(0, clone)
root.removeChildNode(lay)
#root.removeLayer(layer)
return(layer)
-----------------
Comment faire ?
Merci de votre aide et bonne journée
PYJ
----------------------------------------
Ce message est accompagné de fichiers, pour les télécharger, suivre le lien ci-dessous.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=375998#p375998
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net