[prev in list] [next in list] [prev in thread] [next in thread] 

List:       geos-devel
Subject:    Re: [geos-devel] [GEOS] #380: Buffer(Geometry,	0) deletes part of
From:       Martin Davis <mbdavis () refractions ! net>
Date:       2010-10-04 16:39:06
Message-ID: 4CAA032A.3040304 () refractions ! net
[Download RAW message or body]

  I guess this depends on what you expect as the "correct" value from 
the operation.  The part

(-70 57,-66 57,-66 58,-68 58,-68 57,-70 57)

is a hole in the original polygon.  That's why it doesn't appear in the 
buffer result.  If it was provided as another polygon, it would appear 
correctly.

This said, there's no claim that buffer(0) can fix all problems 
perfectly.  It's just a convenient heuristic.

The fundamental problem perhaps is that there are different 
interpretations of what the "correct" result is for a given set of 
linework (and even more so in a case like this, where linework is 
explicitly labelled as a hole).

On 10/1/2010 7:53 AM, GEOS wrote:
> #380: Buffer(Geometry,0) deletes part of the polygon
> ------------------------+---------------------------------------------------
>   Reporter:  jaapdekker  |       Owner:  geos-devel@…
>       Type:  defect      |      Status:  new
>   Priority:  minor       |   Milestone:
> Component:  Default     |     Version:  3.2.0
>   Severity:  Unassigned  |    Keywords:
> ------------------------+---------------------------------------------------
>   Using buffer(Geometry,0) to fix wrong polygons is not always working OK
>   The polygon that I try to fix has a Self-intersection at or near point -70
>   57
>
>   calling
>   {{{
>   Select AsText(Buffer(MPolyFromText('MULTIPOLYGON(((-66 58,-66 59,-64
>   58,-65 58,-66 58),(-70 57,-66 57,-66 58,-68 58,-68 57,-70 57)),((-70
>   58,-70 57,-72 57,-72 59,-71 59,-71 58,-70 58)))'),0));
>   }}}
>   gives as result
>   {{{
>   MULTIPOLYGON(((-70 57, -72 57, -72 59, -71 59, -71 58, -70 58, -70 57)),
>   ((-66 58, -66 59, -64 58, -65 58, -66 58)))
>   }}}
>   it is missing the part
>   {{{
>    (-70 57,-66 57,-66 58,-68 58,-68 57,-70 57)
>   }}}
>   in the output
>
>   I'm Using Spatialite version 2.4rc3 wich is using geos version
>   3.2.2-CAPI-1.6.2
>
>
>
> _______________________________________________
> geos-devel mailing list
> geos-devel@lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/geos-devel

-- 
Martin Davis
Senior Technical Architect
Refractions Research, Inc.
(250) 383-3022

_______________________________________________
geos-devel mailing list
geos-devel@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/geos-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic