[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