I need to buffer a collection of line segments, with a flat shape (corners) at the line ends, as opposed to round. 99% of them work fine in ArcGIS, but some individual line segments are quite short (2-80cm long) and these fail (output is empty geometry) if the buffer widths I am creating is sufficiently large compared to the length of the line segment--some buffers are up to 30m wide. This appears to be a know issue with Arcgis: see this documentation. The result I am wanting is a very long, skinny rectangle with the long axis being the buffer distance x2 (e.g. a 30m buffer on both sides of the line segment).

I tried to do this in QGIS, as in this link, but I only seem to have access to v.buffer, not v.buffer.distance, which has more options for buffer end types. The client specifically wants flat ends on the buffers, not round.

This image shows what I'm trying to achieve. On the left is a short line segment. In the middle is the output I want: a buffer of 30m on either side of the line. This can be done in ArcGIS, but if the buffer width is too large, it creates empty output as I mentioned above. On the right is the buffer created by QGIS and v.buffer.distance. It does not seem to matter what options I choose, it always creates round buffers.

Any suggestions?

1 Answer 1


Change your toolbox to Advanced interface.

Advanced Interface

The tool v.buffer.distance is in the GRASS vector tools:

enter image description here

These screen grabs are from QGIS 2.6.0 (Brighton) but it works the same in QGIS 2.0.1 (Dufour). The Doufour toolbox for v.buffer.distance resembles the link shown but the new one is slightly different.

  • I did manage to use the v.buffer.distance tool, but the output it creates always seems to be rounded buffers, which is not what I want.
    – spindrift
    Commented Dec 12, 2014 at 18:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.