I have seen a similar question at Creating different diameter circles round points using QGIS but it is very old am seeking up-to-date and possibly more conclusive guidance.

I would like to create a new layer with circles of a specific diameter based on an attribute within a point layer. This relates to trees, specifically BS5837 In the UK.

For example with a DBH, (Diameter at Breast Height of tree stem), reading of 250mm I want to see a circle with a radius of 3m. This circle is typically calculated and then drawn manually in aCAD. I'm looking to improve this workflow.

The DBH/RPA calculation is simple. RPA=DBH*12 normally I work this into meters for CAD (/1000).

The calculation I have used in QGIS is slightly different to compensate for units (DBH*0.012) would work either way though. The projections were key in getting the correctly sized circles.

Many of the suggested methods, including those received here utilise buffer in Vector Tools this is likely the most robust solution. However, I have an issue that my projection (EPSG3857 - WGS84 Pseudo) is in degrees. In the answer provided below to arrive at a correctly formatted output I used EPSG:23030 - ED50 / UTM zone 30N.

My ultimate goal is to have some form of template style/formula/symbology/buffer that runs through the point data drawing all RPAs.

My next goal will be to condensed the newly learned workflow down into some form of template style or project i can import data into.

The result


2 Answers 2


Assuming that you have a point layer named trees with an attribute / field DBH.

If your point layer is latitude, longitude (for instance EPSG:4326) or in another not suitable CRS, you can reproject it using the Reproject Layer algorithm in the Processing Toolbox. A UTM Projection is a safe choice of CRS (UTM Zone 31N is fine if the area is in France, eastern Spain, eastern England, ...). Continue with the output layer.

With QGIS you can run the Buffer algorithm from the QGIS Processing Toolbox and:

  1. Specify a Data-defined override for Distance (choose Edit in the pull-down menu labelled with a table icon):

    enter image description here

  2. Set the expression to "DBW" * 1.2:

    enter image description here

  3. Click the OK button.

    The Buffer window should then look something like this:

    enter image description here

  4. Click the Run button


You don't actually specify which GIS system you are using! That said I would say it's a similar process regardless of which system.

Add a new numeric field to your point dataset and then compute the distance into it using the field calculator. Compute the radius so in your case it would be (DBH * 12) but if DBH is in mm and you want the radius in metres then you'll need to make your equation something like ((DBH * 0.001) * 12).

With that field populated you simply run the buffer tool selecting your field as the buffer distance parameter.


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.