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?