[geos-devel] [GEOS] #1022: Buffering a specific closed linestring erroneously produces polygon without hole.
GEOS
geos-trac at osgeo.org
Sun Mar 15 13:42:11 PDT 2020
#1022: Buffering a specific closed linestring erroneously produces polygon without
hole.
------------------------+---------------------------
Reporter: uclaros | Owner: geos-devel@…
Type: defect | Status: new
Priority: major | Milestone:
Component: Default | Version: 3.8.0
Severity: Unassigned | Resolution:
Keywords: |
------------------------+---------------------------
Comment (by Mike Taves):
Confirmed, with same behavior with JTS 1.14. And for the record, the input
geometry is valid and simple.
The test can be simplified using a default buffer (without parameters).
What makes this bug interesting is that it is depends on the buffer
distance, since most other values produce the expected result. And it's
not just 1.0.
Here is a simple shapely example that checks 50 buffer distances between
0.1 and 2.0
{{{
import numpy as np
from shapely import wkt
g = wkt.loads('LineString (278601.0234000000054948
4295292.71929999999701977, 278598.71919999999227002
4295290.49340000003576279, 278589.06283691781572998
4295303.48101469129323959, 278605.49300000001676381
4295297.03689999971538782, 278601.0234000000054948
4295292.71929999999701977)')
for b in np.linspace(0.1, 2.0, num=50):
if len(g.buffer(b).interiors) == 0:
print(b)
}}}
shows these buffer distances
{{{
0.6428571428571428
0.9918367346938776
1.263265306122449
1.379591836734694
}}}
so 8% failure rate.
--
Ticket URL: <https://trac.osgeo.org/geos/ticket/1022#comment:2>
GEOS <http://trac.osgeo.org/geos>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).
More information about the geos-devel
mailing list