[geos-devel] [GEOS] #554: Artifacts and limitations of bufferLineSingleSided
GEOS
geos-trac at osgeo.org
Wed Jun 6 03:45:28 PDT 2012
#554: Artifacts and limitations of bufferLineSingleSided
------------------------+---------------------------------------------------
Reporter: ylan | Owner: geos-devel@…
Type: defect | Status: new
Priority: major | Milestone: 3.3.5
Component: Default | Version: svn-trunk
Severity: Unassigned | Keywords:
------------------------+---------------------------------------------------
Recently I implemented an algorithm that involves single-sided buffering
of LineStrings and LinearRings. With testing I have encountered some
limitations of the current implementation of the bufferLineSingleSided()
function.
1) It does not accept LinearRings nor does it detect closeness of
LineStrings. This may result in missing line segments in the buffered
output, since it does not buffer the bit between the end and start point
of the LineString. The advantage over buffering the LineString as a
polygon (which sometimes gives the right result) is that this method can
also give you an 'interior' buffer
[[Image(http://share.ylan.nl/GEOS_bufferLineSingleSided.png)]]
2) Certain concavities in the LineString may create unwanted disconnected
LineStrings in the buffer output. To illustrate this see the screenshot
above (where green is the input and red is the single-sided buffer with a
radius of 3). The artifacts appear in the top right.
A hex-encoded WKB of the corresponding input LineString is attached.
--
Ticket URL: <http://trac.osgeo.org/geos/ticket/554>
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