11

I have a projected line layer (Shapefile) in QGIS. For every line segment I want to create a polygon without line end caps. The resulting polygone should not be dissolved to a single one.

I tried fTools buffering tool. This can create a buffer without dissolving, but its not possible to define the line end caps.

I tried also v.buffer of GRASS. This can create a buffer with defined line ends, but I cannot disable the dissolving.

Is there a possibility to have both: not dissolved and without caps at line end? The result should be a Shapefile with polygons (buffer) for every line segment.

2
  • 1
    Can you draw a picture of what you have in mind?
    – raphael
    Commented Dec 23, 2015 at 15:09
  • Why not write some python to loop through the line segments and run v.buffer on each seperately?
    – Mr Purple
    Commented Mar 10, 2016 at 22:49

2 Answers 2

6

With GRASS v.buffer press Iterate over this layer button.

Below (RHS) figure shows buffers, a buffer polygon layer per each polyline feature, without dissolved parts. Then merge output buffers. (Vector | Data Management Tools)

enter image description here

2
  • slightly ridiculous that you have to make a seperate layer for each buffer/line segment. This is simply not feasible for complex geometries
    – user32882
    Commented Jul 26, 2018 at 8:51
  • the graphic above is a bit outdated, but the tool is now simply called v.buffer I believe v.buffer.distance capability was merged into the single user tool.
    – nr_aus
    Commented Jul 18, 2023 at 4:37
2

I imagine that this might be what you are after:

enter image description here

If so, I think you have to first break up your polylines into lines, e.g. using the 'Explode lines' processing tool.

Then, applying v.buffer as you mention above might leed to success.

update

What I just saw is that the 'Explode lines' tool shoots a little over the target, because it explodes each polyline into segments with only start- and endpoint and nothing in between...

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.