banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 15 October 2024 15:00

RVlln
Juste Inscrit !
Date d'inscription: 15 Oct 2024
Messages: 3

QGIS: Creer champ correspondant au nom de la couche

Bonjour,

Je souhaite créer un nouveau champ dans la table d'attributs d'une couche shp dont le contenu serait le nom de la couche, et répéter l'opération X fois de manière (semi-)automatique.

J'ai 330 couches, qui correspondent au périmètre d'entités administratives, elles-mêmes composées de sous-entités.

Lorsque j'exécute l'outil "Regrouper", la table d'attributs de la couche regroupée reprend les attributs de l'une des sous-entités.
À terme, donc, si je regroupe l'ensemble des entités administratives obtenues dans une seule couche, les attributs de chacune renverront à l'une de leurs sous-entités et ne permettront pas d'identifier la nouvelle obtenue (dont seul le nom m'intéresse).

Je veux donc créer en amont un champ "NOM DE LA COUCHE" (qui aura un autre nom), qui sera le champ de regroupement de la nouvelle couche.

Vu le nombre de couches, je ne souhaite pas le faire une part une et cherche une solution automatisée, mais ne maîtrise pas les commandes/requêtes/calculette...

Merci pour les conseils !

QGIS 3.34.10-Prizren - Windows 10

Hors ligne

 

#2 Tue 15 October 2024 17:10

ML_aqua
Participant occasionnel
Date d'inscription: 11 Jul 2024
Messages: 10

Re: QGIS: Creer champ correspondant au nom de la couche

Pour moi, il faut faire un modèle [menu : traitement / modeleur] via QGIS qui automatise une suite de traitement sur des paramètres en entrée… Avec un fichier en entrée qui calcule un champ via la calculatrice de champs et qui prend comme paramètre [layer_proprety(@parametre_couche,name)]. Ca va te prend 5 min à faire et une fois que ça marche pour une couche tu exécutes en processus de lot le traitement pour toutes tes couches !

Hors ligne

 

#3 Tue 15 October 2024 18:42

RVlln
Juste Inscrit !
Date d'inscription: 15 Oct 2024
Messages: 3

Re: QGIS: Creer champ correspondant au nom de la couche

Je découvre le modeleur en même temps que ta réponse wink vais tenter de bricoler quelque chose, merci !

Hors ligne

 

#4 Wed 16 October 2024 09:12

ML_aqua
Participant occasionnel
Date d'inscription: 11 Jul 2024
Messages: 10

Re: QGIS: Creer champ correspondant au nom de la couche

C'est vraiment tout simple ! Il faut que tu réfléchisses à ton modèle pour une seule couche. Une fois celui-ci fonctionnel pour une couche, tu pourras l'exécuter en processus de lot, ce qui lancera individuellement le traitement sur toutes les couches.

Ton modeleur devrait, il me semble, commencer par un paramètre en entrée, appelé « couche vecteur ». Cette couche devra subir une transformation attributaire. Tu devras donc utiliser l'algorithme "Calculatrice de champs" avec comme expression [layer_property(@parametre_couche, name)]. Dans ce même algorithme, en bas dans "Calculé", tu pourras gérer le mode de sortie (soit couche temporaire, soit enregistrement de fichier).

N'hésite pas si tu as besoin d'un enregistrement spécifique !

Hors ligne

 

#5 Wed 23 October 2024 15:11

RVlln
Juste Inscrit !
Date d'inscription: 15 Oct 2024
Messages: 3

Re: QGIS: Creer champ correspondant au nom de la couche

Ok, je suis arrivé à quelque chose avec le modeleur et la calculatrice de champ.
Dans la calculatrice, j'ai juste eu à mettre @layer_name. Bon, ça m'a quand même pris du temps pour capter le fonctionnement.

Nouveau "problème" ; les couches temporaires créées on un nom générique. Elles ne prennent pas le nom de leur couche "mère".
Dans le modeleur, je trouve bien la fonction "renommer la couche" mais je ne sais pas comment écrire la commande "renommer à partir du champ X".
Une idée  ? wink

Dernière modification par RVlln (Wed 23 October 2024 15:12)

Hors ligne

 

#6 Wed 23 October 2024 16:05

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 1092

Re: QGIS: Creer champ correspondant au nom de la couche

Bonjour, vous pouvez utiliser l'algorithme 'Charger la couche dans le projet' qui répondra à votre besoin cf l'mage en pj (reste à mettre en expression la variable que vous avez déjà qui retourne le nom de la couche.

Dernière modification par GlaDal (Wed 23 October 2024 16:06)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB