[geos-devel] [GEOS] #380: Buffer(Geometry, 0) deletes part of the polygon

Martin Davis mbdavis at refractions.net
Mon Oct 4 12:39:06 EDT 2010


  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 at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/geos-devel

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



More information about the geos-devel mailing list