Dirección del flujo (Spatial Analyst)

Disponible con una licencia de Spatial Analyst.

Resumen

Crea un ráster de dirección del flujo desde cada celda hasta su vecina o vecinas con pendiente descendente mediante los métodos D8, Dirección de flujo múltiple (MFD) o D-Infinity (DINF).

Más información sobre cómo funciona Dirección del flujo

Ilustración

Ilustración de la herramienta Dirección de flujo
Flow_Dir = FlowDirection(Elev_Ras, #, #, D8)

Uso

  • La herramienta Dirección de flujo admite tres algoritmos de modelado de flujo: D8, Dirección de flujo múltiple (MFD) y D-Infinity (DINF).

  • El método D8 modela la dirección del flujo desde cada celda hasta su vecina con la pendiente descendente más pronunciada.

    La salida de la herramienta Dirección de flujo que utiliza el tipo de dirección de flujo D8 es un ráster de número entero cuyos valores van de 1 a 255. Los valores de cada dirección desde el centro son los siguientes:

    Valores de Dirección de flujo

    Por ejemplo, si la dirección de la caída más pronunciada es hacia la izquierda de la celda de procesamiento actual, su valor de dirección de flujo es 16.

    • Si una celda es más baja que sus vecinas, a esa celda se le asigna el valor de su vecina más baja y el flujo se define hacia esta celda. Si varios vecinos tienen el valor más bajo, a la celda se le sigue asignando este valor, pero el flujo se define con uno de los dos métodos descritos a continuación. Esto se utiliza para filtrar los sumideros de una celda, ya que se consideran ruido.

    • Si una celda posee el mismo cambio en el valor z en varias direcciones y esa misma celda es parte de un sumidero, la dirección de flujo se conoce como indefinida. En este caso, el valor de esa celda en el ráster de dirección de flujo de salida será la suma de esas direcciones. Por ejemplo, si el cambio en el valor z es el mismo hacia la derecha (dirección de flujo = 1) y hacia abajo (dirección de flujo = 4), la dirección de flujo para esa celda es 1 + 4 = 5. Las celdas con dirección de flujo sin definir se pueden marcar como sumideros usando la herramienta Sumidero.

    • Si una celda posee el mismo cambio en el valor z en varias direcciones y no es parte de un sumidero, la dirección de flujo se asigna con una tabla de búsqueda que define la dirección más probable. Consulte Greenlee (1987).

    • El ráster de caída D8 de salida se calcula como la diferencia en el valor z dividida por la longitud de la ruta entre los centros de celda, y se expresa en porcentajes. Para las celdas adyacentes, esto es análogo a la pendiente en porcentaje entre celdas. En un área plana, la distancia se convierte en la distancia a la celda más cercana de la elevación más baja. El resultado es un mapa de la elevación en porcentaje en la ruta del descenso más pronunciado de cada celda.

  • El algoritmo MFD, descrito por Qin et al. (2007), divide el flujo de una celda entre todos los vecinos con pendiente descendente. Se crea un exponente de partición de flujo a partir de un enfoque adaptable basado en las condiciones del terreno local y se usa para determinar la fracción de drenaje de flujo para todos los vecinos con pendiente descendente.

    Nota:

    El tipo de dirección de flujo MFD solo admite la creación de un ráster de dirección de flujo de salida en Formato de ráster de nube (CRF), como flowdir1.crf, en un espacio de trabajo de carpeta.

    Cuando la salida de dirección del flujo MFD se agrega a un mapa, solo visualiza las direcciones de flujo D8. Como las direcciones de flujo MFD presentan potencialmente varios valores relacionados con cada celda (cada valor se corresponde con una proporción de flujo para cada vecino con pendiente descendente), no se visualiza fácilmente. Sin embargo, un ráster de salida de dirección de flujo MFD es una entrada reconocida por la herramienta Acumulación de flujo, que utilizará las direcciones del flujo MFD para proporcionar y acumular flujo desde cada celda hasta todos los vecinos con pendiente descendente.

  • El método de flujo DINF, descrito por Tarboton (1997), determina la dirección del flujo como la pendiente descendente más pronunciada de ocho facetas triangulares formadas en una ventana de 3x3 celdas centrada en la celda de interés. La salida de dirección del flujo es un ráster de punto flotante representado como un solo ángulo en grados en sentido antihorario, de 0 (rumbo este) a 360 (rumbo este de nuevo).

  • 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.

  • Esta herramienta admite el procesamiento en paralelo. Si su equipo tiene varios procesadores o procesadores con varios núcleos, puede conseguir un mayor rendimiento, especialmente en los datasets mayores. El tema de ayuda Procesamiento en paralelo con Spatial Analyst contiene detalles acerca de esta posibilidad y cómo configurarla.

    Al utilizar el procesamiento en paralelo, se escriben datos temporales para administrar los lotes de datos a medida que se procesan. La ubicación de la carpeta temporal predeterminada será su unidad C: local. Es posible controlar la ubicación de esta carpeta cambiando el valor de una variable de entorno del sistema denominada TempFolders y especificando la ruta de la carpeta que se desea usar (por ejemplo, E:\RasterCache). Si tiene privilegios de administrador en su equipo, puede usar una clave de registro (por ejemplo, [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]).

    De forma predeterminada, esta herramienta usará el 50 por ciento de los núcleos disponibles. Si los datos de entrada tienen un tamaño inferior a 5.000 x 5.000 celdas, es posible que se utilicen menos núcleos. Es posible controlar el número de núcleos empleados por la herramienta, a través de la configuración de entorno de Factor de procesamiento en paralelo.

  • Cuando el formato de ráster de salida es .crf, esta herramienta admite el entorno de almacenamiento ráster Pirámide. De forma predeterminada, se crearán pirámides en la salida. Para cualquier otro formato de salida, este entorno no es compatible y no se crearán pirámides.

  • Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento válidos para esta herramienta.

  • Referencias:

    Greenlee, D. D. 1987. "Raster and Vector Processing for Scanned Linework". Photogrammetric Engineering and Remote Sensing 53 (10): 1383–1387.

    Qin, C., Zhu, A. X., Pei, T., Li, B., Zhou, C., & Yang, L. 2007. "An adaptive approach to selecting a flow partition exponent for a multiple flow direction algorithm". International Journal of Geographical Information Science 21(4): 443-458.

    Tarboton, D. G. 1997. "A new method for the determination of flow directions and upslope areas in grid digital elevation models". Water Resources Research 33(2): 309-319.

Parámetros

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

Ráster de entrada que representa una superficie continua.

Raster Layer
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
Ráster de caída de salida
(Opcional)

Un ráster de caída de salida opcional.

El ráster de caída devuelve la proporción del cambio máximo en la elevación desde cada celda a lo largo de la dirección del flujo hasta la longitud de la ruta entre centros de celda, expresada en porcentajes.

Esta salida es de tipo de punto flotante.

Raster Dataset
Tipo de dirección de flujo
(Opcional)

Especifica el tipo de método de flujo que se utilizará cuando se computen las direcciones de flujo.

  • D8La dirección del flujo será determinada por el método D8. Este método asigna una dirección del flujo al vecino con pendiente descendente más empinada. Esta es la opción predeterminada.
  • MFDLa dirección del flujo se basará en el método de flujo MFD. La dirección del flujo se dividirá entre los vecinos con pendiente descendente de acuerdo con un exponente de partición adaptable.
  • DINFLa dirección del flujo se basará en el método de flujo DINF. Este método asigna una dirección de flujo a la pendiente más pronunciada de una faceta triangular.
String

Valor de retorno

EtiquetaExplicaciónTipo de datos
Ráster de dirección de flujos de salida

El ráster de salida que muestra la dirección de flujo desde cada celda hasta su vecina o vecinas con pendiente descendente mediante los métodos D8, MFD o DINF.

Esta salida es siempre de tipo entero.

Raster

FlowDirection(in_surface_raster, {force_flow}, {out_drop_raster}, {flow_direction_type})
NombreExplicaciónTipo de datos
in_surface_raster

Ráster de entrada que representa una superficie continua.

Raster Layer
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
out_drop_raster
(Opcional)

Un ráster de caída de salida opcional.

El ráster de caída devuelve la proporción del cambio máximo en la elevación desde cada celda a lo largo de la dirección del flujo hasta la longitud de la ruta entre centros de celda, expresada en porcentajes.

Esta salida es de tipo de punto flotante.

Raster Dataset
flow_direction_type
(Opcional)

Especifica el tipo de método de flujo que se utilizará cuando se computen las direcciones de flujo.

  • D8La dirección del flujo será determinada por el método D8. Este método asigna una dirección del flujo al vecino con pendiente descendente más empinada. Esta es la opción predeterminada.
  • MFDLa dirección del flujo se basará en el método de flujo MFD. La dirección del flujo se dividirá entre los vecinos con pendiente descendente de acuerdo con un exponente de partición adaptable.
  • DINFLa dirección del flujo se basará en el método de flujo DINF. Este método asigna una dirección de flujo a la pendiente más pronunciada de una faceta triangular.
String

Valor de retorno

NombreExplicaciónTipo de datos
out_flow_direction_raster

El ráster de salida que muestra la dirección de flujo desde cada celda hasta su vecina o vecinas con pendiente descendente mediante los métodos D8, MFD o DINF.

Esta salida es siempre de tipo entero.

Raster

Muestra de código

Ejemplo 1 de FlowDirection (ventana de Python)

En este ejemplo, se crea un ráster de dirección de flujo D8 a partir de un ráster de superficie de elevación de una cuadrícula de entrada.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFlowDirection = FlowDirection("elevation", "NORMAL")
outFlowDirection.save("C:/sapyexamples/output/outflowdir01")
Ejemplo 2 de FlowDirection (script independiente)

En este ejemplo, se crea un ráster de dirección de flujo D8 a partir de un ráster de superficie de elevación de una cuadrícula de entrada.

# Name: FlowDirection_Example.py
# Description: Creates a raster of flow direction from each cell to its
#    steepest downslope neighbor.
# Requirements: Spatial Analyst Extension

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

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inSurfaceRaster = "elevation"
outDropRaster = "C:/sapyexamples/output/dropraster"

# Execute FlowDirection
outFlowDirection = FlowDirection(inSurfaceRaster, "FORCE", outDropRaster)

# Save the output 
outFlowDirection.save("C:/sapyexamples/output/outflowdir02")

Información de licenciamiento

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

Temas relacionados