Orientación de superficie (3D Analyst)
Resumen
Calcula la orientación o la dirección de la pendiente descendente más empinada, de cada triángulo en una TIN o dataset de terreno y escribe la salida como una clase de entidad poligonal.
Ilustración
![]() |
Uso
Cada orientación del triángulo de superficie se determina en unidades de grados, luego de haber asignado un código de orientación basado en la dirección cardinal u ordinal de su pendiente. El esquema de clasificación predeterminado se define de la siguiente manera:
Código
Dirección de la pendiente
Rango del ángulo de la pendiente
-1
Plano
Sin pendiente
1
Norte
0–22.5
2
Noreste
22.5–45
3
Este
45–135
4
Sureste
135–180
5
Sur
180–225
6
Suroeste
225–270
7
Oeste
270–315
8
Noroeste
315–337.5
9
Norte
337.5–360
Los triángulos contiguos del mismo código se fusionan en una entidad.
Las definiciones de clases personalizadas se pueden proporcionar a través de una Tabla de cortes de clase. La tabla debe tener dos columnas donde la primera indique el punto de corte de orientación en grados y la segunda defina su valor de código. Considere los siguientes ejemplos:
Corte
Aspect_Code
90.0
1
180.0
2
270.0
3
360.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
Parámetro | Explicación | Tipo de datos |
in_surface |
La superficie TIN o de terreno de entrada. | Terrain Layer; TIN Layer |
out_feature_class |
La clase de entidad de salida. | Feature Class |
class_breaks_table (Opcional) |
Una tabla que contiene los cortes de clasificación que se utilizarán para definir los rangos de orientación en la clase de entidad de salida. | Table |
aspect_field (Opcional) |
El campo que contiene los valores del código de orientación. | String |
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
El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana Python:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceVolume_3d("sample.gdb/featuredataset/terrain", "surf_vol.txt",
"ABOVE", 300, 1, 5)
El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:
'''****************************************************************************
Name: Surface Volume Example
Description: This script demonstrates how to use the
Surface Volume tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inSurface = "elevation_tin"
#Execute SurfaceVolume
result = arcpy.SurfaceVolume_3d(inSurface, "", "ABOVE", "300", "1", "5")
print result.GetMessage(0)
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)