[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