Cómo calcular el área 3D con QGIS

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):

Cómo calcular el área 3D con QGIS

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.

Cómo calcular el área 3D con QGIS

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.

Cómo calcular el área 3D con 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.

Cómo calcular el área 3D con QGIS

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

Cómo calcular el área 3D con QGIS

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.