Resumen
Crea entidades poligonales que representan rangos de valores de pendiente para superficies trianguladas.
Ilustración
Uso
-
La superficie normal de cada triángulo, determinada por el producto cruzado de los vectores de dos aristas de triángulo, se utiliza para determinar la pendiente en porcentaje y grados. La pendiente en porcentaje describe la proporción de cambio en altura de la superficie normal con respecto al cambio en la distancia horizontal, mientras que la pendiente en grados es el ángulo de inclinación entre la superficie normal y un plano horizontal.
Cada uno de los polígonos resultantes representa un rango de valores de pendiente basados en los cortes de clasificación usados al ejecutar la herramienta. Los cortes de clasificación predeterminados dividen las mediciones de pendiente en los nueve grupos siguientes:
CÓDIGO DE PENDIENTE PERCENT RANGO DE GRADOS 1
0.00 — 1.00
0.00 — 0.57
2
1.00 — 2.15
0.57 — 1.43
3
2.15 — 4.64
1.43 — 2.66
4
4.64 — 10.0
2.66 — 5.71
5
10.00 — 21.50
5.71 — 12.13
6
21.50 — 46.40
12.13 — 24.89
7
46.40 — 100.0
24.89 — 45.00
8
100.0 — 1000.0
45.00 — 84.29
9
1000,0 <
84.29 — 90.0
Las clasificaciones de pendiente se pueden personalizar especificando una tabla formada como máximo por dos campos de valores numéricos en el parámetro Tabla de rupturas de clase. La primera columna identifica los puntos de corte de la clasificación de pendiente. Si se proporciona una segunda columna, sus valores se usarán para asociar un código que recibe atributos para cada entidad poligonal. Si se ha usado la tabla siguiente, todos los valores de pendiente de 0 a 10 se representarán mediante un código 1, 10 a 25, mediante un código 2, y así sucesivamente. Las unidades de corte de clase de la tabla están definidas en el parámetro Unidades de pendiente (units).
CLASS_BREAK CODE 10.0
1
25.0
2
40.0
3
70.0
4
La tabla puede estar en cualquier formato compatible (.dbf, .txt, o tabla de geodatabase). El nombre de los campos son irrelevantes, ya que el primero siempre se utilizará para los cortes de clase y el segundo para los códigos de orientación.
Sintaxis
SurfaceSlope_3d (in_surface, out_feature_class, {units}, {class_breaks_table}, {slope_field}, {z_factor}, {pyramid_level_resolution})
Parámetro | Explicación | Tipo de datos |
in_surface | Dataset de TIN, terreno o LAS cuyas mediciones de pendiente se escribirán en la entidad poligonal de salida. | LAS Dataset Layer; Terrain Layer; TIN Layer |
out_feature_class | La clase de entidad que generará esta herramienta. | Feature Class |
units (Opcional) | Las unidades de medida que se utilizarán para el cálculo de la pendiente.
| String |
class_breaks_table (Opcional) | Una tabla que contiene los cortes de clasificación que se utilizarán para agrupar las entidades de salida. La primera columna de esta tabla indicará el punto de corte, mientras que la segunda proporcionará el código de clasificación. | Table |
slope_field (Opcional) | El campo que contiene los valores de pendiente. | String |
z_factor (Opcional) | El factor por el que se multiplicarán los valores Z. Esto se utiliza generalmente para convertir las unidades lineales Z para que coincidan con las unidades lineales XY. El valor predeterminado es 1, que no altera los valores de elevación. | Double |
pyramid_level_resolution (Opcional) | La tolerancia Z o la resolución del tamaño de la ventana del nivel de pirámide de terreno que utilizará esta herramienta. El valor predeterminado es 0, o resolución completa. | Double |
Ejemplo de código
Ejemplo 1 de SurfaceSlope (ventana de Python)
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceSlope_3d("sample.gdb/featuredataset/terrain", "s_slope.shp", "PERCENT")
Ejemplo 2 de SurfaceSlope (secuencia de comandos independiente)
En el siguiente ejemplo se muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python.
'''****************************************************************************
Name: SurfaceSlope Example
Description: This script demonstrates how to use the
SurfaceAspect and SurfaceSlope tools to generate a polygon
that contains the intersection of both
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
try:
# List all TINs in workspace
listTINs = arcpy.ListDatasets("","TIN")
# Determine whether the list contains any TINs
if len(listTINs) > 0:
for dataset in listTINs:
print dataset
# Set Local Variables
aspect = arcpy.CreateUniqueName("Aspect.shp")
slope = arcpy.CreateUniqueName("Slope.shp")
outFC = dataset + "_Aspect_Slope.shp"
#Execute SurfaceAspect
arcpy.SurfaceAspect_3d(dataset, aspect)
#Execute SurfaceSlope
arcpy.SurfaceSlope_3d(dataset, slope)
#Execute SurfaceSlope
print "Starting Intersect"
arcpy.Intersect_analysis(aspect + " #;" + slope + " #", outFC, "ALL")
print "Completed intersect for " + dataset
del aspect, slope, outFC
else:
print "There are no TINs in the " + env.workspace + " directory."
except:
# Returns any other error messages
print arcpy.GetMessages(2)
del arcpy, listTINs
Entornos
Información sobre licencias
- ArcGIS for Desktop Basic: Requiere 3D Analyst
- ArcGIS for Desktop Standard: Requiere 3D Analyst
- ArcGIS for Desktop Advanced: Requiere 3D Analyst