[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