Etiqueta | Explicación | Tipo de datos |
Ráster de superficie de entrada | Ráster de entrada de superficie. | Raster Layer |
Ráster de salida | El ráster de salida. Será de tipo punto flotante. | Raster Dataset |
Tipo de parámetro (Opcional) | Determina el tipo de parámetro de superficie de salida que se va a calcular.
| String |
Tipo de superficie local (Opcional) | Determina el tipo de función de superficie ajustada alrededor de la celda de destino.
| String |
Distancia de vecindad (Opcional) | La salida se calcula a lo largo de esta distancia desde el centro de la celda de destino. Determina el tamaño de la vecindad. El valor predeterminado es el tamaño de celda ráster de entrada, que da lugar a una vecindad de 3 x 3. | Linear Unit |
Utilizar vecindad adaptable (Opcional) | Permite que la distancia de vecindad varíe con los cambios del paisaje. La distancia máxima viene determinada por la distancia de vecindad. La distancia mínima es el tamaño de celda ráster de entrada.
| Boolean |
Unidad Z (Opcional) | La unidad lineal de los valores z verticales. Se define mediante un sistema de coordenadas verticales si existe. Si no existe un sistema de coordenadas verticales, la unidad z debe definirse en una lista de unidades para garantizar el cómputo geodésico correcto. El valor predeterminado es metros.
| String |
Medida de pendiente de salida (Opcional) | Cuando Tipo de parámetro es Pendiente, determina las unidades de medida (grados o porcentajes) del ráster de pendiente de salida.
| String |
Acimuts geodésicos del proyecto (Opcional) | Especifica si se proyectan acimuts geodésicos para corregir la distorsión de ángulo causada por la referencia espacial de salida.
| Boolean |
Utilizar orientación ecuatorial (Opcional) | Medir la orientación desde un punto del ecuador.
| Boolean |
Disponible con una licencia de Spatial Analyst.
Disponible con una licencia de 3D Analyst.
Resumen
Determina parámetros de una superficie ráster, como la orientación, la pendiente y las curvaturas.
Más información sobre cómo funciona Parámetros de superficie.
Uso
Los parámetros de salida se calculan celda por celda, ajustando una superficie local en torno a una celda de destino. Se pueden calcular cinco parámetros de superficie: Pendiente, Orientación, Curvatura media, Curvatura tangencial (curva de nivel normal) y Curvatura de perfil (línea de pendiente normal). Estas opciones están disponibles en el parámetro Tipo de parámetro (parameter_type en Python).
Todos los parámetros de salida se calculan utilizando coordenadas geodésicas y ecuaciones.
Cuando se especifica la opción Pendiente (SLOPE en Python) para el Tipo de parámetro, la salida representa la tasa de cambio de elevación para cada celda del modelo digital de elevación (DEM). Es la primera derivada de un DEM. El rango de valores de la salida de pendiente depende del tipo de unidades de medida.
Cuando se especifica la opción Orientación (ASPECT en Python) para el Tipo de parámetro, la salida identifica la dirección de la brújula a la que apunta la pendiente descendente en cada ubicación. Se expresa en grados positivos de 0 a 360, medidos en el sentido de las agujas del reloj partiendo del norte.
La curvatura se utiliza para describir la forma de una superficie. En ciencias de la Tierra, se utiliza para ayudar a comprender el impacto de la gravedad, la erosión y otras fuerzas en la superficie, y se utiliza junto con otros parámetros de superficie para identificar y clasificar formas de suelo.
- Curvatura media (MEAN_CURVATURE en Python) mide la curvatura general de la superficie. Se calcula como la media de las curvaturas mínima y máxima. Si se especifica en Tipo de parámetro, la salida equivale al valor medio de las curvaturas de perfil (línea de pendiente normal) y tangencial (curva de nivel normal). Su signo, positivo o negativo, no es un indicador definitivo, excepto en valores extremos. Unos valores positivos altos indican áreas de denudación máxima, y unos valores negativos altos indican áreas de acumulación máxima (Minár et al., 2020).
- Curvatura de perfil (línea de pendiente normal) (PROFILE_CURVATURE en Python) mide la curvatura normal geométrica a lo largo de la línea de pendiente. Unos valores positivos indican áreas de aceleración del flujo de la superficie y erosión. Una curvatura de perfil negativa indica áreas de deceleración del flujo de la superficie y deposición. Una curvatura de perfil (línea de pendiente normal) positiva indica que la superficie es convexa en esa celda en la dirección de la pendiente. Una curvatura negativa indica que la superficie es cóncava en esa celda y en esa misma dirección. Un valor 0 indica que la superficie es plana.
- Curvatura tangencial (curva de nivel normal) (TANGENTIAL_CURVATURE en Python) mide la curvatura normal geométrica perpendicular a la línea de pendiente, tangente a la línea de curvas de nivel. Unos valores positivos indican áreas de flujo de superficie divergente. Unas curvaturas tangenciales negativas indican áreas de flujo de superficie convergente. Una curvatura tangencial (curva de nivel normal) positiva indica que la superficie es convexa en esa celda en perpendicular a la dirección de la pendiente. Una curvatura negativa indica que la superficie es cóncava en esa celda y en dirección perpendicular a la pendiente. Un valor 0 indica que la superficie es plana.
Las unidades de las tres salidas de tipo de curvatura serán el valor recíproco de las unidades xy del Sistema de coordenadas de salida.
La opción Cuadrática (QUADRATIC en Python) de Tipo de superficie local (local_surface_type en Python) no ajusta las celdas de vecindad de forma exacta. Esta es la opción predeterminada, y la recomendada para la mayoría de aplicaciones y datos.
- La superficie cuadrática minimiza el efecto de datos de superficie ruidosos, como una superficie LIDAR de alta resolución, lo cual es especialmente importante al calcular la curvatura.
- La superficie cuadrática debería utilizarse al especificar un tamaño de vecindad mayor que el tamaño de celda, así como al utilizar la opción de vecindad adaptable.
La opción Bicuadrática (BIQUADRATIC en Python) de Tipo de superficie local ajusta los datos de las celdas de vecindad de forma exacta.
- Esta opción es adecuada para una superficie de entrada altamente precisa.
- Si la distancia de vecindad es mayor que el tamaño de celda ráster de entrada, se perderán las ventajas de precisión del tipo de superficie Bicuadrática. La distancia de vecindad se debería dejar en su valor predeterminado (igual que el tamaño de celda).
Distancia de vecindad (neighborhood_distance en Python) determina el tamaño de la vecindad y calcula el parámetro de superficie a lo largo de esta distancia desde el centro de la celda de destino.
- No puede ser menor que el tamaño de celda ráster de entrada.
- Una distancia de vecindad menor captura más variabilidad local en el paisaje, en las características de las entidades de paisaje más pequeñas. Si se dispone de datos de elevación de alta resolución, es más adecuado utilizar distancias mayores.
Si el parámetro Utilizar vecindad adaptable está activado (use_adaptive_neighborhood tiene el valor ADAPTIVE_NEIGHBORHOOD en Python), la distancia de vecindad cambiará con la variabilidad del terreno. La distancia de vecindad se reducirá si existe demasiada variabilidad en la ventana de cálculo.
Especificar la Unidad z (z-unit en Python) de la superficie es importante para garantizar el cálculo correcto de la salida de pendiente.
Si hay una unidad z disponible en el sistema de coordenadas verticales del ráster de entrada, se aplicará automáticamente. Se recomienda que defina una unidad z para el ráster de entrada si falta esta unidad. Puede usar la herramienta Definir proyección para especificar una unidad z. Si no se ha definido, se utilizará el metro de manera predeterminada.
El rango de valores de la salida de pendiente depende de las unidades del tipo de Medida de pendiente de salida (output_slope_measurement en Python):
- En Grados (DEGREE en Python), el rango de valores de pendiente va de 0 a 90.
- En Elevación en porcentaje (PERCENT_RISE en Python), el rango va de 0 hasta básicamente el infinito. Una superficie plana es 0 por ciento, una superficie de 45 grados es 100 por ciento y, a medida que la superficie se vuelve más vertical, la elevación en porcentaje es cada vez mayor.
Si el parámetro Acimuts geodésicos del proyecto está activado (project_geodesic_azimuths tiene el valor PROJECT_GEODESIC_AZIMUTHS en Python), se cumple lo siguiente:
- El norte siempre se representa mediante 360 grados.
- Se proyectan acimuts para corregir la distorsión causada por un Sistema de coordenadas de salida no conforme. Estos ángulos se pueden utilizar para localizar con precisión puntos a lo largo de la pendiente descendente más pronunciada.
Si el parámetro Utilizar orientación ecuatorial está activado (project_geodesic_azimuths tiene el valor USE_EQUATORIAL_ASPECT en Python), la orientación se medirá desde un punto a lo largo del ecuador para corregir el sesgo de la dirección que sucede al aproximarse a los polos. Esta opción garantiza que los ejes norte-sur y este-oeste sean perpendiculares entre sí.
Active el parámetro Utilizar orientación ecuatorial si su terreno está cerca de los polos norte o sur.
Referencias:
- James D.E., M.D. Tomer, S.A. Porter. (2014). Trans-scalar landform segmentation from high-resolution digital elevation models. Poster presented at: ESRI Annual Users Conference; July 2014; San Diego, California.
- Minár, J., Evans, I. S., & Jenčo, M. (2020). A comprehensive system of definitions of land surface (topographic) curvatures, with implications for their application in geoscience modelling and prediction. Earth-Science Reviews, 103414. https://doi.org/10.1016/j.earscirev.2020.103414
Parámetros
arcpy.ddd.SurfaceParameters(in_raster, out_raster, {parameter_type}, {local_surface_type}, {neighborhood_distance}, {use_adaptive_neighborhood}, {z_unit}, {output_slope_measurement}, {project_geodesic_azimuths}, {use_equatorial_aspect})
Nombre | Explicación | Tipo de datos |
in_raster | Ráster de entrada de superficie. | Raster Layer |
out_raster | El ráster de salida. Será de tipo punto flotante. | Raster Dataset |
parameter_type (Opcional) | Determina el tipo de parámetro de superficie de salida que se va a calcular.
| String |
local_surface_type (Opcional) | Determina el tipo de función de superficie ajustada alrededor de la celda de destino.
| String |
neighborhood_distance (Opcional) | La salida se calcula a lo largo de esta distancia desde el centro de la celda de destino. Determina el tamaño de la vecindad. El valor predeterminado es el tamaño de celda ráster de entrada, que da lugar a una vecindad de 3 x 3. | Linear Unit |
use_adaptive_neighborhood (Opcional) | Permite que la distancia de vecindad varíe con los cambios del paisaje. La distancia máxima viene determinada por la distancia de vecindad. La distancia mínima es el tamaño de celda ráster de entrada.
| Boolean |
z_unit (Opcional) | La unidad lineal de los valores z verticales. Se define mediante un sistema de coordenadas verticales si existe. Si no existe un sistema de coordenadas verticales, la unidad z debe definirse en una lista de unidades para garantizar el cómputo geodésico correcto. El valor predeterminado es metros.
| String |
output_slope_measurement (Opcional) | Cuando parameter_type es SLOPE, determina las unidades de medida (grados o porcentajes) del ráster de pendiente de salida.
| String |
project_geodesic_azimuths (Opcional) | Especifica si se proyectan acimuts geodésicos para corregir la distorsión de ángulo causada por la referencia espacial de salida.
| Boolean |
use_equatorial_aspect (Opcional) | Medir la orientación desde un punto del ecuador.
| Boolean |
Muestra de código
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
Este ejemplo genera un ráster de pendiente con valores de salida en porcentajes, utilizando un método de vecindad adaptable. La distancia de vecindad máxima es 5 metros.
from arcpy.ddd import *
SurfaceParameters("elevation_1m.tif", "C:/data/output/outsurfaceparameters01.tif",
"", "", "5 METERS", "ADAPTIVE_NEIGHBORHOOD", "", "PERCENT_RISE")
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.
Este ejemplo genera un ráster de curvatura de perfil (línea de pendiente normal), utilizando un método de vecindad adaptable. La distancia de vecindad máxima es 10 metros.
# Name: SurfaceParameters_Ex_02.py
# Description: Derive profile (normal slope line) curvature for a 1m
# resolution elevation raster over an adaptive neighborhood distance of maximum 10m.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy.ddd import *
# Set environment settings
arcpy.env.workspace = "C:/data"
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Set local variables
inRaster = "elevation_1m.tif"
outRaster = "C:/data/output/outsurfaceparameters02.tif"
inParameterType = "PROFILE_CURVATURE"
inNeighborhoodDistance = "10 METERS"
inUseAdaptiveNeighborhood = "ADAPTIVE_NEIGHBORHOOD"
# Execute the tool
SurfaceParameters(inRaster, outRaster, inParameterType, "",
inNeighborhoodDistance, inUseAdaptiveNeighborhood)
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.
Este ejemplo genera un ráster de orientación utilizando una distancia de vecindad de 5 metros. Corregir las distorsiones de dirección derivadas del uso de una proyección no conforme.
# Name: SurfaceParameters_Ex_03.py
# Description: Derive aspect for an elevation surface over a distance of 5m, correct
# for direction distortion from non-conformal projection system.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy.ddd import *
# Set environment settings
arcpy.env.workspace = "C:/data"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("3D")
# Set local variables
inRaster = "elevation_1m.tif"
outRaster = "C:/data/output/outsurfaceparameters03.tif"
inParameterType = "ASPECT"
inNeighborhoodDistance = "5 METERS"
inProjectGeodesicAzimuths = "PROJECT_GEODESIC_AZIMUTHS"
# Execute the tool
SurfaceParameters(inRaster, outRaster, inParameterType, "", inNeighborhoodDistance,
"", "", "", inProjectGeodesicAzimuths)
Entornos
Casos especiales
Información de licenciamiento
- Basic: Requiere 3D Analyst o Spatial Analyst
- Standard: Requiere 3D Analyst o Spatial Analyst
- Advanced: Requiere 3D Analyst o Spatial Analyst