#1 Tue 10 August 2021 14:53
- chanteclair
- Participant assidu
- Lieu: Pau
- Date d'inscription: 3 Jan 2007
- Messages: 746
QGIS: Conditions Etiquettes
Bonjour à tous,
Je cherche à créer une condition pour l'affichage d'étiquettes (Qgis 3.18.0 64 bits).
Je souhaite afficher les noms de communes lorsque celles-ci contiennent un point ou plusieurs points (issus d'une ou plusieurs couches).
J'ai donc fait la condition suivante :
Code:
CASE WHEN intersects($geometry,geometry(@parent)) THEN "nom" END
qui si elle ne génère pas d'erreur, n'affiche pas non plus le nom de la commune où une intersection a lieu.
Si quelqu'un peut me dire où est l'erreur, merci d'avance ! Vivement les vacances...
Cordialement,
Dernière modification par chanteclair (Tue 10 August 2021 16:31)
Hors ligne
#2 Tue 10 August 2021 16:45
- shirosaki
- Participant actif
- Lieu: Lyon
- Date d'inscription: 30 Mar 2018
- Messages: 127
Re: QGIS: Conditions Etiquettes
Bonjour,
la formule "intersects" avec le @parent est à utiliser lorsque vous vous server de cette dernière comme un filtre dans une autre formule.
ex :
aggregate(
'airports',
'max',
"ELEV",
filter := within( $geometry, geometry( @parent ) )
)
Dans votre cas, je vous conseille de partir sur la formule "overlay_intersects".
l'avantage de cette fonction c'est qu'elle peut renvoyer un booléen
ex : overlay_intersects(layer:='ma_couche') --> renvoie vrais si l'élément courant de ma couche intersecte un élément de la couche "ma_couche"
Dernière modification par shirosaki (Tue 10 August 2021 16:48)
Paul QUESNOT
Hors ligne
#3 Wed 11 August 2021 07:42
- chanteclair
- Participant assidu
- Lieu: Pau
- Date d'inscription: 3 Jan 2007
- Messages: 746
Re: QGIS: Conditions Etiquettes
Bonjour,
Merci pour votre retour.
Je vais tester cette fonction.
Bonne journée.
Hors ligne