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

Printemps des cartes 2024

#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: 383

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

 

Pied de page des forums

Powered by FluxBB