[geos-devel] [GEOS] #522: Exception on overlay between valid linestrings [JTS fails too]

GEOS geos-trac at osgeo.org
Wed Jul 17 13:20:00 PDT 2013


#522: Exception on overlay between valid linestrings [JTS fails too]
------------------------+---------------------------------------------------
 Reporter:  strk        |       Owner:  geos-devel@…              
     Type:  defect      |      Status:  new                       
 Priority:  major       |   Milestone:  GEOS Future               
Component:  Default     |     Version:  3.3.2                     
 Severity:  Unassigned  |    Keywords:  jtsfail                   
------------------------+---------------------------------------------------

Comment(by strk):

 Running this test after snapping improvements:
 {{{
 Trying with original input.
 Original exception: TopologyException: found non-noded intersection
 between LINESTRING (-1.1205e+06 851294, -1.1205e+06 851343) and LINESTRING
 (-1.1205e+06 851343, -1.1205e+06 851342) at -1120500.0000001257
 851343.3885007716
 Trying with Common Bits Remover (CBR)
 CBR: result (after common-bits addition) is INVALID: Self-intersection at
 or near point -1120500.0000001257 851294.29919294897
 (-1120500.0000001257285 851294.29919294896536)
 CBR: result (after common-bits addition) fix_self_intersection
 (UnaryUnion)
 CBR: result (after common-bits addition and fix_self_intersections) is
 INVALID: Self-intersection at or near point -1120500.0000001257
 851294.29919294897 (-1120500.0000001257285 851294.29919294896536)
 CBR: TopologyException: Result of overlay became invalid after re-addin
 common bits of operand coordinates: Self-intersection at or near point
 -1120500.0000001257 851294.29919294897 at -1120500.0000001257
 851294.29919294897
 Trying with snapping
 Computed snap tolerance: 7.8501591251697397784e-09
 Computed common bits: -1120512 849920
 SNAP: snapped geom 0 fix_self_intersection (UnaryUnion)
 SNAP: snapped geom 1 fix_self_intersection (UnaryUnion)
 SNAP: TopologyException: found non-noded intersection between LINESTRING
 (12 1379.82, 12 1423.39) and LINESTRING (12 1423.39, 12 1422.24) at
 11.999999874271452 1423.3885007716017
 EXCEPTION on case 1 test 1: TopologyException: found non-noded
 intersection between LINESTRING (-1.1205e+06 851294, -1.1205e+06 851343)
 and LINESTRING (-1.1205e+06 851343, -1.1205e+06 851342) at
 -1120500.0000001257 851343.3885007716
 }}}

 Basically this time snapping does NOT introduce any invalidity, still the
 exception is thrown :(

-- 
Ticket URL: <http://trac.osgeo.org/geos/ticket/522#comment:5>
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