Estimar el error en la determinación del área 3D de una montaña o elevación con el módulo r.surf.area (QGIS-GRASS)

En un artículo pasado se estimó el área 3D de una montaña o elevación usando el módulo r.surf.area de GRASS en QGIS. Para una superficie plana el área total, (filas + columnas -1)*(área del píxel), es subestimada porque se excluye la mitad de aquella que representan los píxeles del perímetro. Otra fuente de error puede venir dada por contornos muy irregulares y tamaños de celda elevados.

Para reducir los errores de estimación a aquellos que representan sólo el perímetro de la base, se va ejecutar r.surf.area para un sólido representado por un cono regular. Para ello se va emplear el módulo r.circle para crear un mapa de anillos concéntricos desde un punto determinado, elegido arbitrariamente, hasta una distancia fija. Esto representaría las curvas de nivel de una montaña con forma cónica. Si se asume una cota arbitraria para la cúspide y la base, al conocer el radio es posible determinar su superficie 3D de consideraciones eminentemente geométricas.

Por ejemplo, si la cúspide está en la cota 800 m y desde la cota 600 m nos hemos alejado del centro 500 m (radio = r), la altura del cono (h) será de 200 m y su superficie 3D (S3D) vendrá dada por π.r.g; donde g es la generatriz del cono (hipotenusa del triángulo rectángulo que conforman el radio y la altura). Por tanto S3D = 3,1416*500*raiz(5002 + 2002) = 845.899,709823203 m2.

Para verificar que tan alejados estamos del valor anterior, primero se ejecutó r.circle con los parámetros que se encuentran en la siguiente imagen:

con el fin de obtener un ráster de círculos concéntricos (denominado circulo) a partir de un punto seleccionado arbitrariamente sobre el área de trabajo de nuestro dataset tiznados (cuyo DEM tiene una resolución de 30×30 y esa fue la que tomó el ráster circulo). El radio del círculo mínimo fue 0 m y el del círculo máximo fue 500 m por lo que esto representaría la proyección de un cono. Sin embargo, para determinar el área 3D se requiere un ráster DEM y para ello hay que transformar al ráster circulo mediante álgebra de mapas. Si se asume que la cúspide de la montaña está en la cota 800 m y la base en la cota 600 m, la altura de la montaña cónica es de 200 m y la disminución de la altura en cada anillo concéntrico es proporcional a la tangente del ángulo que forman la generatriz y el radio, es decir, 200/500 = 0.4. Expresado en álgebra de mapas con r.mapcalc sería:

r.mapcalc "circulo2=800-0.4*circulo"

lo que permite obtener el ráster (circulo2) que se observa en la siguiente imagen:

La ejecución de r.surf.area con el ráster circulo2, produce la salida de la imagen siguiente:

donde el valor del área 3D es de 781.017,3 m2; subestimada en 64882,409823203 m2, es decir, un 7,67 %.

Para estimar el área del perímetro se transformó circulo en un ráster de valor constante (circulo3) con álgebra de mapas (r.mapcalc “circulo3=if(circulo2,1)”), se vectorizó con r.to.vect.area, se convirtió a shapefile de líneas con v.type.bl y v.category.add antes de rasterizarlo nuevamente con v.to.rast.constant. La mitad del área del perimetro (lo supuestamente subestimado), obtenida con r.report, fue de 53.918,5 m2 por lo que el área 3D de la montaña sería de 834.935,8 m2; apenas un 1 % menor que la predicha de consideraciones geométricas.

Esta entrada fue publicada en GRASS, QGIS, SIG, Software Libre. Guarda el enlace permanente.

Una respuesta a Estimar el error en la determinación del área 3D de una montaña o elevación con el módulo r.surf.area (QGIS-GRASS)

  1. Pingback: Determinación del área 3D de una montaña o elevación mediante un script de bash en QGIS-GRASS (Linux) |

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s