Ticket #1198 (closed defect: wontfix)
ST_Union fails on some sets of polygons. Snapping works around the problem
| Reported by: | dmiranda | Owned by: | pramsey |
|---|---|---|---|
| Priority: | medium | Milestone: | PostGIS 2.0.0 |
| Component: | postgis | Version: | trunk |
| Keywords: | st_union topologyexception noded intersection | Cc: |
Description
How to reproduce:
-load either the attached shapefile or the sql into postgis -run the query:
select st_union(geom) from st_union_topology_exception;
-The following message should appear:
ERROR: GEOSUnionCascaded: TopologyException?: found non-noded intersection between LINESTRING (-54.7158 -28.0099, -54.7156 -28.0116) and LINESTRING (-54.7158 -28.0099, -54.7158 -28.0119) at -54.7158 -28.0099 SQL state: XX000
Other observations: -st_isvalid returns true for all the polygons -snapping may get rid of the problem (select st_union(st_snaptogrid(geom,0.00000000001)) from st_union_topology_exception; finishes without errors) -buffering by zero does not get rid of the problem -snapping stops solving the problem at 0.00000000000001, presumably near the float 64 resolution.
possibly related to #575, #1045 and/or #1173 (error message is similar)
Version: Ubuntu 11.04 Postgresql 9.1 postgis 2.0.0svn Rev: 7856 Last Changed Date: 2011-09-15 14:43:57 GEOS 3.4.0dev Rev: 3465 Last Changed Date: 2011-09-12 01:47:39

