De topo a ráster (Spatial Analyst)
Resumen
Interpola una superficie hidrológicamente correcta a partir de datos de punto, línea y polígono.
Uso
-
Los mejores resultados se obtendrán si se almacenan todos los datos de entrada en el mismo sistema de coordenadas planas y tienen las mismas ZUnits. Los datos no proyectados (latitud-longitud) se pueden utilizar; sin embargo, los resultados pueden no ser exactos, en particular en latitudes altas.
-
De topo a ráster sólo utilizará cuatro puntos de datos de entrada para la interpolación de cada celda de salida. Se ignoran todos los puntos adicionales. Si se encuentran demasiados puntos mediante el algoritmo, se puede producir un error que indica que el dataset de punto tiene demasiados puntos. La cantidad máxima de puntos que se puede utilizar es NRows * NCols, donde NRows es la cantidad de filas en el ráster de salida y NCols es la cantidad de columnas.
-
Cuando el tipo de entidad de entrada es CONTOUR, el algoritmo primero genera una morfología generalizada de la superficie basada en la curvatura de las curvas de nivel. El algoritmo entonces implementa las curvas de nivel como fuente de la información de elevación. Las curvas de nivel se adaptan mejor a los datos de gran escala donde las curvas de nivel y las esquinas son fiables indicadores de arroyos y crestas. En escalas más pequeñas puede ser igual de efectivo, y menos costoso, digitalizar puntos de esquina de curvas de nivel y utilizarlos como clase de entidad de punto de entrada.
-
Representar arroyos trenzados o utilizar arcos para representar dos lados de un arroyo puede no producir resultados fiables. Los datos de los arroyos siempre tienen prioridad sobre los datos de punto o de curvas de nivel, los datos de puntos de elevación que presentan conflictos con el descenso de cada arroyo se ignoran. Los datos de los arroyos son una forma poderosa de agregar información topográfica a la interpolación, lo que asegura aún más la calidad del DEM de salida.
-
Los valores típicos para la configuración de Tolerancia 1 y Tolerancia 2 son:
- Para los datos de punto a una escala 1:100.000, utilice 5,0 y 200,0.
- Para los datos de punto con menos densidad a una escala de hasta 1:500.000, utilice 10,0 y 400,0.
- Para los datos de curvas de nivel con un espaciado de curvas de nivel de 10, utilice 5,0 y 100,0.
-
Para experimentar más fácilmente con las entradas y los parámetros, utilice el cuadro de diálogo De topo a ráster para crear un archivo de parámetros de salida, que pueda modificarse en cualquier editor de texto y utilizarse como entrada para la herramienta De topo a ráster por un archivo.
De topo a ráster es una aplicación que puede consumir muchos recursos de la memoria y, por lo tanto, no es posible crear rásteres de salida grandes. Cuando se requiere una salida grande, utilice el parámetro MARGIN.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_topo_features topo_input |
La clase Topo especifica las entidades de entrada que contienen los valores z que se interpolarán en un ráster de superficie. Hay nueve tipos de entrada de datos aceptados para la clase Topo: TopoPointElevation, TopoContour, TopoStream, TopoSink, TopoBoundary, TopoLake, TopoCliff, TopoExclusion, TopoCoast.
Los tipos PointElevation, Contour y Sink de entrada de entidades pueden tener un campo especificado que contiene los valores z. No hay opción de campo para los tipos de entrada Límite, Lago, Acantilado, Costa, Exclusión o Arroyo. | TopoInput |
cell_size (Opcional) |
El tamaño de celda con el que se creará el ráster de salida. Este será el valor del entorno si se establece explícitamente; de lo contrario, es el valor más bajo del ancho o de la altura de la extensión de las entidades de punto de entrada, en la referencia espacial de entrada, dividido por 250. | Analysis Cell Size |
extent (Opcional) |
La clase Extensión determina la extensión para el dataset ráster de salida. La interpolación se producirá hasta los límites x e y, y las celdas fuera de esa extensión serán NoData. Para obtener mejores resultados de interpolación a lo largo de los bordes del ráster de salida, los límites x e y deben ser más pequeños que la extensión de los datos de entrada en al menos 10 celdas de cada lado. El formato de la clase Extensión es:
La extensión predeterminada es la más grande de todas las extensiones de los datos de entidad de entrada. | Extent |
Margin margin (Opcional) |
Distancia en celdas para interpolar más allá de la extensión de salida especificada y el límite. El valor debe ser mayor o igual que 0 (cero). El valor predeterminado es 20. Si los datasets de entidades de Extent y TopoBoundary son los mismos que el límite de los datos de entrada (predeterminado), los valores interpolados a lo largo del borde del DEM no coincidirán bien con los datos DEM adyacentes. Esto se debe a que han sido interpolados utilizando la mitad de los datos que utilizan los puntos dentro del ráster, los cuales están circundados en todos los lados por datos de entrada. La opción Margin permite que se utilicen datos de entrada más allá de estos límites en la interpolación. | Long |
minimum_z_value (Opcional) |
El valor z mínimo que se utilizará en la interpolación. El valor predeterminado es 20 por ciento por debajo del valor más pequeño de todos los valores de entrada. | Double |
maximum_z_value (Opcional) |
El valor z máximo que se utilizará en la interpolación. El valor predeterminado es 20 por ciento por encima del valor más grande de todos los valores de entrada. | Double |
enforce (Opcional) |
El tipo de aplicación de drenaje que se utilizará. La opción de aplicación de drenaje se puede establecer para quitar todos todos los sumideros o depresiones de manera que pueda crearse un DEM hidrológicamente correcto. Si se han identificado explícitamente puntos de sumidero en los datos de entidad de entrada, estas depresiones no se completarán.
| String |
data_type (Opcional) |
El tipo de datos de elevación principal de los datos de entidad de entrada.
Especificar la selección relevante optimiza el método de búsqueda utilizado durante la generación de arroyos y crestas. | String |
maximum_iterations (Opcional) |
La cantidad máxima de iteraciones de interpolación. La cantidad de iteraciones debe ser mayor que cero. Un valor predeterminado de 20 es adecuado, por lo general, para los datos de curvas de nivel y de línea. Un valor de 30 eliminará menos sumideros. Rara vez, los valores más altos (45–50) pueden ser útiles para eliminar más sumideros o para establecer más crestas y arroyos. La iteración se detiene para cada resolución de cuadrícula cuando se ha alcanzado la cantidad máxima de iteraciones. | Long |
roughness_penalty (Opcional) |
Derivada segunda cuadrada integrada como medida de rugosidad. La penalización por rugosidad debe ser mayor o igual que cero. Si el tipo primario de datos de entrada es CONTOUR, el valor predeterminado es cero. Si el tipo primario de datos es SPOT, el valor predeterminado es 0,5. Por lo general, no se recomiendan los valores más grandes. | Double |
discrete_error_factor (Opcional) |
El factor de error discreto se utiliza para ajustar la cantidad de alisado al convertir los datos de entrada en un ráster. El valor debe ser mayor que cero. El rango normal de ajuste es de 0,5 a 2 y el valor predeterminado es 1. Un valor más pequeño resulta en un suavizado de datos menor; un valor más grande provoca un suavizado mayor. | Double |
vertical_standard_error (Opcional) |
La cantidad de errores aleatorios en los valores z de los datos de entrada. El valor debe ser mayor o igual que cero. El valor predeterminado es cero. El error estándar vertical puede establecerse en un valor positivo pequeño si los datos tienen errores verticales (no sistemáticos) aleatorios significativos con varianza uniforme. En este caso, establezca el error estándar vertical en la desviación estándar de estos errores. Para la mayoría de los datasets de elevación, el error vertical debe establecerse en cero pero puede establecerse en un valor positivo pequeño para estabilizar la convergencia cuando se rasterizan los datos de punto con los datos de línea de corriente. | Double |
tolerance_1 (Opcional) |
Esta tolerancia refleja la precisión y la densidad de los puntos de elevación en relación con el drenaje de la superficie. Para los datasets de punto, establezca la tolerancia en el error estándar de las alturas de los datos. Para los datasets de curvas de nivel, utilice la mitad del intervalo de curvas de nivel promedio. El valor debe ser mayor o igual que cero. El valor predeterminado es 2,5 si el tipo de datos es CONTOUR y cero si el tipo de datos es SPOT. | Double |
tolerance_2 (Opcional) |
Esta tolerancia impide el espacio de drenaje a través de barreras altas poco realistas. El valor debe ser mayor que cero. El valor predeterminado es 100 si el tipo de datos es CONTOUR y 200 si el tipo de datos es SPOT. | Double |
out_stream_features (Opcional) | La clase de entidad de línea de salida de las entidades de polilínea de arroyo y de las entidades de línea de cresta. Las entidades de línea se crean al comienzo del proceso de interpolación. Proporciona la morfología general de la superficie para la interpolación. Se puede utilizar para verificar el drenaje y la morfología correctos al comparar los datos conocidos del arroyo y de la cresta. Las entidades de polilínea se codifican de la siguiente forma:
| Feature Class |
out_sink_features (Opcional) |
La clase de entidad de punto de salida de las entidades de punto de sumidero restantes. Estos son los sumideros que no se especificaron en los datos de entidad de entrada de sumidero y que no se limpiaron durante la aplicación de drenaje. Ajustar los valores de las tolerancias, tolerance_1 y tolerance_2, puede reducir la cantidad de sumideros restantes. A menudo, los sumideros restantes indican errores en los datos de entrada que no se pudieron resolver con el algoritmo de aplicación de drenaje. Esta puede ser una forma eficiente de detectar errores de elevación sutiles. | Feature Class |
out_diagnostic_file (Opcional) |
El archivo de diagnóstico de salida que incluye todas las entradas y los parámetros utilizados y la cantidad de sumideros eliminados en cada resolución e iteración. | File |
out_parameter_file (Opcional) |
El archivo de parámetros de salida que incluye todas las entradas y los parámetros utilizados, que se pueden utilizar con De topo a ráster por un archivo para ejecutar la interpolación nuevamente. | File |
profile_penalty (Opcional) |
La penalización por rugosidad de la curvatura de perfil local es una penalización adaptable que se puede utilizar para sustituir en parte la curvatura total. Puede dar buenos resultados con datos de curvas de nivel de alta calidad pero puede conducir a una inestabilidad en la convergencia con información inexacta. Establezca en 0,0 para curvatura sin perfil (el valor predeterminado), establezca en 0,5 para curvatura de perfil moderado y establezca en 0,8 para curvatura de perfil máximo. Los valores mayores que 0,8 no se recomiendan y no se deben utilizar. | Double |
out_residual_feature (Opcional) |
La clase de entidad de puntos de salida de todos los residuales de elevación grandes según las escalas proporcionadas por el error de discretización local. Todos los valores residuales en escalas mayores que 10 se deben revisar por posibles errores en los datos de entrada de arroyos y de elevación. Los valores residuales en escala grande indican conflictos entre los datos de entrada de elevación y los datos de línea de transmisión. Esos valores también pueden estar asociados con aplicaciones automáticas de drenaje deficientes. Estos conflictos se pueden resolver proporcionando datos adicionales de elevación del punto o de la línea de corriente lineal después de la primera verificación y corrección de errores en los datos de entrada existentes. Los valores residuales sin escala generalmente indican errores de elevación de entrada. | Feature Class |
out_stream_cliff_error_feature (Opcional) |
La clase de entidad de puntos de salida de ubicaciones donde ocurren posibles errores en corrientes y acantilados. Las ubicaciones donde las corrientes tienen bucles cerrados, distributarios y corrientes sobre acantilados se pueden identificar desde la clase de entidad de punto. Los acantilados con celdas vecinas inconsistentes, con lados altos y bajos del acantilado, también se indican. Este puede ser un buen indicador de acantilados con dirección incorrecta. Los puntos se codifican de la siguiente manera:
| Feature Class |
out_contour_error_feature (Opcional) |
La clase de entidad de puntos de salida de posibles errores relativos a los datos de curvas de nivel de entrada. Curvas de nivel con inclinación en altura que excede cinco veces la desviación estándar de los valores de curvas de nivel según se representan en el ráster de salida se reportan a esta clase de entidad. Las curvas de nivel que se unen con otras curvas con una elevación diferente se etiquetan en esta clase de entidad por el código 1; esta es una señal clara de un error de etiqueta de curvas de nivel. | Feature Class |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_surface_raster |
Ráster de superficie interpolado de salida. | Raster |
Ejemplo de código
En este ejemplo se crea un ráster de superficie TIFF hidrológicamente correcta a partir de datos de punto, línea y polígono.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outTTR = TopoToRaster([TopoPointElevation([['spots', 'spot_meter']]),
TopoContour([['contours', 'spot_meter']]),
TopoCliff(['cliff'])], 60,
"#", "#", "#", "#", "NO_ENFORCE")
outTTR.save("C:/sapyexamples/output/ttrout.tif")
En este ejemplo se crea un ráster de superficie de cuadrícula hidrológicamente correcta, a partir de datos de punto, línea y polígono.
# Name: TopoToRaster_Ex_02.py
# Description: Interpolates a hydrologically correct surface
# from point, line, and polygon data.
# 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
inPointElevations = TopoPointElevation([['spots.shp', 'spot_meter'],
['spots2.shp', 'elev']])
inBoundary = TopoBoundary(['boundary.shp'])
inContours = TopoContour([['contours.shp', 'spot_meter']])
inLake = TopoLake(['lakes.shp'])
inSinks = TopoSink([['sink1.shp', 'elevation'], ['sink2.shp', 'none']])
inStream = TopoStream(['streams.shp'])
inCliff = TopoCliff(['cliff.shp'])
inCoast = TopoCoast(['coast.shp'])
inExclusion = TopoExclusion(['ignore.shp'])
inFeatures = ([inPointElevations, inContours, inLake, inStream, inBoundary, inSinks, inCliff, inCoast, inExclusion])
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute TopoToRaster
outTTR = TopoToRaster(inFeatures)
# Save the output
outTTR.save("C:/sapyexamples/output/ttrout03")