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

GeoDataDays 2025

#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 wink

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

 

Pied de page des forums

Copyright Association GeoRezo