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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 11 June 2024 11:06

cyrille
Participant assidu
Date d'inscription: 7 Feb 2006
Messages: 401

QGIS: filtrer une couche en fonction d une autre

Bonjour,

J'essaie depuis un certain temps de filtrer un affichage d'une couche de ponctuels en fonction de la sélection présente dans une couche de polygone.
ex j'ai plusieurs centaines de milliers de points à l'affichage ainsi qu'une couche des départements.

Je sélectionne un seul département de la couche et au moyen d'une requête dans l'ensemble de def de la couche ponctuelle j'aimerai que Qgis n'affiche que les points présents dans le département sélectionné.

est ce possible ? avec des instructions comme ?

array_to_string(overlay_intersects('couche_communes', nom))

Hors ligne

 

#2 Tue 11 June 2024 13:23

Mayanha
Juste Inscrit !
Date d'inscription: 7 Jun 2024
Messages: 2

Re: QGIS: filtrer une couche en fonction d une autre

Bonjour,

Pour ma part j'utilise la fonction de Qgis "Sélection par localisation".
Dans votre exemple, je sélectionnerais le département voulu, puis utiliserais cette fonction. Une fenêtre s'affiche pour paramétrer l'outil. Vous choisissez :
- Dans la première liste déroulante "Sélectionnez les entités depuis" la couche de ponctuels dont vous souhaitez faire votre sélection
- Cochez la case "est à l'intérieur" dans la partie "Où les entités (prédicat géométrique)"
- Vérifiez que la case "Entité(s) sélectionnée(s) uniquement" est cochée
- Laissez "Créer une nouvelle sélection" dans la dernière liste déroulante
- Exécuter les processus

Normalement vous devriez avoir vos points sélectionnés dans le département sélectionné au départ.

Par la suite, j'utilise une extension "Selection as Filter" pour avoir une option supplémentaire lors du clic droit sur une couche : "Show selected feature only". Cela nécessite cependant un champs avec un identifiant unique. Sur votre couche de ponctuels, cela ne devrait finalement afficher que les points que vous aviez sélectionné auparavant.

Cela répond-il à votre question ?

Bonne journée

Hors ligne

 

#3 Tue 11 June 2024 14:32

cyrille
Participant assidu
Date d'inscription: 7 Feb 2006
Messages: 401

Re: QGIS: filtrer une couche en fonction d une autre

Merci pour votre réponse. J'ai installé cette extension.

Cela répond presque à mon besoin.

Le truc intéressant c'est la constitution d'un filtre dans le fournisseur de données. le probleme est que le volume des données est tel que ca prend beaucoup de temps..

Je ne connaissais pas. merci. A utiliser sur des petits volumes.

Hors ligne

 

#4 Fri 14 June 2024 11:58

cyrille
Participant assidu
Date d'inscription: 7 Feb 2006
Messages: 401

Re: QGIS: filtrer une couche en fonction d une autre

Bonjour,
finalement je suis arrivé à cacher une couche de points avec une couche polygone ayant un ensemble de définition.

La méthode est de passer par la symbologie et de définir une règle pour gérer l'affichage : overlay_intersects('departement_l93') ou la couche des départements est filtrée. => l'intérêt est de juste modifier l'ensemble de definition de cette couche des département pour qu'ensuite les règles se mettent à jour en cascade.

Attention la couche de points et la couche des polygones doivent avoir la même projection. sinon ca ne fonctionne pas. J'ai mis longtemps à trouver le problème.

Fonctionne sous Qgis 3.36.3 avec des couches geopackages.

Sans ensemble de définition la règle suivante fonctionne : intersects(@geometry, geometry(get_feature('DEPARTEMENT_L93', 'NOM_M', 'ALPES-MARITIMES')))

Dernière modification par cyrille (Fri 14 June 2024 12:37)

Hors ligne

 

Pied de page des forums

Powered by FluxBB