How to calculate the real surface: comparison between types of DTM

Some weeks ago, on the Facebook Group GIS Italia a person asked this:

Hello to everybody! Someone know how is possible to calculate the real surface of a polygon with QGIS?

The answer that I have give at this question is that the output of calculation of the real surface area depends of some parameters: the morphology of area of interest and the resolution of the DEM. In base of the variation of this two data we have or we haven’t an output of the calculation process near the real surface extension. The person who have made the question, after my answer, has verificated that her area of interest is essentially a flat surface, then the response of the calculation of the real surface area of her polygon was most similar to the response of the calculation of polygon’s flat surface.

Only now I have a possibility to give a demonstration of my response at that question.

Below, I do a comparison between the DTM of ISPRA, that have the spatial resolution equal to 20m/px, and the LiDAR DTM of Metropolitan City of Naples, that have the spatial resolution equal to 1m/px.

The ISPRA’s DTM cover all italian Country and is possible to download it here, while LiDAR DTM cover only the area of Metropolitan City of Naples and is possible to download it here.

My first step was the individuation of an area essentially in flat; I found it in to the area at the Nord of Naples.

superficie dtm

After the individuation of the area target, I did a clip with the boundaries of the area target on both of DTM. Then, with the geo-algorithm r.reclass I have defined the altimetric bands. Earlier I have analyzed the raster’s metadata discovered that the minimum height is 35 meters and the maximum height is 336 meters. In base of this, I divided the target area in three altimetric bands:

  • 35 – 100
  • 101 – 200
  • 201 – 336

After this, I have preferred to use the outcome going out of the DTM LiDAR for the successive study because this output is most accurate than the other DTM. Then, after the extraction af altimetric bands, I have transform the raster in vector with use of geo-algorithm Polygonize (Raster to Vector).

superficie dtm

After this I have used the geo-algorithm Real Surface Area for the extraction of the real surface from the raster. I suggest you to see the video of Salvatore Fiandaca for understand how this geo-algorithm works.

Last step has been use Zonal Statistic Plugin to send into the vector of altimetric bands the real extension of the three bands, in base of the two DTM.

Surface (ha)
Altimetric Band DTM 20m/px DTM 1m/px Vector
35 – 100 3.506 3.523 3.515
101 – 200 2.381 2.414 2.384
201 – 336 234 254 233
Totale 6.121 6.191 6.132


The previous table should be read in this way: with tha data from DTM 20m/px run the risk of underestimate the real surface of the target area. There isn’t this problem with the DTM 1m/px because we have a most precise resultation. Remember that our target area is almost in flat, however we have a difference of 59 ha between the extension of the vector and the extension of the LiDAR DTM. One ha is pair at 10.000 m2.

If you want, you can download the QGIS project with the data that I have use in this article.