Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#1 Thu 07 December 2023 18:25
- Herve P
- Juste Inscrit !
- Date d'inscription: 12 Feb 2018
- Messages: 1
QGIS: Filtre de visualisation ?
Bonjour, je pense que c'est le même sujet: je voudrais n'avoir à l'affichage dans mon projet QGIS, que les communes qui sont à l'intérieur d'une aire d'étude, exactement comme si je prenais le fichier "Communes" et que je le découpais avec le polygone de "Aire d'étude" pour obtenir que les communes découpées et celles 100% à l'intérieur de cette aire d'étude.
Je ne veux pas créer de nouveau fichier dans la base de donnée, ni avoir un fichier temporaire qu'il faudrait enregister par ailleurs car le but c'est pas de dupliquer la donnée mais d'avoir une donnée qui s'affichera même si les limites de communes changent comme cela pourrait se passer avec des communes qui fusionnent administrativement
je pense qu'il faut que je tape une formule par le biais du "filtrer" de ma couche commune mais je n'arrive pas à le faire malgré mes recherches
Merci d'avance pour les personnes qui pourront aider sur le sujet
Hors ligne
#2 Fri 08 December 2023 09:04
- arginet
- Participant occasionnel
- Lieu: Lyon
- Date d'inscription: 23 Feb 2017
- Messages: 46
Re: QGIS: Filtre de visualisation ?
Bonjour,
Pour filtrer les communes qui intersectent votre aire d'étude, vous pourriez utiliser une expression QGis de type :
Code:
intersects( @geometry, aggregate( "couche_aire_etude", 'collect', @geometry ) )
Cela pourrait être utilisé pour appliquer une symbologie spécifique aux communes de l'aire d'étude.
Cela ne permet cependant pas de découper les limites communales des communes qui sont à cheval sur la limite de l'aire d'étude.
Par ailleurs, je ne pense pas qu'une telle expression puisse être utilisée das le filtre d'entités de la couche communes.
Autre option : utiliser une couche virtuelle qui contiendra une intersection entre vos couche "communes" et "aire d'étude". La couche virtuelle sera définie par une requête sql du type :
Code:
SELECT ST_INTERSECTION(c.geometry,ae.geometry) FROM communes c, aire_etude ae
Vous aurez ainsi une couche qui ne contiendra que vos limites communales découpées à votre aire d'étude, et qui sera automatiquement mise à jour si les limites communales viennent à changer.
Ces expressions sont à tester et affiner selon vos besoins.
Dernière option, il me semble qu'il existe un plugin "Mask" qui permet de cacher une couche par une autre... à tester.
Hors ligne