Disponible con una licencia de Spatial Analyst.
Disponible con una licencia de 3D 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 unidades z. Los datos no proyectados (latitud-longitud) se pueden utilizar; sin embargo, los resultados pueden no ser exactos, en particular en latitudes altas.
Si más de un punto de entrada cae dentro de una celda de salida,De topo a ráster utilizará el promedio para la interpolación (solo se tendrán en cuenta los primeros 100 puntos que caigan dentro de una celda y el resto se omitirá). 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 Curvas de nivel, el algoritmo genera primero 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.
El Tamaño de celda de salida se puede definir mediante un valor numérico u obtenerse desde un dataset ráster existente. Si el tamaño de celda no se ha especificado explícitamente como el valor del parámetro, se deriva del entorno Tamaño de celda si se ha especificado. Si no se ha especificado el tamaño de celda del parámetro o el tamaño de celda del entorno, pero se ha configurado el entorno Ráster de alineación, se usa el tamaño de celda del ráster de alineación. Si no se especifica nada, el tamaño de celda se calcula a partir de la anchura o la altura de la extensión dividido por 250, donde la extensión se encuentra en el Sistema de coordenadas de salida especificado en el entorno.
Si el tamaño de celda se especifica usando un valor numérico, la herramienta lo usa directamente para el ráster de salida.
Si el tamaño de celda se especifica mediante un dataset ráster, el parámetro muestra la ruta del dataset ráster en lugar del valor del tamaño de celda. El tamaño de celda de ese dataset ráster se usa directamente en el análisis, siempre que la referencia espacial del dataset sea la misma que la referencia espacial de salida. Si la referencia espacial del dataset es diferente a la referencia espacial de salida, se proyecta en función del Método de proyección de tamaño de celda seleccionado.
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.
Para los formatos de datos que admiten valores nulos, como las clases de entidad de geodatabase de archivos, se ignorará un valor nulo cuando se utilice como entrada.
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 hasta una escala 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.
Tolerancia 2 debe ser al menos 6 veces mayor que Tolerancia 1.
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 archivo.
Esta herramienta es una aplicación que puede consumir muchos recursos de la memoria y, por tanto, no es posible crear rásteres de salida grandes. Cuando se requiera una salida grande, utilice el parámetro Margen para producir rásteres de salida más pequeños. Para obtener más información sobre cómo llevar esto a cabo, consulte la sección crear rásteres y realizar mosaicos con ellos de la ayuda de Cómo funciona De topo a ráster.
Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento que se aplican a esta herramienta.
Sintaxis
TopoToRaster(in_topo_features, {cell_size}, {extent}, {Margin}, {minimum_z_value}, {maximum_z_value}, {enforce}, {data_type}, {maximum_iterations}, {roughness_penalty}, {discrete_error_factor}, {vertical_standard_error}, {tolerance_1}, {tolerance_2}, {out_stream_features}, {out_sink_features}, {out_diagnostic_file}, {out_parameter_file}, {profile_penalty}, {out_residual_feature}, {out_stream_cliff_error_feature}, {out_contour_error_feature})
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 entradas de datos aceptadas para la clase Topo: TopoPointElevation, TopoContour, TopoStream, TopoSink, TopoBoundary, TopoLake, TopoCliff, TopoExclusion y TopoCoast.
Los tipos PointElevation, Contour y Sink de entrada de entidades pueden tener un campo especificado que contiene los valores z. No hay ninguna opción Campo para los tipos de entrada Boundary, Lake, Cliff, Coast, Exclusion o Stream. | TopoInput |
cell_size (Opcional) | El tamaño de celda del ráster de salida que se va a crear. Este parámetro se puede definir mediante un valor numérico u obtenerse desde un dataset ráster existente. Si el tamaño de celda no se ha especificado explícitamente como valor de parámetro, se usa el valor del tamaño de celda del entorno si se ha especificado; de lo contrario, se utilizan reglas adicionales para calcularlo a partir de las otras entradas. Consulte la sección Uso para obtener más detalles. | Analysis Cell Size |
extent (Opcional) | La clase Extent 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 afuera 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 Extent 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 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 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 Curvas de nivel, el valor predeterminado es cero. Si el tipo primario de datos es Punto, 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 oscila entre 0,25 y 4 y el valor predeterminado es 1. Un valor más pequeño da lugar a un suavizado de datos menor, mientras que 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 Curvas de nivel y cero si el tipo de datos es Punto. | 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 Curvas de nivel y 200 si el tipo de datos es Punto. | 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: 1. Línea de corriente de entrada no está sobre un acantilado. 2. Línea de corriente de entrada sobre un acantilado (cascada). 3. Aplicación de drenaje despejando un sumidero espurio. 4. Línea de transmisión determinada desde la esquina de curvas de nivel. 5. Línea de cresta determinada desde la esquina de curvas de nivel. 6. Código no utilizado. 7. Condiciones laterales de línea de transmisión de datos. 8. Código no utilizado. 9. Línea que indica grandes márgenes en datos de elevación. | 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 el número 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 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, afluentes y corrientes sobre acantilados se pueden identificar desde la clase de entidad de puntos. 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: 1. Circuito real en la red de línea de transmisión de datos. 2. El circuito en la red de corriente según se codifica en el ráster de salida. 3. El circuito en la red de corrientes a través de la conexión de los lagos. 4. Punto de bifurcaciones de ríos. 5. Transmisión en un acantilado (cataratas). 6. Puntos que indican varios flujos de salida de corrientes desde los lagos. 7. Código no utilizado. 8. Puntos junto a acantilados con alturas inconsistentes con dirección de acantilado. 9. Código no utilizado. 10. Bifurcaciones de ríos circulares eliminadas. 11. Bifurcaciones de ríos sin corriente que fluye hacia adentro. 12. Bifurcaciones de ríos rasterizadas en celda de salida diferentes al lugar donde ocurren las bifurcaciones de ríos de la línea de transmisión de datos. 13. Error al procesar las condiciones laterales: un indicador de datos de línea de transmisión muy complejos. | 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. Siempre es un ráster de punto flotante. | Raster |
Muestra 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'])
inFeatures = ([inPointElevations, inContours, inLake, inBoundary, inSinks])
# Execute TopoToRaster
outTTR = TopoToRaster(inFeatures)
# Save the output
outTTR.save("C:/sapyexamples/output/ttrout03")
Entornos
Información de licenciamiento
- Basic: Requiere Spatial Analyst o 3D Analyst
- Standard: Requiere Spatial Analyst o 3D Analyst
- Advanced: Requiere Spatial Analyst o 3D Analyst