En artículos anteriores, hemos mostrado cómo podemos calcular el área de un polígono en QGIS, bien a través de la calculadora de campos, en nuestro post «Cómo usar la calculadora de campos en QGIS«.
O, también, «Cómo calcular el área y perímetro de una capa en edición con QGIS» con el plugin CalcArea2.
En este artículo, nuestro objetivo es enseñarte a calcular el área en 3D con QGIS.
Calcular el «área en 3 dimensiones» no es tan directo como calcular un área plana, ya que el área en 3D implica considerar la pendiente y elevación del terreno o superficie.
Qué información necesitamos para calcular el área en 3D
Para calcular el área real de un polígono en QGIS necesitamos contar con una capa vectorial que recoja la extensión del territorio o parcela sobre el que deseemos calcular el área en 3D, así como un MDT (Modelo Digital del Terreno) con información sobre altitud de ese territorio o parcela.
En nuestro artículo Cómo descargar modelos digitales de elevaciones con QGIS (y sin QGIS), te mostramos fuentes desde la que obtener este tipo de archivos, además, puedes descargarlos desde el Centro Nacional de Descargas del IGN.
Lo primero que tenemos que tener en cuenta es que, en terrenos con pendiente, la superficie real del terreno (3D) será mayor que la proyectada (2D), que en QGIS calculamos con la función $area.
La función $area de QGIS calcula el área proyectada en el plano, es decir, el área 2D de las geometrías en el Sistema de Coordenadas en el que se encuentre el proyecto. Por tanto, esta función, no tiene en cuenta la topografía ni la pendiente, no considera el MDT de forma automática aunque tuviésemos uno en dicho proyecto.
Vamos a ponerte un ejemplo para calcular el área en 3D del área municipal de Vegacervera en la provincia de León (España):

Mediante la función $area la superficie del munidicpio es de 34.749.578 m² o 34,75 km².
Extraer la altitud de la zona de estudio
El primer paso que debemos acometer, es extraer o recortar el área del MDT empleando como máscara nuestro polígono que representa el municipio de Vegacervera.
Para realizar este proceso, contamos con la herramienta Cortar ráster por capa de máscara… del menú Ráster → Extracción.

En los parámetros de la herramienta introduciremos como capa de entrada nuestro MDT, y como capa de máscara, el polígono con la extensión del municipio.
Es importante que trabajemos en un Sistema de Coordenadas Planas o Cartesianas, y que ajustemos la extensión del ráster de salida a la extensión del polígono empleado como máscara.

El resultado será una capa ráster con el área correspondiente al MDT dentro del municipio de Vegacervera:

Cálculo de área del MDT con GRASS
Una vez que ya tenemos el MDT con el área de la zona de estudio, el municipio de Vegacervera, vamos a valernos de los algoritmos de la integración de GRASS en QGIS.
Asegúrate de que tienes activo el plugin GRASS GIS Provider para poder trabajar con sus algoritmos en QGIS.

Concretamente, trabajaremos con el algoritmo r.surf.area, que puedes localizar utilizando el buscador de la Caja de herramientas de Procesos.

Ejecuta el algoritmo sobre el MDT con la extensión del municipio de Vegacervera. En unidades, deberemos escoger metros.

El resultado es un html en el que se refleja el área teniendo en cuenta la topografía del municipio de Vegacervera.

Mediante la función r.surf.area la superficie estimada del municipio es de 35.587.993 m² o 35,58 km². Es decir 838.415 m² más que mediante el método de cálculo en 2D.
Tutor de los cursos de QGIS, QGIS avanzado, QGIS aplicado a Urbanismo y Catastro, PostGIS, Teledetección con QGIS y Google Earth Engine, PostGIS y ArcGIS. Licenciado en Geografía y Master en SIG y Ordenación del Territorio. Echa un vistazo a todos nuestros cursos de SIG online.