[GIS] How to split a (road) buffer using the centerline

arcgis-desktopbufferlineqgis

I have a road centreline dataset which I have buffered using the road width. I used the standard QGIS buffer tool. I realise for my analysis I actually need to split the road buffer in half and essentially create a 'right' and 'left' side of the road.

My idea is to use the QGIS processing toolbox buffer and select the 'don't make caps' option to create a square buffer. Then I should be able to use the original centreline to split the buffer.

My questions are, if anyone has done something like this:

A. Is there a plugin that can already do this? Or if not,
B. What would be the best way to run this process over 30,000 polylines? And,
C. How could I label each side of the buffer? (keeping in mind the labeling could be as arbitrary and 'side A' and 'side B'.)

I'm also open to using ArcGIS or any other tool if it means I could get this done faster.

Best Answer

I know two and a half ways to create single sided buffers directly with open source tools.

  1. OpenJUMP buffer tool can do left side/right side buffers (advanced options).
  2. Spatialite 4.1 has SQL function SingleSidedBuffer http://www.gaia-gis.it/gaia-sins/spatialite-sql-latest.html
  3. PostGIS perhaps does not have single sided buffer yet but is has OffsetCurve that can be utilised.
Related Question