Annonce
Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.
Vous allez recevoir un message pour effectuer ce changement de mot de passe.
Merci de bien respecter les règles préconisées.
#1 Fri 05 January 2024 21:21
- FSandrine
- Juste Inscrit !
- Date d'inscription: 5 Jan 2024
- Messages: 1
QGIS: Tout Etiqueter sauf UN
Bonjour,
Je me permets de rouvrir un nouveau sujet alors que cette question a déjà été traitée en 2017 dans un autre post mais j'ai toujours un problème :
j'ai une couche troncon_de_route sur laquelle je retrouve, notamment, les voies par type (autoroutes, grands axes, lieux-dits, voies importantes, voies principales, etc...) et je voudrais étiqueter, par commune, toutes mes voies SAUF les lieux-dits. J'ai donc écris cette expression dans mon filtre d'étiquette :
CASE WHEN "TYPE_VOIE" = 'Lieux-dits' and "CODCOM" = 'XXX'
THEN NULL
ELSE "TYPE_VOIE" END
QGIS me dit que l'expression est valide mais ça ne marche pas, mes lieux-dits sont toujours nommés et je n'ai vraiment, mais alors vraiment pas envie de devoir les enlever à la main..
Est-ce que vous auriez une piste pour régler ce petit problème, s'il vous plaît ?
Merci beaucoup à tous ceux qui prendront le temps de me répondre!
Hors ligne
#2 Sat 06 January 2024 09:00
- dave31
- Participant actif
- Date d'inscription: 17 Feb 2017
- Messages: 80
Re: QGIS: Tout Etiqueter sauf UN
Bonjour,
Peut-être
Code:
CASE WHEN "TYPE_VOIE" is not 'Lieux-dits' and "CODCOM" is not 'XXX' THEN "TYPE_VOIE" END
Hors ligne
#3 Sat 06 January 2024 12:39
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 386
Re: QGIS: Tout Etiqueter sauf UN
Bonjour,
La condition du CASE (le WHEN) parait correcte avec l'opérateur de comparaison '=' car ce sont des chaines de texte.
Cependant deux remarques :
- pourquoi mettre NULL dans le THEN ? J'aurais plutôt mis '' (chaine vide) si cette expression est utilisée dans le champ du libellé à afficher (champ Valeur dans les propriétés d'étiquetage de la couche)
- A quel endroit est utilisée cette expression ? Dans le libellé à afficher ou alors tu es dans le mode d'étiquetage basé sur des règles et c'est une expression de filtrage ? Si c'est ce dernier cas, il faut que ton expression retourne vrai ou faux, dans ton cas vrai si TYPE_VOIE est différent de 'Lieux-dits' et CODCOM est égal à 'XXX'. Ce qui donnerait l'expression de filtre ci-dessous :
Code:
"TYPE_VOIE" <> 'Lieux-dits' and "CODCOM" = 'XXX'
Avec <> l'opérateur de comparaison qui teste si les deux valeurs sont différentes.
Hors ligne