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é ?

#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

 

Pied de page des forums

Powered by FluxBB