Resumen:
Me gustaría crear un raster donde cada celda contenga la distancia vertical al agua más cercana (una aproximación decente sería aceptable). El problema es que no estoy seguro de cómo hacerlo.
Enfoque actual:
He mirado la documentación de mi SIG (estoy usando Grass 6.4 si eso importa). Y no encuentro ninguna forma directa de realizar este cálculo. También he buscado en la web sin suerte.
Así que se me ocurrió lo siguiente:
- convertir mi vector de agua en una trama de agua (1=agua, null=todo lo demás)
- reemplazar los 1s en la trama de agua con la altitud sobre el nivel del mar
- realizar un análisis de "vecindad" (ventana móvil). Calcular la altitud media del agua para un radio de 100 metros para cada celda de mi región (ignorando los nulos).
- repita lo anterior con 100m, 200m, 300m, ..., 2000m. Una trama para cada distancia.
- utilizando r.grow.distance calcular la distancia entre cada celda y su agua más cercana
- entonces, utilizando el álgebra de mapas, miro la distancia al agua más cercana para cada celda y su propia altitud y restar la altitud media del agua para el raster apropiadamente distanciado.
Los problemas de mi método:
-
Es muy exigente desde el punto de vista computacional. Estoy trabajando con una resolución de 10 metros y necesito realizar este modelado en unos 60 millones de celdas. Llevo días y días creando rásters en un escritorio rápido y no estoy ni cerca de terminar.
-
Con radios pequeños, el cálculo parece razonable. Si la distancia al agua más cercana es de 75 metros y utilizo una altitud media de 100 metros hasta el agua, la aproximación es bastante buena. Pero si la distancia al agua más cercana es de 1875 metros y utilizo la trama de 1900 metros, estaré promediando la altitud al agua de muchas celdas muy alejadas del agua más cercana a mi celda. Los resultados no son satisfactorios. He considerado utilizar algún tipo de proceso de suavizado para la trama final, pero me pregunto si hay un enfoque completamente diferente que no estoy viendo.
He leído sobre proyectos de modelos predictivos en los que la distancia vertical al agua más cercana es una de las entradas del modelo, así que sé que se puede hacer, pero no estoy seguro de cómo.
Agradecería cualquier ayuda que pueda recibir con este problema. Gracias.
1 votos
En arcgis podrías usar la función de asignación euclidiana + algo de álgebra de mapas. Sé que no tienes ese software, pero tal vez hay una fuente para el cálculo?
0 votos
@BlindJesse tiene una buena solución si "más cerca" significa realmente eso, en lugar de estrictamente aguas abajo al agua más cercana. Es un flujo de trabajo sencillo: atribuya la cuadrícula de agua con las elevaciones. Redondearlas a números enteros para poder aplicar la atribución euclidiana. Resta el DEM de eso, luego toma el valor absoluto de esa diferencia. Ya está hecho.