Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Les inscriptions sont ouvertes !

#1 Thu 27 March 2025 14:41

Frédéric Duhart
Participant occasionnel
Date d'inscription: 22 Dec 2016
Messages: 11

QGIS: Nom de champ en variable

Bonjour,

J'espère pouvoir exposer ma problématique clairement....

J'ai un rendu graphique un peu complexe sur une couche vecteur, qui utilise pour plusieurs éléments graphiques (épaisseur de la ligne, décalage de la ligne, position de l'étiquette, etc...) la valeur d'un champ décimal (appelons le "TOTO").

Mais j'aimerais pouvoir, utiliser parfois la valeur du champ "TATA", ce qui me demande de modifier toutes les expressions faisant appel à "TOTO", en "TATA". C’est un peu long et fastidieux, et source d'erreur.

Je me demande donc si il serait possible de définir une variable de couche qui prendrait la valeur du champ à traiter. Créer cette variable est facile, mais comment faire comprendre au calculateur d'expression que cette variable doit aller chercher la valeur du champ dont elle stocke le nom ?

Merci pour vos idées, Frédéric

Hors ligne

 

#2 Thu 27 March 2025 15:27

LPlante
Participant occasionnel
Date d'inscription: 17 Nov 2021
Messages: 47

Re: QGIS: Nom de champ en variable

Bonjour,
Quelle est la condition pour que votre calculatrice tape dans TOTO ou TATA?
Est ce qu'un Case When ferait l'affaire
CASE
    WHEN nbr<10 THEN "TOTO"
    WHEN nbr>10 THEN "TATA"
ELSE  0.4  ( une valeur par defaut pour renseigner l'epaisseur de ligne)
END

Hors ligne

 

#3 Fri 28 March 2025 11:04

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 4038

Re: QGIS: Nom de champ en variable

Bonjour,

Frédéric Duhart a écrit:

Je me demande donc si il serait possible de définir une variable de couche qui prendrait la valeur du champ à traiter. Créer cette variable est facile, mais comment faire comprendre au calculateur d'expression que cette variable doit aller chercher la valeur du champ dont elle stocke le nom ?


Il serait intéressant de connaitre la répoonse à

LPlante a écrit:

Quelle est la condition pour que votre calculatrice tape dans TOTO ou TATA?


mais de façon basique, si je crée la variable maVariable en lui passant la valeur TOTO, pour utiliser le contenu du champ TOTO (notez l'absence de guillemets simples ici), c'est la fonction eval qui fait le job, soit

Code:

eval( maVariable)

Hors ligne

 

#4 Fri 28 March 2025 11:15

Frédéric Duhart
Participant occasionnel
Date d'inscription: 22 Dec 2016
Messages: 11

Re: QGIS: Nom de champ en variable

Bonjour,

Le champ peut prendre différemment nom, et il n'y a pas de règle précise. La solution proposée par LPlante ne peut donc pas fonctionner.

La fonction EVAL répond parfaitement à mon besoin en revanche ! Je me doutais bine qu'une telle fonction devait exister, mais ne parvenait pas à la trouver. Merci !

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo