Message posté par : Nicolas Ribot
----------------------------------------
Bonjour,
Vous travaillez avec quelle version de Postgis (select postgis_full_version();) ? Les
dernieres versions de geos (3.10+) règlent pas mal de problèmes de topologie.
Pour corriger ces problèmes de topologie, on peut tenter de modifier légèrement les coord
des géométries avec st_snapToGrid, ou st_reducePrecision (nouvelle fonction, plus
puissante je crois) et d'utiliser les nouvelles variantes de st_intersection,
st_union, st_difference, st_symDifference qui prennent un paramètre de précision (le meme
qu'on utilisera pour st_reducePrecision)
La premiere étape est de corriger les géométries invalides dans les tables sources:
-----------------
Code :
update matable set geom = st_makeValid(geom)
where not st_isvalid(geom);
-----------------
Puis de tester si l'utilsation de st_reducePrecision sur les geom corrige le pb,
directement dans la requete:
-----------------
Code :
select gid, suivi,ouvrage_type, source,code,dr,convention,
t2.parcelle, t2.section, st_intersection(st_reducePrecision(t1.geom, 0.01),
st_reducePrecision(t2.geom, 0.01) ) as geom
from schema.t1 join schema.t2 on st_intersects (t1.geom,t2.geom);
-----------------
Si c'est le cas, on peut mettre à jour les geom des tables si nécessaire (ou juste
appliquer le reducePrecision dans la requete de calcul d'intersection)
Nicolas
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=362249#p362249
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