Resumen
Crea una tabla y un gráfico opcional que denota el perfil de las entidades de línea sobre uno o más superficies de multiparche, ráster, TIN o terreno.
Ilustración
Uso
Si el parámetro Nombre del gráfico de salida está rellenado y la herramienta se ejecuta en ArcMap, ArcScene o ArcGlobe, el gráfico resultante se visualizará en la pantalla.
La tabla de salida proporciona la información necesaria para generar el gráfico de perfil. Cada entidad de línea se densifican a lo largo de sus objetivos de perfil superpuestos de una manera que captura las características del perfil al introducir nuevos vértices a lo largo de la línea. La elevación y la distancia a lo largo de las líneas de entrada creadas por esta densificación se almacena en la tabla de salida junto con la información adicional sobre las entidades de línea y objetivos de perfil. Los valores en los campos se pueden utilizar para crear gráficos en una amplia variedad de aplicaciones externas. Los campos representan:
- FIRST_DIST: distancia al primer vértice en el segmento del perfil.
- FIRST_Z: altura del primer vértice en el segmento del perfil.
- SEC_DIST: distancia del segundo vértice en el segmento del perfil.
- SEC_Z: altura del segundo vértice en el segmento del perfil.
- LINE_ID: el Id. único de la entidad de línea que se utiliza para definir el perfil.
- SRC_TYPE: tipo de datos del origen del perfil, que es una superficie o multiparche.
- SRC_ID: Id. único de la entidad multiparche perfilada. No aplicable para las entradas de superficie.
- SRC_NAME: nombre y ruta al origen del perfil.
Sintaxis
StackProfile_3d (in_line_features, profile_targets, out_table, {out_graph})
Parámetro | Explicación | Tipo de datos |
in_line_features | Las entidades de línea que se perfilarán sobre las entradas de superficie. | Feature Layer |
profile_targets [profile_targets,...] | Datos que se están perfilando, que pueden estar formados por cualquier combinación de entidades multiparche, ráster y modelos de superficie triangulada. | Feature Layer; LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer |
out_table | La tabla de salida que almacenará la altura interpolada para cada destino del perfil que se interseca con la línea de entrada. | Table |
out_graph (Opcional) | El nombre del gráfico de salida que se puede visualizar en ArcMap, ArcScene o ArcGlobe. | Graph |
Muestra de código
Ejemplo 1 StackProfile (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.StackProfile_3d('profile_line.shp', 'dem.tif; buildings.shp',
'profile_values.dbf', 'Surface Profile')
Ejemplo 2 StackProfile (script independiente)
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.
'''**********************************************************************
Name: Save Profiles to Graph Files
Description: Creates profile graphs of multipatch and surface features,
which are then saved as graph files.
**********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set Local Variables
profileLine = arcpy.GetParameterAsText(0)
profileTargets = arcpy.GetParameterAsText(1) # input las files
profileTable = arcpy.CreateUniqueName('profile_table', 'in_memory')
graphName = "Sample Graph"
outGraph = arcpy.GetParameterAsText(2) # output graph file
try:
arcpy.CheckOutExtension('3D')
# Execute StackProfile
arcpy.ddd.StackProfile(profileLine, profileTargets, profileTable, graphName)
# Execute SaveGraph
arcpy.management.SaveGraph(graphName, outGraph)
arcpy.CheckInExtension('3D')
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)
Entornos
Información sobre licencias
- ArcGIS Desktop Basic: Requiere 3D Analyst
- ArcGIS Desktop Standard: Requiere 3D Analyst
- ArcGIS Desktop Advanced: Requiere 3D Analyst