Profil de pile (3D Analyst)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Cet outil permet de créer une table et un diagramme facultatif indiquant le profil d'entités linéaires sur une ou plusieurs surfaces multipatch, raster, TIN ou de MNT.

Illustration

Exemple de Stack Profile

Utilisation

Syntaxe

StackProfile_3d (in_line_features, profile_targets, out_table, {out_graph})
ParamètreExplicationType de données
in_line_features

Entités linéaires qui seront profilées sur les entrées de la surface.

Feature Layer
profile_targets
[profile_targets,...]

Données profilées, qui peuvent être composées d'une association d'entités multipatch et de modèles de surface, tels que des jeux de données raster, TIN, MNT et LAS.

Feature Layer; LAS Dataset Layer; Raster Layer; Terrain Layer; TIN Layer
out_table

Table en sortie devant stocker les mesures interpolées pour chaque profil.

Table
out_graph
(Facultatif)

Nom du graphique en sortie pouvant être affiché dans ArcMap, ArcScene ou ArcGlobe.

Graph

Exemple de code

1er exemple d'utilisation de l'outil StackProfile (fenêtre Python)

L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre 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')
2e exemple de l'outil StackProfile (script autonome)

L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :

'''**********************************************************************
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)

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Requis 3D Analyst
ArcGIS for Desktop Standard: Requis 3D Analyst
ArcGIS for Desktop Advanced: Requis 3D Analyst
6/5/2014