6

When I request a radius buffer in QGIS (Dufor). my buffer comes out as a 20-sided polygon rather than a true "circle". This has lead to some missed blocks when clipping underlying vector layers for population density analyses (e.g., they would be within a circle, but this 20-sided polygon's straight sides preclude fringe blocks from being included in the radius).

is there a way I can go into the radius buffer command lines and either increase the number if sides to make the area more circular, or make it truly a "radius" buffer?

5 Answers 5

13

The "segments to approximate" option is what you are looking for. So the number you put into that filed will be the number of sides/quarter. So the default is 5, so you end up with a 20 sided polygon. Put in 25, and you end up with a 100 sided on, so it becomes smoother.

1
  • 3
    I can't believe I missed that, and I've been using QGIS for a good amount of time now. Guess I was spoiled by Arc's "warm and fuzzy" appearance. Thanks to all, much improved!
    – YuhasGIS
    Commented Apr 17, 2014 at 18:44
3

I don't know how to make "perfect" circle buffer with qgis.

But, the "Segment option" at "Fixed distance buffer" means:

"How many segments do you want to make in 90 (360/4) degrees?"

If you got 5 segments, you will get 20 = 5*4 segments totally (in circle) and that segments will have 90/5 = 18 degrees each.

If you got 9 segments, you will get 36 = 9*4 segments totally (in circle) and that segments will have 90/9 = 10 degrees each.

So, the larger number of segments, the smoother the circle will be created.

2

You can control the resulting number of segments in the Buffer dialog box.

enter image description hereenter image description here

And, if you want more, search for "buffer" in the Processing Toolbox:

enter image description here

You can use all of these algorithms (from Ftools, GRASS GIS or SAGA)

1
  • 1
    is right and you can also choose up to 100 in processing buffer tool.
    – nagellette
    Commented Apr 17, 2014 at 16:19
2

In addition to HeikkiVesanto's answer:

If you're using the geometry generator for buffering, an extra argument after the actual buffer distance can be given to determine the number of segments, for example: buffer($geometry,3000,100) where 100 expresses the number of segments.

This argument is not suggested in the syntax, but it's there.

0

If you would like to avoid "missed blocks", you need to control the maximum deviation between the ideal buffer boundary and the boundary of the returned buffer.

Providing a value for "segments to approximate" will result in fairly accurate approximations for small buffer distances, but as the buffer distance increases, the deviations will also increase. To limit the deviations, "segments to approximate" needs to be increased for increasing buffer distances. Maximum buffer boundary deviation is one of the options in the Multi-distance QGIS plugin (in addition to "segments to approximate").

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.