Pages: 1
- Sujet précédent - QGIS/Symbologie: afficher selon l'emprise d'une autre couche - Sujet suivant
#1 Fri 15 September 2023 16:01
- FlorianeS
- Participant occasionnel
- Lieu: Orléans
- Date d'inscription: 18 Feb 2014
- Messages: 12
QGIS/Symbologie: afficher selon l'emprise d'une autre couche
Bonjour à tous,
J'ai deux couches dans mon projet : "departement" à laquelle j'applique un filtre (choix de deux départements) ET cours_eau qui couvre un territoire très vaste.
Je souhaite afficher uniquement les cours d'eau qui intersects ma couche département filtré.
J'ai essayé plusieurs expressions mais je n'arrive pas à trouver la bonne.
Sachant que je n'utilise pas d'atlas et que je n'ai pas de colonne à proprement parlée de géométrie dans les deux couches.
Merci pour votre aide, FlorianeS
Hors ligne
#2 Fri 15 September 2023 17:06
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3944
Re: QGIS/Symbologie: afficher selon l'emprise d'une autre couche
Bonjour Floriane,
Je souhaite afficher uniquement les cours d'eau qui intersects ma couche département filtré.
Dans la couche, genre en mode filtre? Ou en termes de symbologie/visibilité?
Si 1, pas possible avec le filtre classique car il ignore tout de l'autre couche. Mais possible de créer une couche virtuelle pour faire le job.
Autrement si 2, avec overlay_intersects('departement') comme formule de symbologie catégorisée, tu devrais avoir 0 ou 1 (ou true/false, je sais plus) et donc afficher la catégorie qui t'intéresse. Par contre, je ne sais pas en termes de rapidité de rendu ce que ça vaut...
Hors ligne
#3 Mon 25 September 2023 11:26
- FlorianeS
- Participant occasionnel
- Lieu: Orléans
- Date d'inscription: 18 Feb 2014
- Messages: 12
Re: QGIS/Symbologie: afficher selon l'emprise d'une autre couche
Bonjour,
Merci pour la solution. Je suis dans le cas n°2, affichage dans la symbologie.
Je n'ai pas besoin de préciser si c'est True ou False ; par défaut, True est pris en compte. L'affichage est un peu long mais ça vient être être de mes données.
Petit souci, j'utilise parfois la version 3.10 qui n'accepte pas cette expression. Vivement que tous les postes soient avec la dernière LTR.
Bonne journée,
Hors ligne
#4 Mon 25 September 2023 11:42
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3944
Re: QGIS/Symbologie: afficher selon l'emprise d'une autre couche
Bonjour,
Petit souci, j'utilise parfois la version 3.10 qui n'accepte pas cette expression. Vivement que tous les postes soient avec la dernière LTR.
L'extension refFunctions est le précurseur de ces fonctions donc tu devrais y trouver des correspondances (a priori, ce devrait être encore plus long). Et pour assurer la portabilité de ton expression, tu pourrais avoir recours à la variable @qgis_short_version dans un case when. Je pense que c'est 3.16, l'intégration dans QGIS des fonctions (faudrait vérifier le changelog de QGIS)
Hors ligne
#5 Thu 05 September 2024 22:05
- Tixi
- Participant actif
- Date d'inscription: 6 Jun 2022
- Messages: 126
Re: QGIS/Symbologie: afficher selon l'emprise d'une autre couche
Je déterre ce post car j avais des objectifs proches de ceux de l auteur du 1er message, et la réponse de Santana m'a bien aide.
J ai des captages et des commune, et je souhaitais faire une symbologie pour ceux qui sont dans certaines communes.
le overlay_intersects('CommunesDep26', filtre:='Valence') fonctionne.
Cependant, je souhaite le faire dans un cas plus general pour ne pas a avoir a ecrire le nom de la commune partout. Mon
overlay_intersects('CommunesDep26', filtre:="NOM"=@projectbasename) avec le nom du projet, qui est un nom de commune, et que j utilise comme variable, ne fonctionne pas.
Y a t il une solution, sachant que j utilise le "NOM"=@projectbasename pour faire un Atlas centre sur la commune, et que ca marche tres bien.
Merci
Hors ligne
#6 Fri 06 September 2024 12:35
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3944
Re: QGIS/Symbologie: afficher selon l'emprise d'une autre couche
Bonjour,
On est bien d'accord que le paramètre, c'est filter et non filtre?
Hors ligne
#7 Fri 06 September 2024 18:44
- Tixi
- Participant actif
- Date d'inscription: 6 Jun 2022
- Messages: 126
Re: QGIS/Symbologie: afficher selon l'emprise d'une autre couche
Oui, j'ai ecrit la formule de tete.
C est ca que j'ai en fait
overlay_intersects('ignCom2022_DROME', filter:="NOM" = @project_basename )
et ca ne marche pas.
Alors que pour la symbologie de la couche 'ignCom2022_DROME', si j utilise un filtre "NOM" = @project_basename , ca met bien en valeur la commune qui m'interesse.
Hors ligne
#8 Mon 09 September 2024 08:54
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1088
Re: QGIS/Symbologie: afficher selon l'emprise d'une autre couche
Bonjour, votre couche 'CommunesDep26' est elle dans le même SCR que votre couche sur laquelle vous requêtez ?
Hors ligne
#9 Mon 09 September 2024 19:06
- Tixi
- Participant actif
- Date d'inscription: 6 Jun 2022
- Messages: 126
Re: QGIS/Symbologie: afficher selon l'emprise d'une autre couche
Bonjour, votre couche 'CommunesDep26' est elle dans le même SCR que votre couche sur laquelle vous requêtez ?
Vous m'avez mis le doute , mais non pour 2 raisons
- J ai verifie le SCR des couches.
- SInon, le overlay_intersects('ignCom2022_DROME', filter:="NOM" = 'Valence'), par exemple, ne fonctionnerait pas
Hors ligne
#10 Mon 09 September 2024 21:42
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3944
Re: QGIS/Symbologie: afficher selon l'emprise d'une autre couche
Bonsoir,
Pas de faute de saisie dans l'expression? Que renvoie @project_basename tout seul? Pas de discordance entre les valeurs: majuscule, accents...?
Et par "ça ne marche pas" qu'entendez-vous au juste? Que renvoie la prévisualisation en bas de la fenetre d'expression?
Hors ligne
#11 Tue 10 September 2024 23:04
- Tixi
- Participant actif
- Date d'inscription: 6 Jun 2022
- Messages: 126
Re: QGIS/Symbologie: afficher selon l'emprise d'une autre couche
Voila une image jointe.
Le projet est bien un nom de ville, le decoupage de la commune se fait bien correctement. la formule NOM = @project_basename fonctionne
Hors ligne
#12 Tue 10 September 2024 23:09
- Tixi
- Participant actif
- Date d'inscription: 6 Jun 2022
- Messages: 126
Re: QGIS/Symbologie: afficher selon l'emprise d'une autre couche
La, on voit que l overlay_intersects fonctoinne, il y a des captages a Valence, des petits triangles.
Mais le nom de l ville ne vient pas de la formule, il est ecrit en dur.
si j utilise "NOM" = @project_basename au lieu du nom de ville en dur, le Test de formule donne zero entites, et la carte egalement.
Je pense qu il ne peut pas evaluer correctement l expression pour une raison ou une autre
Hors ligne
#13 Wed 11 September 2024 15:25
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS/Symbologie: afficher selon l'emprise d'une autre couche
Bonjour, je suis arrivé à ne garder afficher que les entités d'une couche de ponctuels intersectant la couche des département (sur laquelle evidement j'ai ajouté un filtre au fournisseur de données)
intersects(@geometry, geometry(get_feature('DEPARTEMENT_L93', 'NOM_M', 'ALPES-MARITIMES'))) => en tant que regle dans l'onglet symbologie
Autre solution, créer une couche virtuelle
https://gis.stackexchange.com/questions … er-in-qgis
Aucune idée du temps de traitements que ca peut prendre et si Qgis reste utilisable après.
Dernière modification par cyrille (Wed 11 September 2024 17:12)
Hors ligne
Pages: 1
- Sujet précédent - QGIS/Symbologie: afficher selon l'emprise d'une autre couche - Sujet suivant