Message posté par : 1pichet
----------------------------------------
Bonjour à tous,
Je sui confronté à un problème d'intersection ou de différence entre deux
multi-polygone.
Dans le cadre de mon travail j'avais besoin de faire la différence d'une couche de
multi-polygones (A) par une autre couches de polygones (B). Pour se faire j'ai
commencé par créer une couche (C) union des polygones de la couche B qui intersectent les
polygones de la couche A.
Ensuite j'ai réalisé une différence entre les polygones de la couche A avec ceux de la
couche C. J'avais fait un lien avec la clé primaire de la table A.
En regardant de plus près le résultat, je me suis aperçu que la différence réalisée sur
certains polygones était incomplète. En gros si j'ai un multi-polygone C qui est
composé de deux polygones B1 et B2 qui intersectaient bien un multi-polygone A, lorsque je
fais St_Difference(A,C) j'obtiens le même résultat que St_difference(A,B1).
Il en va de même pour St_Intersection. La partie B2 du multi-polygone C semble ne pas être
vue alors qu’elle chevauche bien le polygone A.
J'ai vérifié la validité des polygones ainsi que le SRID, et les surfaces mais rien à
redire.
Lorsque je réalise l'opération suivante St_Difference(A, St_buffer(C,0.01)), là
j'obtiens bien le bon résultat.
Je n'ai pas réussi à trouver d'information sur ce problème, et du coup
j'aimerais savoir s'il y a un moyen de le contourner sans passer par des buffer.
Merci d'avance pour vos réponses.
PostgreSQL 9.5.24
Postgis 2.2.1
(impossible de demander des versions plus récentes...)
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=337902#p337902
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net