[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