#1 Fri 25 March 2016 12:06
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
QGIS : Affichage des points à l'intérieur d'un polygone
Bonjour,
Je dispose d'une couche de points et d'une couche d'un seul polygone et je cherche à n'afficher que les points qui sont dans mon polygone.
Je sais que je peux faire une intersection spatiale puis enregistrer le résultat dans une nouvelle couche de points ou bien créer un champ qui contiendrait une valeur d'intersection oui ou non.
Mais je cherchais à faire ça de manière dynamique, de telle sorte que si mon polygone évolue, l'affichage de mes points évolue également.
Car dans le générateur de requête, onglet Général dans les Propriétés de la couche, il n'y a pas accès aux fonctions "spatiales" qu'on peut trouver dans le générateur d’expressions.
Si vous avez des pistes, je suis preneur.
Pierre
Hors ligne
#2 Fri 25 March 2016 12:09
- YoLecomte
- Participant assidu
- Lieu: Epinal
- Date d'inscription: 7 Jul 2015
- Messages: 266
Re: QGIS : Affichage des points à l'intérieur d'un polygone
Bonjour,
En appliquant une symbologie de type polygone inversé à votre polygone et en plaçant la couche de points en dessous, vous obtenez ce que vous cherchez.
Cordialement.
Hors ligne
#3 Fri 25 March 2016 12:12
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS : Affichage des points à l'intérieur d'un polygone
Effectivement, j'y avait pensé mais cela ne prend pas en compte la gestion des étiquettes des objets situés sous le polygone inversé qui apparaissent toujours.
Hors ligne
#4 Fri 25 March 2016 12:43
Re: QGIS : Affichage des points à l'intérieur d'un polygone
Bonjour,
On peut utiliser une formule pour savoir si un point est dans un polygon d'une autre couche:
Code:
intersects( geometry( get_feature('poly', 'id', 1)),$geometry)
Ici, dans ma couche point, je vérifie si l'entité ayant l'id 1 de ma couche 'poly' intersect le point actuel. Si c'est le cas, la formule renvoie 1, sinon 0.
On peut donc l'utiliser dans la symbologie avec un ensemble de règles :
Code:
intersects( geometry( get_feature('poly', 'id', 1)),$geometry) = 1
Hors ligne
#5 Fri 25 March 2016 13:06
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS : Affichage des points à l'intérieur d'un polygone
Bonjour,
Une autre piste peut être le plugin Mask
Hors ligne
#6 Fri 25 March 2016 13:38
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS : Affichage des points à l'intérieur d'un polygone
Merci beaucoup à tous, la fonction proposée par Dof fonctionne parfaitement avec les valeurs définies par les données.
Hors ligne