#1 Fri 29 October 2021 23:43
- oligator6200
- Participant occasionnel
- Date d'inscription: 10 May 2019
- Messages: 32
QGIS: precision des jointures spatiales
Bonjour à tous,
Je bloque sur un problème en apparence tout simple... Je cherche à joindre les attributs d'une couche de superposition (b) représentant un périmètre sur une couche source (a) représentant des communes. J'utilise pour cela la fonction geomwithin (j'ai aussi testé avec agrégat) qui fonctionne très bien avec des couches égales géométriquement. En revanche, j'ai d'autres couches dont les limites ne se superposent pas totalement (des micro-dépassements sont visibles à grande échelle) et donc lorsque j'effectue ma jointure spatiale geomwithin ou agrégat, je n'obtiens un résultat que pour les entités strictement à l'intérieur de ma couche b tandis que toutes les entités frontalières à b ressortent en valeur NULL. Ma question est la suivante : est-il possible de définir un seuil de tolérance afin que les entités dont la plus grande surface de l'aire est à l'intérieur de la couche de superposition b soit également prise en compte. Je ne sais pas si je suis clair alors j'ai joins une capture ou l'on peut voir les entités sélectionnées par la requête within et les contours de mon périmètre en rouge et noir.
Je précise que mes couches ont les mêmes projections.
Je vous remercie d'avance pour votre aide précieuse comme toujours.
Bonne journée, Oli
Hors ligne
#2 Thu 04 November 2021 10:15
- aheurion
- Participant actif
- Lieu: NANTES
- Date d'inscription: 8 Oct 2020
- Messages: 143
Re: QGIS: precision des jointures spatiales
Bonjour,
Sous quelle version de Qgis es-tu ? l'option "intersect" de la jointure normalement doit pouvoir joindre des entités qui s'intersectent sans être parfaitement égales.
Sinon il y a l'expression aggregate (avec intersects($geometry,geometry(@parent)) comme expression de vérification).
Hors ligne
#3 Thu 04 November 2021 16:33
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 1008
Re: QGIS: precision des jointures spatiales
Sauf erreur, il n'y a pas de capture d'écran jointe
Peut-être que, pour la jointure, tu peux te baser uniquement sur le centroïde de l'une des 2 couches ?
Moi je fais souvent ça en SQL avec cette jointure :
Code:
WHERE St_Intersects(A.geometry, st_centroid(B.geometry) )
Sylvain M.
Hors ligne