Calcular curso de agua como ráster (Spatial Analyst)

Disponible con una licencia de Spatial Analyst.

Resumen

Genera un ráster de curso de agua a partir de un ráster de superficie de entrada sin necesidad de relleno previo de sumidero o depresión.

Uso

  • El ráster de superficie de entrada puede ser un modelo digital de elevación (DEM) sin relleno de sumidero previo o un DEM con condicionamiento hidrológico. La herramienta no es sensible a los errores en el ráster de superficie que pueden actuar como depresiones o sumideros donde termina el flujo; no es necesario rellenar los sumideros o las depresiones.

  • El valor del parámetro Ráster de curso de agua de salida representa las celdas con un umbral de acumulación de flujo mayor o igual, especificado mediante el parámetro opcional Umbral de acumulación (accumulation_threshold en Python). Si no se proporciona ningún valor para Umbral de acumulación, de forma predeterminada, la herramienta calcula un umbral de área basado en el tamaño del ráster de superficie de entrada (0,2 por ciento de la cantidad total de celdas). Aunque la dirección y acumulación del flujo se calculan internamente para derivar cursos de agua, no son una salida. Utilice Obtener flujo continuo para obtener rásteres de acumulación de flujo y dirección de flujo utilizando la misma metodología.

  • Cuando el ráster de superficie de entrada contiene depresiones reales dentro del ráster de superficie, las depresiones deben especificarse en Datos de depresiones de entidad o ráster de entrada (in_depressions_data en Python) para que se consideren celdas donde el agua puede fluir hacia adentro pero no hacia afuera (una salida). La información del área de depresión puede ser un ráster o una clase de entidad. La clase de entidad puede ser un punto, una polilínea o un polígono.

  • Se puede especificar un valor de Ráster de peso de acumulación de entrada (in_weight_raster en Python) para aplicar un peso a cada celda al calcular la acumulación, lo que es un paso intermedio. Si se aplica un ráster de peso, seleccione un umbral de acumulación de flujo apropiado para Umbral de acumulación (accumulation_threshold en Python).

  • Si se utilizan los parámetros Datos de depresiones de entidades o ráster de entrada o Ráster de ponderación de acumulación de entrada o datos de estos para aplicar la configuración de entorno, el Umbral de acumulación predeterminado se recalculará basándose en el área de intersección entre las entradas. Sin embargo, una vez que haya especificado un valor para Umbral de acumulación, ya no se recalculará en función de los cambios en la selección de entrada. Puede encontrarse la misma situación al ejecutar la herramienta en lote con Ráster de superficie de entrada como parámetro de lote, donde Umbral de acumulación se calcula en función de la primera entrada y no cambiará a medida que se procesen por lotes otras capas ráster.

  • Especifique un valor para Umbral de acumulación (accumulation_threshold en Python) que refleje la complejidad del terreno en el área de estudio o que coincida con el tamaño de un área de contribución de su elección. Por ejemplo, si el umbral es igual a 20 hectáreas, solo las celdas con 20 o más hectáreas de flujo ascendente definirán un ráster de curso de agua.

  • Utilice el parámetro Método de designación de cursos de agua para asignar un valor único de secciones de cursos de agua entre intersecciones o un orden a los segmentos de los cursos de agua. La opción Constante está configurada de forma predeterminada y a todos los cursos de agua se les asigna el mismo valor igual a 1. Cuando se selecciona Único, se le asignará un valor único a cada sección de curso de agua entre intersecciones. Otros métodos de orden son Strahler, Shreve y Hack (Strahler, 1957; Shreve, 1966; Hack, 1957). El orden Strahler de un curso de agua aumenta cuando los cursos de agua del mismo orden intersecan. El orden Shreve asigna un orden a los cursos de agua en función de la magnitud. A todos los vínculos sin afluentes se les asigna una magnitud (un orden) de 1. Las magnitudes son pendientes descendentes aditivas. Cuando dos vínculos intersecan, se suman sus magnitudes y éstas se asignan al vínculo de pendiente descendente. El orden Hack de un curso de agua aumenta en uno con respecto al orden de un curso de agua al que desembocan. Al cauce principal del río se le asigna una magnitud de 1, y a todos los cursos de agua que desembocan en él se les asigna una magnitud de 2, y así sucesivamente.

  • Las celdas NoData se consideran ruido y, por definición, no tienen un valor asociado. La herramienta ignorará estas celdas al identificar la dirección del vecino con pendiente ascendente menos empinada, así como en la determinación de la dirección y acumulación del flujo.

  • Con el parámetro Forzar todas las celdas de eje para que se desplacen hacia fuera desactivado (force_flow = "NORMAL" en Python), la configuración predeterminada, una celda del borde del ráster de superficie fluirá hacia la celda interior con la caída más acusada del valor z. Si la caída es menor o igual que cero, la celda fluirá fuera del ráster de superficie.

    This will affect the direction of flow at the edge of the surface raster, as well as the accumulation and ultimately the definition of streams.
  • Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento que se aplican a esta herramienta.

  • Referencias:

    • Ehlschlaeger, C. R. 1989. "Using the AT Search Algorithm to Develop Hydrologic Models from Digital Elevation Data." International Geographic Information Systems (IGIS) Symposium 89: 275-281.

    • Hack, J. T. 1957. "Studies of Longitudinal Stream Profiles in Virginia and Maryland." Geological Survey Professional Paper 294: 45–95.

    • Jenson, S. K., and Domingue, J. O. 1988. "Extracting Topographic Structure from Digital Elevation Data for Geographic Information System Analysis". Photogrammetric Engineering and Remote Sensing 54 (11): 1593–1600.

    • Metz, M., Mitasova, H., & Harmon, R. S. 2011. "Efficient extraction of drainage networks from massive, radar-based elevation models with least cost path search." Hydrology and Earth System Sciences 15(2): 667-678.

    • Shreve, R. 1966. "Statistical Law of Stream Numbers" Journal of Geology.74: 17-35

    • Strahler, A. N. 1957. "Quantitative analysis of watershed geomorphology" Transactions of the American Geophysical Union8 (6): 913-920

Parámetros

EtiquetaExplicaciónTipo de datos
Ráster de superficie de entrada

Ráster de entrada de superficie.

Raster Layer
Datos de depresiones de entidad o ráster de entrada
(Opcional)

Un dataset opcional que define las depresiones reales.

Las depresiones se pueden definir mediante un ráster o una capa de entidades.

Si la entrada es un ráster, las celdas de depresión deben tomar un valor válido, incluido cero, y las áreas que no son depresiones deben ser NoData.

Composite Geodataset
Ráster de peso de acumulación de entrada
(Opcional)

Un dataset ráster de entrada opcional que define la fracción de flujo que contribuye a la acumulación de flujo en cada celda.

El peso solo se aplica a la acumulación de flujo.

Si no se especifica ningún ráster de peso de acumulación, se aplica un peso predeterminado de 1 a cada celda.

Raster Layer
Umbral de acumulación
(Opcional)

El umbral para determinar si una celda dada es parte de un curso de agua en términos del área total que fluye hacia dicha celda.

Areal Unit
Método de designación de curso de agua
(Opcional)

Especifica el valor único o el orden de los cursos de agua en la salida.

  • ConstanteTodos los valores de celda de salida serán iguales a 1. Esta es la opción predeterminada.
  • ÚnicaCada curso de agua tendrá un Id. único entre intersecciones en la salida.
  • StrahlerSe utilizará el método Strahler, en el que el orden de los cursos de agua solo aumenta cuando se intersecan cursos de agua del mismo orden. La intersección de un vínculo de primer orden y de segundo orden mantendrá un vínculo de segundo orden, en lugar de crear un vínculo de tercer orden.
  • ShreveSe utilizará el método Shreve, en el que el orden de los cursos de agua se asigna por magnitud. A todos los vínculos sin afluentes se les asigna una magnitud (un orden) de 1. Las magnitudes son pendientes descendentes aditivas. Cuando dos vínculos intersecan, se suman sus magnitudes y éstas se asignan al vínculo de pendiente descendente.
  • HackSe utilizará el método Hack, en el que a cada segmento de curso de agua se le asigna un orden mayor que el del curso de agua o río en el que desemboca. Por ejemplo, al canal principal de río se le asigna un orden de 1, a todos los segmentos de curso de agua se les asigna un orden de 2, a los cursos de agua que desemboquen en un curso de agua de orden 2 se les asigna un orden de 3, y así sucesivamente.
String
Forzar todas las celdas de eje para que se desplacen hacia fuera
(Opcional)

Especifica si las celdas del borde se desplazarán siempre hacia fuera o seguirán las reglas de flujo normales.

  • Desactivado: si la caída máxima del interior de la celda de un borde es mayor que cero, la dirección del flujo se determinará de la forma habitual; de lo contrario, la dirección del flujo será hacia el borde. Las celdas que tengan que fluir desde el borde del ráster de la superficie hacia dentro lo harán. Esta es la opción predeterminada.
  • Activado: todas las celdas en el borde del ráster de superficie fluirán hacia fuera del ráster de superficie.
Boolean

Valor de retorno

EtiquetaExplicaciónTipo de datos
Ráster de curso de agua de salida

El ráster de salida que representa las ubicaciones de cursos de agua.

Raster

DeriveStreamAsRaster(in_surface_raster, {in_depressions_data}, {in_weight_raster}, {accumulation_threshold}, {stream_designation_method}, {force_flow})
NombreExplicaciónTipo de datos
in_surface_raster

Ráster de entrada de superficie.

Raster Layer
in_depressions_data
(Opcional)

Un dataset opcional que define las depresiones reales.

Las depresiones se pueden definir mediante un ráster o una capa de entidades.

Si la entrada es un ráster, las celdas de depresión deben tomar un valor válido, incluido cero, y las áreas que no son depresiones deben ser NoData.

Composite Geodataset
in_weight_raster
(Opcional)

Un dataset ráster de entrada opcional que define la fracción de flujo que contribuye a la acumulación de flujo en cada celda.

El peso solo se aplica a la acumulación de flujo.

Si no se especifica ningún ráster de peso de acumulación, se aplica un peso predeterminado de 1 a cada celda.

Raster Layer
accumulation_threshold
(Opcional)

El umbral para determinar si una celda dada es parte de un curso de agua en términos del área total que fluye hacia dicha celda.

Areal Unit
stream_designation_method
(Opcional)

Especifica el valor único o el orden de los cursos de agua en la salida.

  • CONSTANTTodos los valores de celda de salida serán iguales a 1. Esta es la opción predeterminada.
  • UNIQUECada curso de agua tendrá un Id. único entre intersecciones en la salida.
  • STRAHLERSe utilizará el método Strahler, en el que el orden de los cursos de agua solo aumenta cuando se intersecan cursos de agua del mismo orden. La intersección de un vínculo de primer orden y de segundo orden mantendrá un vínculo de segundo orden, en lugar de crear un vínculo de tercer orden.
  • SHREVESe utilizará el método Shreve, en el que el orden de los cursos de agua se asigna por magnitud. A todos los vínculos sin afluentes se les asigna una magnitud (un orden) de 1. Las magnitudes son pendientes descendentes aditivas. Cuando dos vínculos intersecan, se suman sus magnitudes y éstas se asignan al vínculo de pendiente descendente.
  • HACKSe utilizará el método Hack, en el que a cada segmento de curso de agua se le asigna un orden mayor que el del curso de agua o río en el que desemboca. Por ejemplo, al canal principal de río se le asigna un orden de 1, a todos los segmentos de curso de agua se les asigna un orden de 2, a los cursos de agua que desemboquen en un curso de agua de orden 2 se les asigna un orden de 3, y así sucesivamente.
String
force_flow
(Opcional)

Especifica si las celdas del borde se desplazarán siempre hacia fuera o seguirán las reglas de flujo normales.

  • NORMALSi la caída máxima del interior de la celda de un borde es mayor que cero, la dirección del flujo se determinará de la forma habitual; de lo contrario, la dirección del flujo será hacia el borde. Las celdas que tengan que fluir desde el borde del ráster de la superficie hacia dentro lo harán. Esta es la opción predeterminada.
  • FORCETodas las celdas en el borde del ráster de superficie fluirán hacia fuera del ráster de superficie.
Boolean

Valor de retorno

NombreExplicaciónTipo de datos
out_stream_raster

El ráster de salida que representa las ubicaciones de cursos de agua.

Raster

Muestra de código

Ejemplo 1 de DeriveStreamAsRaster (ventana de Python)

En este ejemplo, se crea un ráster de curso de agua en el que a todos los cursos de agua identificados se les asigna un valor constante de 1.

from arcpy.sa import *
out_stream_raster = DeriveStreamAsRaster("surface.tif", "", "", "", 
                                        "", "")
out_stream_raster.save("C:/arcpyExamples/outputs/out_stream_raster.tif")
Ejemplo 2 de DeriveStreamAsLine (script independiente)

En este ejemplo, se crea un ráster de curso de agua que tiene en cuenta las depresiones reales y en el cual los cursos de agua parten de ubicaciones con áreas de cuenca de más de 2 hectáreas.

A cada segmento entre intersecciones del ráster de curso de agua de salida también se le asigna un valor único.

# Name: DeriveStreamAsRaster_standalone.py
# Description: Generates a stream raster considering real depressions where 
#              streams start from locations with catchment areas larger than 2 Hectares.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy.sa import *

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set the analysis environments
arcpy.env.workspace = "C:/arcpyExamples/data"

# Set the local variables
in_surface_raster = "surface.tif"
in_depressions_data = "depressions.tif"
stream_raster = "C:/arcpyExamples/outputs/stream_raster.tif"

# Execute DeriveStreamAsRaster
out_stream_raster = DeriveStreamAsRaster(in_surface_raster, in_depressions_data, 
                                        "", "2 Hectares", "UNIQUE", "")
# Save the output
out_stream_raster.save(stream_raster)

Información de licenciamiento

  • Basic: Requiere Spatial Analyst
  • Standard: Requiere Spatial Analyst
  • Advanced: Requiere Spatial Analyst

Temas relacionados