[geos-devel] Re: [GEOS] #523: SymDifference between two valid geometries return an _invalid_ geometry

GEOS geos-trac at osgeo.org
Fri Mar 30 06:32:18 EDT 2012


#523: SymDifference between two valid geometries return an _invalid_ geometry
------------------------+---------------------------------------------------
 Reporter:  strk        |       Owner:  geos-devel@…              
     Type:  defect      |      Status:  new                       
 Priority:  major       |   Milestone:  3.3.3                     
Component:  Default     |     Version:  3.3.2                     
 Severity:  Unassigned  |    Keywords:                            
------------------------+---------------------------------------------------

Comment(by strk):

 The inputs are a larger polygon (first) and a very narrow polygon almost
 collapsed to a line which intersects with the former.

 Areas:
 {{{
      839.745285423078
  3.86746841149477e-14
 }}}

 Overlay with original input fails: TopologyException: found non-noded
 intersection between LINESTRING (1.72506e+06 4.81909e+06, 1.72506e+06
 4.81909e+06) and LINESTRING (1.72506e+06 4.81909e+06, 1.72506e+06
 4.81909e+06) at 1725064.1365604463 4819094.70235069

 Common-bits remover result is refused due to invalidity of the output.

 Snap heuristic is accepted no matter invalidity of the output.
 Invalidity is (in both cases): Self-intersection at or near point
 1725064.1365604463 4819094.70235069 (1725064.1365604463499
 4819094.7023506900296)

 I guess it'd make more sense to throw a TopologyException on invalid
 output.. but that's really something that shouldn't happen.

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