[GEOS] #1101: Negative buffer does not return empty geometry

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[GEOS] #1101: Negative buffer does not return empty geometry

geos-2
#1101: Negative buffer does not return empty geometry
------------------------+--------------------------
 Reporter:  uclaros     |      Owner:  geos-devel@…
     Type:  defect      |     Status:  new
 Priority:  major       |  Milestone:  3.9.2
Component:  Default     |    Version:  3.9.0
 Severity:  Unassigned  |   Keywords:
------------------------+--------------------------
 In specific cases of 4 sided polygons, running a specific negative buffer
 erroneously returns a polygon instead of an empty geometry.
 In shapely:

 {{{
 from shapely import wkt
 p=wkt.loads('POLYGON ((646990.625 5344959.438, 646994.486 5344963.053,
 646999.7389999999 5344957.423, 646995.9157765866 5344952.851883921,
 646990.625 5344959.438))')
 p.buffer(-4.2,0)
 # does not return empty
 p.buffer(-3.2,0)
 # correctly returns empty
 }}}

--
Ticket URL: <https://trac.osgeo.org/geos/ticket/1101>
GEOS <http://trac.osgeo.org/geos>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).

_______________________________________________
geos-devel mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/geos-devel
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1101: Negative buffer does not return empty geometry

geos-2
#1101: Negative buffer does not return empty geometry
------------------------+---------------------------
 Reporter:  uclaros     |       Owner:  geos-devel@…
     Type:  defect      |      Status:  new
 Priority:  major       |   Milestone:  3.9.2
Component:  Default     |     Version:  3.9.0
 Severity:  Unassigned  |  Resolution:
 Keywords:              |
------------------------+---------------------------

Comment (by mdavis):

 This is an issue in JTS as well.  It seems to be a long-standing problem
 (which is good and bad - I was worried it might have been a result of the
 change in [changeset:"efe09d6e53ad5e6a7a43747af24f28c6876c6c72/git"
 efe09d6/git]).

 The problem is caused by the generated buffer curve "flipping inside out".
 Unfortunately I don't have a idea of what a fix might be at the moment.

--
Ticket URL: <https://trac.osgeo.org/geos/ticket/1101#comment:1>
GEOS <http://trac.osgeo.org/geos>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).

_______________________________________________
geos-devel mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/geos-devel
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1101: Negative buffer does not return empty geometry

geos-2
In reply to this post by geos-2
#1101: Negative buffer does not return empty geometry
------------------------+---------------------------
 Reporter:  uclaros     |       Owner:  geos-devel@…
     Type:  defect      |      Status:  new
 Priority:  major       |   Milestone:  3.9.2
Component:  Default     |     Version:  3.9.0
 Severity:  Unassigned  |  Resolution:
 Keywords:              |
------------------------+---------------------------

Comment (by komzpa):

 For dumb ideas, negative buffer of -N for a ring of perimeter P will eat
 area of N*P so if area of ring is smaller it will always disappear. Math
 not proven.

--
Ticket URL: <https://trac.osgeo.org/geos/ticket/1101#comment:2>
GEOS <http://trac.osgeo.org/geos>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).

_______________________________________________
geos-devel mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/geos-devel
Reply | Threaded
Open this post in threaded view
|

Re: [GEOS] #1101: Negative buffer does not return empty geometry

geos-2
In reply to this post by geos-2
#1101: Negative buffer does not return empty geometry
------------------------+---------------------------
 Reporter:  uclaros     |       Owner:  geos-devel@…
     Type:  defect      |      Status:  new
 Priority:  major       |   Milestone:  3.9.2
Component:  Default     |     Version:  3.9.0
 Severity:  Unassigned  |  Resolution:
 Keywords:              |
------------------------+---------------------------

Comment (by mdavis):

 To refine that idea a bit, for a given area A the shape with the largest
 distance to the boundary is a circle.  So the radius of the circle of area
 A is a lower bound on the negative buffer distance which will cause a
 shape to be eroded completely. This is a good optimization to add to the
 buffer code, and it might prevent this sort of issue, in large part.

--
Ticket URL: <https://trac.osgeo.org/geos/ticket/1101#comment:3>
GEOS <http://trac.osgeo.org/geos>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).

_______________________________________________
geos-devel mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/geos-devel