[geos-devel] Re: [GEOS] #488: TopologyException unioning valid
geometries [JTS fails]
GEOS
geos-trac at osgeo.org
Thu Dec 15 02:52:51 EST 2011
#488: TopologyException unioning valid geometries [JTS fails]
------------------------+---------------------------------------------------
Reporter: sky | Owner: geos-devel@…
Type: defect | Status: reopened
Priority: major | Milestone: GEOS Future
Component: Default | Version: svn-trunk
Severity: Unassigned | Resolution:
Keywords: jts fails |
------------------------+---------------------------------------------------
Comment(by strk):
Enabling some debugging code in GEOS here's what I see:
{{{
Trying with original input.
Original exception: TopologyException: no outgoing dirEdge found at
2.4121639662098748 48.875557185142789
Trying with Common Bits Remover (CBR)
CBR: TopologyException: no outgoing dirEdge found at 0.41216396620987483
0.8755571851427888
Trying with snapping
Computed snap tolerance: 7.513087031840282175e-12
Computed common bits: 2 48
SNAP: snapped geom 1 is INVALID: Self-intersection at or near point
0.41216396620987439 0.8755571851427888 (0.41216396620987438837
0.87555718514278879638)
SNAP: TopologyException: side location conflict at 0.41216396620987439
0.8755571851427888
EXCEPTION on case 1 test 1: TopologyException: no outgoing dirEdge found
at 2.4121639662098748 48.875557185142789
}}}
I think the key is in the 'snapped geom 1 is INVALID' message, which means
that geometry snapping is _introducing_ an invalidity. I saw this in other
cases as well, don't remember if I also filed a bug for JTS about it.
Anyway see also #501.
If I'm not mistaken the problem is always with snapping making a portion
of a polygon collapse to become a line, thus making that part invalid.
--
Ticket URL: <http://trac.osgeo.org/geos/ticket/488#comment:26>
GEOS <http://geos.refractions.net/>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).
More information about the geos-devel
mailing list