Cuencas_hidrográficas_ArcMap_Python

Los perfiles profesionales que trabajan con datos hidrológicos son sin duda unos de los que más partido sacan, o al menos pueden sacar, a las herramientas GIS. Si además incorporan a estas herramientas las automatizaciones de procesos que es posible implementar con Python y arcpy las posibilidades se multiplican.
Es el caso de nuestra alumna del Master GIS Python, Teresa Hijazo. Teresa, como parte de las necesidades de su trabajo, requería mejorar el cálculo de cuencas hidrográficas con Arcpy Python partir de un modelo digital de elevaciones.

Teresa propone dos vías para hacerlo:

  1. La primera estima si existen sumideros “sink”, o irregularidades en el MDT que distorsionan el cálculo. SI existen les genera un relleno calculado por nosotros.
  2. La segunda es como la primera pero el relleno se hace de forma automática por ArcGIS

Aquí abajo os dejo la descripción que hace Teresa del proceso y los diagramas que lo describen. También al final tenéis las toolbox y los scripts de Python del resultado. Muchas gracias por el trabajo Teresa

Cuencas_hidrográficas_ArcMap_Python_esquemaI

 

 

Muchas gracias por el trabajo Teresa

Documentación del proceso:

La metodología correcta y más completa es la que se muestra en el esquema de trabajo. Se parte de un DEM o MDT, dichos modelos suelen presentar sumideros (sink) y su presencia puede alterar el cálculo correcto de la dirección de flujo y por tanto afectar al resto del proceso.  El objetivo inicial es corregir el DEM para lograr un DEPRESSIONLESS DEM. Una vez corregido se calcula la red de drenaje y a continuación se delimitan las cuencas.

–> La automatización completa del proceso (OPCIÓN 1) puede provocar que los resultados obtenidos no sean satisfactorios para el tipo de trabajo que se está realizando. Esto se debe a que parámetros subjetivos como Zlimit y Threshold ya están definidos por el autor.

Con la OPCIÓN 1, el valor de Zlimit que se introduce en el proceso de rellenado de sumideros (Fill) se considera que es igual al valor medio más la desviación estándar del raster de profundidad de relleno (Sink_depth). Este valor en la mayoría de los casos no rellena todos los sumideros pero sí que podría rellenar aquellos que más nos interesen en nuestro estudio. En esta misma opción, el umbral (Threshold) necesario para definir la red de drenaje,  se considera el 1% del valor máximo del raster de acumulación de flujo. Este valor ocasionalmente no es suficiente para generar una red de drenaje tan densa como la que necesitamos en el estudio.

–>Debido a las limitaciones que a veces puede ofrecer la OPCIÓN 1, se presenta otra opción (OPCIÓN 2) donde el proceso de delimitación de cuencas está semiautomatizado. Esta opción permite al usuario introducir el valor Zlimit que considere oportuno para lograr un MDT corregido.  Además una vez que se ha calculado la red de drenaje (threshold=1%) y cuencas, si el usuario no está satisfecho con el resultado obtenido tiene la opción de volver a calcular la red de drenaje, pudiendo introducir manualmente el Threshold[1], y por tanto recalcular las cuencas de drenaje.

–>La OPCIÓN 3, es un proceso simplificado y es el que tiene un uso más extendido. Consiste en suponer que existen sumideros y rellenarlos todos por defecto, no hay cálculo de Zlimit. Al igual que en la opción 2 se hace un primer análisis considerando Threshold=1%, si el resultado no es óptimo se permite al usuario recalcular la red de drenaje introduciendo manualmente dicho parámetro.

–>La última opción, OPCIÓN 4, debe ser utilizada cuando el usuario quiere conocer la cuenca drenante a un punto concreto. En esta opción el proceso de relleno de sumideros (Fill) se realiza igual que en la opción 3, es decir se rellenan todos los sumideros.

 

Cuencas_hidrográficas_ArcMap_Python_esquemaII


 


[1] Aquí se debe entrar a sopesar que valor sería el más indicado, ya que si el valor de acumulación es muy bajo muchos pixeles serán seleccionados como pertenecientes a la red hídrica, si por lo contrario, el valor del pixel es muy alto solo aquellos drenajes de orden alto serían definidos como red hídrica.

 Descarga de herramientas cálculo cuencas Python y documentación