Análisis y delimitación de cuencas hidrográficas usando software libre (QGIS & GRASS)

NOTA: Una versión en PDF de este documento está disponible para descargar aquí.

Introducción

Las cuencas son unidades naturales del terreno, definidas por la existencia de una división de las aguas superficiales debida a la conformación del relieve.

En este documento se presenta un tutorial para delimitar una cuenca hidrográfica usando herramientas de software libre. Para ello se usa la potencia de análisis que tiene el paquete GRASS, mediante la facilidad que proporciona QGIS. El procedimiento se ejemplifica mediante la delimitación de algunas microcuencas cercanas a la población de Santos Reyes Nopala, en el estado de Oaxaca, México.

Datos

Para hacer la delimitación de las cuencas se necesitan datos del modelo digital de elevaciones (MDE) del lugar. En el caso de México, estos datos se llaman continuo de elevaciones mexicano y se pueden descargar desde el sitio de Instituto Nacional de Estadística y Geografía (INEGI) de manera gratuita. Para acceder al modelo hay que visitar el sitio de INEGI (http://www.inegi.org.mx/) y seguir la ruta: Geografía > Temas > Datos de relieve > Continental > Continuo de Elevaciones Mexicano 3.0 (CEM 3.0) – descarga. La versión 3 de este modelo tiene una resolución máxima de 15 x 15m por pixel.

Para descargar los datos hay tres opciones. La primera es opción se llama Cobertura geográfica, y se descarga el MDE completo para un estado del país; la segunda opción Clave de la carta descarga la porción del MDE que corresponde a una carta geográfica. El catálogo de cartas se puede consultar en el sitio web de la CONABIO (http://www.conabio.gob.mx/informacion/gis/) de donde se puede descargar un archivo vectorial con las claves de las cartas. Solo hay que ir al panel lateral del sitio y seguir la ruta Topografía > Información general y activar la casilla Índice de cartas 1:50000. Mientras esta capa se encuentre marcada y seleccionada, es posible descargar la información seleccionando la pestaña de Metadatos. Se recomienda descargar el archivo con extensión KML y abrirlo con la aplicación Google Earth, de esta manera se facilita conocer el número de carta. La tercera y última opción para descargar una porción del MDE consiste en seleccionar un área rectangular de la república, para ello basta con trazar un rectángulo sobre el mapa de México usando el cursor, cabe señalar que el tamaño del mismo tiene un cierto límite que se indicará al momento de ir seleccionando el área. Una vez hecha la selección, solo hay que ir a la parta de abajo de la página y descargar la información. Si se tienen problemas para la descarga de la información, se puede intentar con un navegador web diferente.

El MDE se descargará en formato raster como un archivo con extensión TIF. Además de los datos del relieve, es posible descargar la información de sombreado (en inglés hillshade), mismo que ocupa mayor espacio.

Esta información tipo raster es reconocible tanto por GRASS como por QGIS, y se puede visualizar fácilmente como se muestra en la siguiente figura.

Modelo digital de elevaciones cargado a QGIS como una capa raster.

El software

GRASS GIS, comúnmente referido como GRASS (Geographic Resources Analysis Support System) es una suite de software de Sistemas de Información Geográfica (SIG) libre y de código abierto, usado para análisis y manejo de datos geoespaciales, procesamiento de imágenes, producción de mapas y gráficos, modelado espacial, y visualización. Actualmente GRASS GIS se usa alrededor del mundo en ambientes académicos y comerciales, así como también en muchas agencias gubernamentales y empresas de consultoría ambiental. Es un miembro fundador de la Open Source Geospatial Foundation (OSGeo).

QGIS es un Sistema de Información Geográfica de Código Abierto licenciado bajo GNU – General Public License . QGIS es un proyecto oficial de Open Source Geospatial Foundation (OSGeo). Corre sobre Linux, Unix, Mac OSX, Windows y Android y soporta numerosos formatos y funcionalidades de datos vector, datos raster y bases de datos.

QGIS integra las herramientas de GRASS como si fuera uno de sus módulos. De esta manera, no es necesario utilizar ambos programas por separado, lo cual es una ventaja pues para algunos usuarios resulta complicado usar la interfaz de GRASS.

Para ello es necesario que, al momento de descargar e instalar QGIS se seleccione la opción de instalar GRASS de forma adicional.

Cambiar la proyección del MDE

Muchas veces es necesario realizar un cambio de proyección de la información descargada. En este caso la información descargada de INEGI se encuentra en coordenadas geográficas (longlat) y en el elipsoide WGS84. Esto se puede ver haciendo clic secundario sobre la raster (en el Panel lateral) y seleccionar Propiedades, luego ir a la pestaña de Metadatos, como se muestra en la figura siguiente.

Metadatos del modelo digital de elevaciones.

Para la delimitación y análisis de cuencas es necesario tener la información proyectada. En este caso se utilizará la proyección Universal Transversa de Mercator (UTM), dátum WGS84 y la zona 14N, que es donde se encuentra el lugar.

El cambio de proyección se realiza con la herramienta que se encuentra en el menú Raster > Proyecciones > Combar (Reproyectar)…, la ventana de diálogo de este módulo se muestra en la figura.

Cambio de proyección del modelo digital de elevaciones a UTM.

En esta ventana se debe seleccionar el raster de entrada al que se desea cambiar la proyección en “Archivo de entrada“, se establecerá de manera automática el sistema de coordenadas de la capa “SRE de origen” que en este caso es el sistema de coordenadas geográficas y cuya clave es EPSG:4326. Enseguida se debe asignar un nombre a la capa que se obtendrá como resultado en “Archivo de salida” y seleccionar el sistema de coordenadas deseado en “SRE de destino“, para ello hay que dar clic en el botón “Seleccionar…” y buscar el sistema de coordenadas proyectadas. En este caso UTM 14N WGS84 corresponde a la clave EPSG:32614. Para buscar las claves hay que escribir en la ventana parte del nombre del sistema de coordenadas y se filtrarán los nombres que coincidan, o bien, se puede consultar el catálogo disponible en http://spatialreference.org/. Finalmente, hay que dar un valor para los datos faltantes, se recomienda usar un valor fuera del rango de validez, en este caso se usó el valor -9999.

Crear un conjunto de mapas

Para manejar la información y trabajar con GRASS es necesario crear una base de datos. Una base de datos de GRASS es simplemente un directorio en el que se guardan localizaciones (locations) y conjuntos de mapas (mapsets). Se pueden tener todas las bases de datos que se necesiten para trabajar.

En este caso se creará la base de datos con el complemento que permite usar los módulos de GRASS desde el ambiente amigable de QGIS. Para activar el plugin se abre el programa QGIS y se accede al menú Complementos > Administrar complementos en donde se tiene que activar la casilla correspondiente a GRASS 7. Cuando se tenga activado el complemento se puede seguir con la creación de la base de datos.

Primero se debe tener abierto el MDE en QGIS, para ello dar clic en el icono Añadir capa raster en la barra de menú y buscar el archivo en formato TIF que se descargó previamente del sitio del INEGI para abrirlo. Una vez cargado, hay que crear la base de datos.

  1. Para crear una base de datos se selecciona el menú Complementos > GRASS > Nuevo directorio de mapas y se abre una ventana que pide crear o seleccionar una carpeta para la base de datos. Generalmente es buena idea crear un directorio llamado grassdata en la carpeta personal del usuario. Si el proyecto se trabaja en equipo, a veces resulta conveniente crear un directorio dentro de algún servicio de compartimiento de datos en la nube (como Google Drive, Dropbox, etc.). Esto se muestra en la figura.
  2. Creación de un nuevo conjunto de mapas (mapset) del software GRASS.
  3. Posteriormente pedirá crear o seleccionar una localización para ello simplemente se le da el nombre deseado, por ejemplo el nombre del estado en el que se encuentra la cuenca, como se observa en la figura.
  4. Creación de una nueva localización (location) del software GRASS.
  5. Más adelante, se elije el sistema de coordenadas de referencia,las cuales pueden ser coordenadas geográficas o elegir un sistema de proyección, en este caso se utiliza el sistema de proyección UTM con dátum WGS84 y zona 14N. Esto se puede ver en la figura.
  6. Selección del sistema de coordenadas para el conjunto de mapas de GRASS.
  7. A continuación se elige la región predeterminada para trabajar, en este caso se puede elegir de la lista la que corresponde a México y dar clic en el botón “Set” para establecer la región, al hacerlo aparecerá un rectángulo rojo en el mapa mostrado. Esto se muestra en la figura.
  8. Selección de la región predeterminada para el conjunto de mapas de GRASS.
  9. Finalmente aparece una ventana en la que se pide el nombre del \textit{mapset} o conjunto de mapas del usuario, introducir el nombre deseado (por ejemplo, el nombre del usuario) y luego se pide confirmación de los datos. Al aceptar se establecerá automáticamente la nueva localización y conjunto de datos por defecto para QGIS, misma que permanecerá abierta y disponible desde este momento hasta cerrar el programa.

Con estos sencillos pasos se tiene una nueva base de datos creada. Usando QGIS el proceso de creación de la base de datos resulta un poco más fácil para algunos usuarios, que utilizar solo GRASS.

Si en el futuro se va a trabajar sobre la misma localización, no es necesario crear una base de datos nueva, en este caso solo hay que volver a abrir el conjunto de mapas en el menú Complementos > GRASS > Abrir conjunto de mapas.

Importar el MDE al conjunto de mapas

GRASS solo es capaz de utilizar las capas de información que se importen al conjunto de mapas que se tenga en uso (el creado anteriormente). Ahora es necesario agregar información al conjunto de mapas para procesarla y analizarla con las herramientas de GRASS. Para importar la capa raster del modelo digital de elevaciones se utiliza la opción: Complementos > GRASS > Abrir herramientas de GRASS y en la ventana que aparece escribir y seleccionar el módulo r.in.gdal. Además, las herramientas de GRASS se encuentran disponibles por medio del menú Procesos > Caja de herramientas.

En la ventana que aparece, seleccionar el raster a importar y darle un nombre de salida. También puede consultarse el manual (en inglés) en la pestaña Manual. Para procesar la imagen dar clic en Ejecutar, y al terminar el proceso en Ver salida para que se agregue la capa al QGIS automáticamente. El procedimiento se ilustra en la figura.

Importar el modelo digital de elevaciones al conjunto de mapas de GRASS.

Corrección de datos faltantes en el MDE

Antes de comenzar con la delimitación y análisis de las cuencas, es necesario realizar una corrección previa de la información del modelo digital de elevaciones. Aunque a simple vista el modelo pudiera parecer completo, frecuentemente se tienen pixeles sin información que afectan en el resultado de la delimitación de cuencas. Esto se debe a que muchas veces la información en el MDE presenta datos inválidos hidrológicamente. Los datos de elevación faltantes se interpretan como depresiones que pueden hacer que desaparezcan corrientes o cambiar la dirección de los escurrimientos, lo cual conlleva a una delimitación incorrecta de las cuencas. Esta situación se puede corregir mediante la aplicación de reglas hidrológicas muy simples, ya que la lógica del drenaje de una cuenca es tan sencillo como que el agua escurre de las partes altas hacia las partes bajas. Con este principio se llenan los datos faltantes o erróneos de manera que el drenaje se genere correctamente.

Para llenar los datos del MDE con información válida se utiliza la herramienta r.fill.dir cuya ventana principal se muestra en la figura. Ésta herramienta realiza un filtrado y genera un MDE sin falsas depresiones y un mapa de dirección de flujo a partir de una capa raster de elevaciones.

Corrección del modelo digital de elevaciones.

En esta herramienta únicamente hay que seleccionar la capa raster del MDE que se importó anteriormente. Marcar el botón que se encuentra a un lado para limitar el análisis a la extensión de dicha capa y proporcionar un nombre para la capa de salida del MDE corregido sin depresiones y un nombre para la capa de dirección de escurrimiento.

Delimitación y análisis de las cuencas

Para la delimitación y análisis de la cuenca se utiliza el módulo r.watershed, mismo que se accede desde el menú Complementos > GRASS > Abrir herramientas de GRASS, o bien, se puede acceder por medio del menú Procesos > Caja de herramientas. Las herramientas del menú y las de la caja de herramientas pueden tener aspecto diferente y algunas opciones adicionales, sin embargo, el principio de funcionamiento es similar.

Se busca en la lista de módulos, aparecerá una ventana como la mostrada en la figura, en la que se introducen los datos necesarios.

Módulo r.watershed de GRASS para análisis de cuencas.

Primero se elije como entrada el raster del modelo digital de elevaciones importado al conjunto de mapas de GRASS. Se debe considerar que GRASS solo es capaz de utilizar los raster dentro de su conjunto de mapas, por ello en los pasos previos se realizó la creación de un mapset y se importó el raster del MDE.

Una vez seleccionada la capa raster, es necesario marcar el botón que se encuentra a un lado. Al poner el cursor sobre el botón saldrá un tip que dice “Use region of this map“, lo cual indica que el análisis se limitará a la región que cubre la capa seleccionada. Este es un paso muy importante pues de no hacerlo pueden salir errores en el análisis y delimitación de la cuenca.

Tamaño de celdas

Un dato importante es el tamaño mínimo de cada microcuenca el cual se tiene que introducir en número de celdas. Para hacer la conversión entre el número de celdas y unidades de superficie es necesario considerar la resolución del MDE.

Si la resolución del raster es de 30 x 30m, una celda tiene 900 m2 entonces para una hectárea que equivale a 10,000 m2 se tiene:

\begin{equation}
\frac{10,000 m^2}{900 m^2} \approx 11.11 \text{ celdas}
\end{equation}

Por lo tanto, si se desea delimitar cuencas con un tamaño mínimo de 10 ha se tendrá que introducir un valor de 111 celdas.

Si la resolución del raster es de 15 x 15m, como en este ejemplo, entonces

\begin{equation}
\frac{10,000 m^2}{15 m \times 15 m} \approx 44.44 \text{ celdas}
\end{equation}

se tienen 44 celdas por hectárea. Solo resta multiplicar por el número de hectáreas en las que se desee tener los resultados (10 ha, 100 ha, etc.).

Capas de salida

Enseguida se deben introducir los nombres que tendrán las capas de salida. Los resultados de este análisis serán cuatro capas raster:

  • La capa de acumulación (accumulation) contiene el valor absoluto de cada celda, que es la cantidad de flujo superficial que atraviesa la celda. Sino se proporciona una capa de flujo superficial, este valor será el número de celdas terreno arriba de la actual más uno. Si se proporciona una capa de flujo superficial, el valor dará en unidades de flujo superficial. Los valores negativos indican que la celda posiblemente tiene escurrimiento superficial desde fuera de la región geográfica. Por lo tanto, no se puede calcular de manera precisa el escurrimiento superficial y la producción de sedimentos las celdas con valores negativos.
  • La capa raster de drenaje (drainage) contiene la dirección del drenaje. Proporciona la dirección de cada celda medida en el sentido contrario a las manecillas del reloj desde el Este. Al multiplicar los valores positivos por 45 se obtendrá dirección en grados que el escurrimiento superficial viajará desde esa celda. El valor de cero indica que la celda se encuentra en una área de depresión (definida por la capa de entrada de depresiones). Valores negativos indican que el escurrimiento superficial se sale de los límites de la región geográfica actual. El valor absoluto de esas celdas negativas indica la dirección del flujo.
  • La capa de salida de cuencas (basins) contiene las cuencas que se forman dentro de la zona geográfica, y se identifican por una etiqueta única. A cada cuenca se le asignará un número entero par positivo. Puede que las áreas en los bordes no sean lo suficientemente grandes como para formar una cuenca. Valores de cero indican que la celda no es parte de una cuenca completa dentro del área geográfica actual.
  • La capa de salida de escurrimientos (streams) contiene segmentos de los escurrimientos generados. Los valores son correspondientes a los de las cuencas.

Para delimitar unidades de escurrimiento de 5,000 ha se debe introducir un valor de 222222 celdas.

Dar clic en Ejecutar y al terminar el proceso dar clic en el botón Ver salida para agregar automáticamente el resultado a QGIS. De manera adicional y con fines informativos se muestra el comando que se ejecuta en el shell de GRASS:

r.watershed elevation=dem_nopala_ok@eduardo threshold=222222 accumulation=acum5000 drainage=drain5000 stream=stream5000 basin=basin5000

De esta forma se obtuvieron, cuencas con una superficie pequeña (microcuencas) y una red de corrientes detallada que más adelante servirá para generar una capa vectorial de escurrimientos superficiales, además de la capa de drenaje y acumulación.

Resultado del análisis realizado con r.watershed.

Convertir de datos raster a datos vector

Para manejar de una forma más práctica la delimitación de las cuencas, se convierte la capa con la delimitación de las cuecas (a la que se llamó basin) de datos raster a vectores. Para hacer la conversión hay que abrir las herramientas de GRASS y hacer clic en la pestaña Lista de módulos en la que hay que seleccionar r.to.vect.area el cual sirve para convertir un archivo raster a vectores, en este caso a polígonos. La ventana de diálogo correspondiente a este módulo se muestra en la figura. Al terminar la ejecución de la instrucción, se obtiene un archivo en formato vector con la delimitación de las cuencas como polígonos.

Conversión de los resultados, cuencas delimitadas, de tipo raster a vector.

Para generar corrientes superficiales en formato de líneas se utiliza la capa raster de corrientes (a la que se llamó stream) generada al principio del análisis. Para convertir esta capa raster a vector es necesario procesarla primero con la herramienta r.thin como se muestra en la imagen.

Procesamiento previo requerido para la conversión de los escurrimientos de tipo raster a vector.

Después, la capa de salida se convierte a vector con el módulo r.to.vect.line de GRASS. En ambos procedimientos únicamente se solicita el nombre de la capa de salida, en este ejemplo a la primera se le llamó con el sufijo _thin y a la segunda se le llamó streams. Es importante marcar el botón para limitar el análisis a la extensión de la capa raster actual. Cuando termine la ejecución, se tendrán los escurrimientos generados con un área de captación igual a las hectáreas utilizadas para la delimitación de la cuenca.

Se pueden hacer varias ejecuciones del análisis con el módulo r.watershed usando diferentes valores del tamaño de cuenca con la finalidad de obtener escurrimientos a detalle. En este caso se realizó la conversión a vector de los escurrimientos obtenidos a 100 y 500 ha.

El resultado final del la delimitación de las cuencas y los escurrimientos se muestra en la figura siguiente. Se muestran las cuencas obtenidas y los escurrimientos generados con un umbral de 5000 ha, además se muestran los escurrimientos generados a 100 ha con la finalidad de tener una red de drenaje a detalle.

Información obtenida a partir del análisis realizado con \textbf{r.watershed} en formato vector.

Delimitación de la cuenca con el punto de salida

Un punto de salida es un punto de interés en el que se descarga el agua de la cuenca. Por definición una cuenca tiene un único punto de salida y dicho punto es la clave para delimitar un área de captación de lluvia. La determinación del punto de salida se hace de acuerdo con el estudio que se esté realizando y generalmente representa un punto de interés para quién esté estudiando una cuenca. El punto de salida delimitará el área de trabajo.

Antes de definir el punto de salida es necesario asegurarse de que se tiene la información suficiente (elevaciones, drenaje, escurrimientos) para cubrir la extensión de cuenca que se delimitará.

Para delimitar una cuenca con un punto de salida, es necesario tener la información de la capa de drenaje obtenida del análisis anterior (llamada drain) y de forma opcional el raster de los escurrimientos. La capa de drenaje es un raster que indica la cantidad de flujo superficial que escurre por cada una de sus celdas. Es de esperar, que en las partes altas de la cuenca el drenaje sea poco, sin embargo, a medida que las altitudes y pendientes disminuyen la concentración del drenaje será mayor. Por ello, al visualizar la capa de drenaje generada en QGIS, en los valles y regiones planas se aprecia una coloración más intensa.

Esta forma de delimitar la cuenca requiere de la ubicación exacta del punto de salida de la cuenca, expresado en las mismas coordenadas en las que se encuentra la capa de drenaje, que en este caso son UTM. Sino se tienen dichas coordenadas, se pueden obtener fácilmente de la capa de escurrimientos (streams) previamente generada con el apoyo de la herramienta “Identify Features” de QGIS. Al activar dicha herramienta desde y hacer clic sobre una celda de la capa de escurrimientos para seleccionar el punto de salida, aparecerá una ventana de diálogo (o un panel lateral) en el que se mostrarán las coordenadas del punto, como se muestra en la figura.

Identificación del punto de salida de la cuenca.

Desde la ventana de diálogo de las herramientas de GRASS se usa el módulo r.water.outlet como se puede ver en la figura.

Delimitación de la cuenca con un punto de salida con r.water.outlet

En esta ventana se selecciona la capa de datos de drenaje obtenida anteriormente, como en este caso se usaron 5,000 ha para delimitar las cuencas y generar los escurrimientos, se usará la misma escala para el drenaje. Se deben colocar las coordenadas (x,y) del punto de salida obtenidos en el paso anterior. El resultado que se obtiene se muestra en la siguiente figura.

Delimitación final de la cuenca con QGIS.

Mismo que se puede convertir a vector:

Cuenca delimitada con QGIS en formato vector.

En el país se tienen delimitadas las cuencas de los ríos principales, algunas instituciones gubernamentales tienen entre sus tareas la delimitación de cuencas con fines administrativos. Sin embargo, la escala a la que se delimitan es muy grande (mucha área y poca información). En el caso de proyectos de restauración de cuencas, la unidad de trabajo que generalmente se utiliza es la microcuenca, y dado que es difícil conseguir una delimitación oficial de pequeñas cuencas, es necesario realizar una delimitación desde el inicio para trabajar.

Por fortuna la información de elevaciones del país se encuentra disponible de manera pública, y con el uso de software libre, la delimitación y el análisis inicial de microcuencas se puede realizar fácilmente. La delimitación de cuencas es uno de los primeros pasos para realizar el estudio de una área. Ya sea que se vaya a realizar un estudio hidrológico, de erosión o de producción de sedimentos la definición del área de estudio es algo importante ya de con ello se pueden definir los alcances que tendrá el trabajo.

Aunque todavía es común el uso de software privativo, existen opciones libres (y gratuitas) como QGIS y GRASS que permiten hacer este tipo de estudios sin la necesidad de hacer pagos de licencias o adquirir una copia ilegal del mismo. Esto es importante, sobretodo para investigadores y estudiantes de países en desarrollo puesto que con este tipo de software se puede tener acceso a modelos hidrológicos de calidad, hechos por investigadores y académicos, para realizar estudios que ayudarán al desarrollo del país.