Estudios de visibilidad en arqueología (IV). Visibilidad Acumulativa con GRASS.

En esta ocasión vamos a ver cómo podemos crear un algoritmo que nos cree un mapa de Visibilidad Acumulativa con el software GRASS y el modelador.

Para empezar, vamos a explicar algunas limitaciones que hoy por hoy cuenta el modelador, en principio el análisis de visibilidad tendremos que realizarlo con el algoritmo r.los, no obstante ya vimos en otro post que este no era muy eficiente cuando se trataba de grandes mapas, sin embargo es el único que podemos usar en el modelador. Su documentación aún es escasa y el espacio para poner procesos es limitado y tendremos que jugar con ese handicap. Espero que corrijan estos contratiempos en la próxima y prometedora nueva versión de GRASS 7.

Para empezar, recordemos que es un campo de Visibilidad Acumulativa: “es la suma de varios mapas  de campos visuales individuales”, por tanto, teóricamente podemos crear uno de estos mapas manualmente usando varias herramientas que debería tener todo Software SIG. Algoritmo de cálculo visual, una calculadora de mapas raster y si se da el caso una herramienta de reclasificación raster. Pues bien, todos estos procesos podemos automatizarlos con el modelador de GRASS y así ahorrarnos un tiempo precioso que podemos invertir en alguna otra tarea, ya que el cometido de este programita es precisamente ese, automatizar algoritmos.

Ahora vamos a ver grosso modo cómo se compone nuestro algoritmo.

modelador

Como podéis comprobar son varios los pasos necesarios para llegar a al mapa de visibilidad acumulativa, en primer lugar, dejar claro que vamos a tomar cuatro puntos desde los cuales vamos a realizar el análisis. Los lugares elegidos, son, en primer lugar  el que ya tomamos el el post de la comparativa, mientras que el resto son completamente aleatorios, si quisiéramos realizar un análisis sobre yacimientos reales tan sólo habría que sustituir las coordenadas aleatorias por las pertinentes en cada caso.

Ahora vamos a explicar paso a paso en qué consiste este algoritmo. En primer lugar debemos de  concretar cual será el MDE sobre el cual vamos a realizar nuestro análisis.

MDE

A continuación le vamos a indicar al modelador que debe realizar 4 análisis de visibilidad con el algoritmo r.los. Para cada análisis le vamos a indicar coordenadas, radio sobre el cual vamos a realizarlo así como altura del punto de observación, pudiendo así personalizar cada análisis. (Como podéis comprobar al lado de cada r.los hay un número entre paréntesis, éste número lo que hace es indicar en qué posición va a realizar cada paso el modelador).

r-los

Como resultado de dicho análisis vamos a obtener un mapa diferente, como sabemos en qué formato nos va a dar cada mapa, (un mapa en el que cada celda visible nos viene con un número de 0º a 180º). Vamos a tener que reclasificar por separado, ya que lo que nos interesa es un mapa de 1 y 0. Para ello he creado un archivo con reglas de reclasificación y lo hemos aplicado con r.reclass.

reclass

Dado que los ficheros resultantes de aplicar esta reclasificación no son verdaderos mapas raster vamos a tener problemas si queremos operar con éstos normalmente como si uno de ellos se tratara.  ¿Qué debemos hacer entonces al respecto? Muy sencillo, vamos a usar el algoritmo r.resample, ya que si lo usamos en un mapa reclasificado como es el caso nos dará como resultado un mapa raster de verdad. (Fijaos que los elementos en un óvalo lila son los ficheros resultantes de cada proceso aplicado)

r-resample

¿Ahora que paso toca? Bien el paso que sigue es el siguiente, dado que el mapa de visibilidad viene con las celdas que no son visibles como NULL, las tenemos que cambiar a valores 0, ya que de lo contrario no podremos operar con ellas en la calculadoras de mapas, puesto que una celda con valor 1 sumada a otra celda de valor NULL, nos dará un resultado de NULL, y ese no es nuestro objetivo. El objetivo es que la suma nos dé 1. Para ello vamos a usar el programa r.null, el cual nos va a hacer que todas aquellas celdas ráster con valor NULL, pasen a ser de valor 0, para así poder operar con ellas posteriormente con la calculadora de mapas.

r-null

Una vez ya tenemos todos nuestro mapas bien preparados para ser sumados como nosotros queremos, vamos a proceder a la suma aritmética de nuestros mapas con r.mapcalculator.

r-mapcalculator

Una vez el modelador ha acabado de trabajar nos cargará la capa resultante en el árbol de capas, mostrándonos el resultado.

mapa final

Si quisiéramos crear un mapa de visibilidad múltiple tan sólo tendríamos que reclasificar este mapa y decirle que todas las celdas con valor distinto de 0 ahora pasan a valer 1. Como podéis ver las posibilidades son muchas con el modelador y los programas que vienen con GRASS.

Espero que os haya resultado de utilidad este post y que hayáis comprendido un poco mejor el funcionamiento del modelador y cómo podemos usarlo para crear mapas con algoritmos que en principio no vienen en el programa GRASS. Si habéis encontrado el post de utilidad, por favor, compartidlo.

Deja un comentario