[geos-devel] Re: [GEOS] #244: Buffer fails to buffer elements of multpolygon

GEOS geos-trac at osgeo.org
Tue May 12 12:21:54 EDT 2009


#244: Buffer fails to buffer elements of multpolygon
------------------------+---------------------------------------------------
 Reporter:  pramsey     |        Owner:  geos-devel at lists.osgeo.org
     Type:  defect      |       Status:  new                       
 Priority:  major       |    Milestone:  3.1.1                     
Component:  Default     |      Version:  3.0.3                     
 Severity:  Unassigned  |   Resolution:                            
 Keywords:              |  
------------------------+---------------------------------------------------
Changes (by strk):

 * cc: mbdavis at refractions.net (added)

Comment:

 Alright, got to build JTS correctly and added debugging traces there.
 So far I'm in BufferBuilder, where depths are computed and result edges
 found.
 JTS and GEOS differ in the depths they compute:

 JTS goes like this:

  (1)
    dirEdge 0 inResult:false isArea:true leftDepth:1 rightDepth:0
    dirEdge 1 inResult:true isArea:true leftDepth:0 rightDepth:1
  (2)
    dirEdge 0 inResult:true isArea:true leftDepth:0 rightDepth:1
    dirEdge 1 inResult:false isArea:true leftDepth:1 rightDepth:0
  (3)
   dirEdge 0 inResult:false isArea:true leftDepth:1 rightDepth:0
   dirEdge 1 inResult:true isArea:true leftDepth:0 rightDepth:1

 GEOS, on the other hand, gets to compute depths > 1 for polygon 2 and 3
 (the ones
 that disappear from output):

  (1) <--- FINE
   dirEdge 0 inResult:0 isArea:1 leftDepth:1 rightDepth:0
   dirEdge 1 inResult:1 isArea:1 leftDepth:0 rightDepth:1
  (2) <--- BOGUS DEPTHS !
   dirEdge 0 inResult:0 isArea:1 leftDepth:1 rightDepth:2
   dirEdge 1 inResult:0 isArea:1 leftDepth:2 rightDepth:1
  (3) <--- BOGUS DEPTHS !
   dirEdge 0 inResult:0 isArea:1 leftDepth:2 rightDepth:1
   dirEdge 1 inResult:0 isArea:1 leftDepth:1 rightDepth:2


 Martin, I'll keep going, if anything rings a bell there please let me know
 :)

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