[geos-devel] TopologyException: found non-noded intersection
Martin Davis
mbdavis at refractions.net
Tue Jun 22 11:52:30 EDT 2010
Unfortunately the polygon overlay operations in GEOS/JTS aren't
perfectly robust, so it's possible that there is some pair of polygons
computed during the union which causes a robustness error.
Also, there was a bug uncovered recently in JTS which has the effect of
not performing some robustness improvement steps during CascadedUnion.
It's a simple fix, so perhaps someone (strk?) will be able to implement
it in GEOS.
It looks like your geometries are fairly low precision, so rounding
probably won't help. You might try translating your dataset so that it
lies around the origin.
Martin
G. Allegri wrote:
> I'm using Postgis 1.5.1 to compute a Union on a quite large
> multipolygons dataset (some hundreds of thousands of features), but
> I'm facing the following error:
>
> NOTICE: TopologyException: found non-noded intersection between
> LINESTRING (1.7318e+006 4.77959e+006, 1.7318e+006 4.77958e+006) and
> LINESTRING (1.7318e+006 4.77958e+006, 1.73174e+006 4.77954e+006) at
> 1.7318e+006 4.77958e+006
>
> ERROR: GEOS union() threw an error!
>
> I know it's a known issue, but I haven't been able to find a good,
> replicable, solution. The input geometries result valid (in simple
> feature meaning).
> What is causing this? I have overlapping polygons, but I thought the
> cascaded union algorithm computed the necessary noding on the
> linestrings.
> I've supposed it depends on tolerances/precision model, but I don't if
> it makes sense and how, eventually, tune it.
>
> Thanks a lot,
> Giovanni
> _______________________________________________
> geos-devel mailing list
> geos-devel at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/geos-devel
>
>
--
Martin Davis
Senior Technical Architect
Refractions Research, Inc.
(250) 383-3022
More information about the geos-devel
mailing list