I create maps for wildfire risk assessments and am constantly asked to plot "defendable space" buffer zones around building envelopes that are different distances on different sides of the buildings. (See image)

I have been doing this in QGIS by creating a buffer for each distance required and then manually drawing one that matches as close as I can.

This is obviously less than ideal. Is there a way I can create these buffers with QGIS? I also have access to ArcGIS and MapInfo.

Multiple Buffer Distances

  • 1
    Welcome to GIS.SE! Can you add a bit more detail, such as saying what defines the spacing (e.g. why are two sides 25m, and two sides 19m)? Is there some attribute, or some other logic?
    – BradHards
    Feb 11, 2015 at 10:35
  • 3
    One way would be convert poly to lines, add buffer distance field, populate with correct distance, buffer lines, dissolve buffers, eliminate hole in the middle. If you turn that into a script or model it might be faster than your manual method. But getting that variable buffer distance in there, or creating some attribute that says this line is this type of buffer so it can do it on its own seems like it requires manual intervention for each shape, which slows things down.
    – Chris W
    Feb 11, 2015 at 21:49
  • @BradHards Thanks, I've been lurking here for a long time! The distances are given to me by the consultant preparing the report and indicate the distance from the building that can be reasonably defended in the case of a wildfire. The distances vary from building to building, and each side of a building can also be different. Just to make it easy. I've seen distances ranging from 13m to 30m. Feb 12, 2015 at 12:19
  • @ChrisW I didn't think of poly to line, that makes sense, thanks. It won't shave much time off but at least the buffers will be more accurate. Feb 12, 2015 at 12:21
  • @BradHards Since he's mapping a risk assessment, my guess is the mapping is whatever the existing area that would qualify as defensible space is. As with any existing condition survey, it'll vary from site to site. The defensible space should be a uniform 30' on all sides of the structure (depending on where you are and what defense zone we're talking about). Since the cases are all pretty much unique features, I don't know of any way to automate/speed up the process.
    – Chris W
    Feb 12, 2015 at 21:41

1 Answer 1


So I assume you have the polygons already that need to be buffered and you have distances (in meters or feet depending on your projection system).

No matter what you will have some manual work here, since you will have to put in these buffer distances.

But we can remove a lot of the manual work with a couple of models in QGIS.

The model will be:

  1. Convert polygon to polyline.
  2. Explode polyline.
  3. Add buffer column that will be used for the buffer.

Since we explode the polylines you can have a different buffer distance for each side (polyline).

Then you have the manual step of putting in the buffer distances for each polyline.

Next model:

  1. GRASS variable distance buffer. (Use GRASS because it allows for a no endcap style, so the ends do not overlap the other sides)
  2. Convex hull to fix the corners.

In pictures, model 1:

Original polygon:

enter image description here

  1. Polygon to polyline:

enter image description here

  1. Explode polylines.
  2. Add buffer column with values manually added:

enter image description here

Model 2:

  1. Variable distance GRASS buffer with the buffer column. v.buffer.column with "Do not make caps at the ends of polylines" ticked:

enter image description here

  1. Convex hull to fix the corners:

enter image description here

The corners are how we want them. If you use endcaps you end up with a lot of overlap with longer distance buffers.

Model 1:

enter image description here

Model 2:

enter image description here

Your Answer

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

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