I would like to calculate the true surface area of a region from DEM (2D elevation data).

Is it possible to do this with QGIS?

And if yes, how?

I managed to obtain a 3D visualization of the elevation data using nviz (a GRASS-module) but I do not see any possibility to calculate the 3D surface area.

1 Answer 1


Yes, it's possible. The GRASS module is r.surf.area. You can use OPEN GRASS Tools (GRASS plugin of QGIS). Its use is very intuitive. For irregular surfaces you have to use a mask.

1) Using the module in the square area (red) of next image:

enter image description here

2) Results in Output Window:

enter image description here

  • Thank you very much for your quick reply! I tried to use it, however if I clicked on a red square tool nothing happened. So I was not able to select the region of interest as you showed it in a picture. I got the output but it is difficult to interprete since the area of interest was not selected. Mar 24, 2015 at 16:45
  • Sorry, I thought that you were familiar with GRASS plugin of QGIS. In OPEN GRASS Tools, the last icon is for editting current GRASS region. In this way, I selected the rectangular red edge area for calculating 3D area in my huge dem raster (icon below the hammer is for visualizing or no this region). However, you can use a mask for irregular areas. After, I ran the module with a simple click in Run.
    – xunilk
    Mar 24, 2015 at 17:43
  • Thank you so much! That was really a great help. I could measure it now. Mar 25, 2015 at 7:32
  • What if the area to calculate is not a rectangle but an irregular shape. Is there a way to use a 2D polygon as a mask? Jan 16, 2018 at 15:59
  • @AN For yesterday Yes, there is. You can use a 2D polygon as a mask outside GRASS (QGIS Processing Toolbox; clip raster by mask layer) and, afterward, load it in its respective GRASS Mapset of QGIS.
    – xunilk
    Jan 17, 2018 at 17:24

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.