Relleno (Spatial Analyst)
Resumen
Rellena sumideros en un ráster de superficie para quitar pequeñas imperfecciones en los datos.
Uso
-
Un sumidero es una celda con una dirección de drenaje indefinida y las celdas que lo rodean son más bajas. El punto de fluidez es la celda límite con la elevación más baja del área de contribución de un sumidero. Si el sumidero estuviera relleno con agua, éste sería el punto desde donde manaría el agua.
-
El límite z especifica la diferencia máxima permitida entre la profundidad de un sumidero y el punto de fluidez y determina qué sumideros se rellenarán y cuáles permanecerán intactos. El límite z no es la profundidad máxima a la que se rellenará un sumidero.
Por ejemplo, tomemos como ejemplo un sumidero en donde el punto de fluidez está situado a una altura de 210 pies, y el punto más profundo en el sumidero es de 204 pies (una diferencia de 6 pies). Si el límite z está ajustado en 8, este sumidero en concreto se rellenará. En cambio, si el límite z está ajustado en 4, este sumidero no se llenará porque su profundidad supera esta diferencia y se consideraría un sumidero válido.
-
Todos los sumideros menores que el límite z y en una posición más baja que la del vecino adyacente más bajo, se rellenarán a la altura de los punto de fluidez.
-
La ejecución de la herramienta Relleno puede consumir muchos recursos de la memoria, la CPU y el disco. Puede requerir hasta cuatro veces el espacio en disco del ráster de entrada.
-
La cantidad de sumideros que se encuentren en el límite z determinará la duración del tiempo de procesamiento. Mientras más sumideros existan, mayor será el tiempo de procesamiento.
-
La herramienta Sumidero se puede usar con anterioridad a la herramienta Relleno para encontrar el número de sumideros y, de este modo, ayudar a identificar su profundidad. El conocimiento de la profundidad de los sumideros puede ayudar a determinar un límite z adecuado.
-
También puede utilizar el Relleno para quitar picos. Un pico es una celda sin ninguna celda adyacente más elevada. Para quitar los picos, debe invertir el ráster de superficie de entrada. Esto se puede realizar con la herramienta Resta. Especifica el valor más alto del ráster de superficie como la primera entrada de la Resta y el ráster de superficie como la segunda entrada. Realiza un Relleno. Para obtener una superficie que tenga valores de ráster de superficie originales con los picos eliminados, invierta los resultados. También puede aplicar el límite z a este proceso. Si no se especifica nada como límite z, se quitarán todos los picos. Si en cambio se especifica un límite, no se quitará el pico en donde la diferencia en el valor z entre un pico y su vecino adyacente más elevado sea mayor que el límite z.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_surface_raster | Ráster de entrada que representa una superficie continua. | Raster Layer |
z_limit (Opcional) | Diferencia máxima de elevación entre un sumidero y su punto de fluidez, que debe rellenarse. Si la diferencia en los valores de z entre un sumidero y su punto de fluidez es mayor que z_limit, ese sumidero no se rellenará. El valor del límite Z debe ser mayor que cero. Si no se especifica un valor para este parámetro, todos los sumideros se llenarán independientemente de la profundidad. | Double |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_surface_raster |
El ráster de superficie de salida después de haber rellenado los sumideros. | Raster |
Ejemplo de código
Este ejemplo rellena los sumideros de un ráster GRID de superficie de elevación de entrada.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFill = Fill("elevation")
outFill.save("C:/sapyexamples/output/outfill01")
Este ejemplo rellena los sumideros de un ráster GRID de superficie de elevación de entrada con un límite z aplicado.
# Name: Fill_Ex_02.py
# Description: Fills sinks in a surface raster.
# 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"
zLimit = 3.28
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute FlowDirection
outFill = Fill(inSurfaceRaster, zLimit)
# Save the output
outFill.save("C:/sapyexamples/output/outfill02")