5

I have a shapefile of points (SR EPSG:3857 - WGS 84), with (in the attributes) an "ID" column for each point, and a "radius" length in meters; I am trying to find a way to create a buffer (or a circular polygon) around each point.

The radius of the buffer should be taken from its column, and it is different for each point. How can I do that? And is there a way to automate the creation of this buffer?

I am using QGIS Desktop 3.4.8 with GRASS 7.6.1.

5
  • 2
    Are you aware if the fact that EPSG:3857 does not return rwal world distances? Length is heavily distorted - so depending on what you want to do, these buffers might lwad to completely wrong results
    – Babel
    Jan 19 at 19:31
  • @Babel no, I didn't know. Do you suggest using EPSG:4326 instead? Jan 20 at 10:37
  • 2
    No, EPSG:4326 has degrees as length units, thus this makes no sense. Which CRS depends on your area of interest. Use local UTM zone or - for the whole world - an equal area projection.
    – Babel
    Jan 20 at 10:51
  • Thanks Babel. I found information on the Equal Earth Projection, I will try to implement it (the area of study is the whole Europe) and try again. Jan 20 at 11:41
  • Check also these threads: gis.stackexchange.com/a/212031/99589 and gis.stackexchange.com/q/390815/99589
    – Taras
    Jan 21 at 12:05

3 Answers 3

13

Using Vector geometry > Buffer tool in Processing Toolbox, you can specify the field that contains the radius value, as in the image:

enter image description here

After selecting a field, Distance parameter will be inactive.

enter image description here

3
  • Thanks, this actually works. But I also calculated the area the circle should have (with r*r*3.14) and it is very different from what I obtain if, after constructing the circle in the way you suggested, I calculate the area (through Field calculator > New field > Geometry > $area). Do you know why? Jan 20 at 10:36
  • 1
    That has to do with the CRS you use - see my other comment.
    – Babel
    Jan 20 at 10:52
  • @LisaTedeschi, please check this answer : gis.stackexchange.com/a/375628/99589
    – Taras
    Jan 21 at 11:56
7

This algorithm is deprecated and can be removed anytime. Prefer using Buffer algorithm instead.


There is "Variable distance buffer" geoalgorithm for that.

Keep in mind : This tool is only available in the Graphical Modeler. It is not available in the Processing Toolbox.

example

1
  • Thanks, this is also useful. But I have the same problem as for the method suggested by Kadir Şahbaz, that is the calculation of the area: I also calculated the area the circle should have (with r*r*3.14) and it is very different from what I obtain if, after constructing the circle, I calculate the area. And the Attribute table of the Buffer shapefile I obtain with your method has only one ID column with only one row, despite the starting shapefile having many different columns and rows, and therefore it is impossible to calculate the different areas of the different circle polygons I have. Jan 20 at 10:59
1

There is also SAGA's "Feature Buffer" geoalgorithm available in the QGIS's Processing Toolbox (Ctrl+Alt+T).

example

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