I used points of trees and created buffers around them based on their canopy widths. I rasterized these polygons and burned tree height as a value (later to be used for shadow modeling). Important is to add that many trees overlap since their crowns are touching.

enter image description here

After using the 'Rasterize' (gdal) tool I got a raster where most of the lower trees got priority over higher ones and it seems that they 'cover' higher trees.

enter image description here

To fix it, I tried this approach, and it fixed some of the conflicts (lower tree over higher), but not all of them. I also tried dissolving trees based on the same height and then rasterizing, but it didn't work.

Is there any other approach to give priority to polygons with higher Tree-height value and obtain spatially more accurate raster?

  • 1
    In 2016 I asked here similar question - gis.stackexchange.com/questions/206120/…. In your particular case you might try option -sql with select all and order by height - I do not know if gdal rasterize supports order by but worth a shot. If that is not possible you will have to process your vector layer first - cut all polygons by intersections, and filter overlaps to highest.
    – Miro
    Oct 6, 2023 at 11:52
  • What expression did you use in this approach? id or tree-height? Oct 6, 2023 at 12:34

1 Answer 1


I managed to solve it with this procedure:

  1. Intersect - creates the intersections of polygons and adds them as rows to the attribute table, also creates a new field with the value of each polygon separated by '|' sign.
  2. Create a new ID field in previously created Intersect layer with $id in Field Calculator.
  3. Export Intersect layer to csv and open it in Excel.
  4. Separate the column by delimiter '|' (Data - Text to columns).
  5. Find the max value within new columns (Formulas - AutoSum - Max).
  6. Upload the table to QGIS and join the table to Intersect layer with new ID field as a unique identifier.
  7. Result of 'Rasterize' is below.

enter image description here

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.