Résumé
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
Utilisation
Si le paramètre Nom du diagramme en sortie est indiqué et que l'outil est exécuté dans ArcMap, ArcScene ou ArcGlobe, le diagramme obtenu s'affiche à l'écran.
Chaque ligne en entrée est densifiée pour interpoler la hauteur le long de ses profils cibles. L’altitude et la distance le long des lignes en entrée résultant de cette densification sont stockées dans la table en sortie avec les informations supplémentaires concernant les entités linéaires et les profils cible.
Les champs suivants dans la table en sortie fournissent les informations nécessaires pour générer un diagramme dans n’importe quelle application graphique :
- FIRST_DIST - Distance jusqu'au premier sommet du segment de profil.
- FIRST_Z - Hauteur du premier sommet du segment de profil.
- SEC_DIST - Distance du deuxième sommet du segment de profil.
- SEC_Z - Hauteur du deuxième sommet du segment de profil.
- LINE_ID - ID unique de l'entité linéaire utilisée pour définir le profil.
- SRC_TYPE - Type de données de la source du profil qui représente une surface ou un multipatch.
- SRC_ID - ID unique des entités multipatch profilées. Non applicable aux entrées de surface.
- SRC_NAME - Nom et chemin d'accès à la source du profil.
Syntaxe
StackProfile(in_line_features, profile_targets, out_table, {out_graph})
Paramètre | Explication | Type 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 combinaison d'entités multipatch et de modèles de surface, raster et triangulés. | Feature Layer; LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer |
out_table | Table en sortie qui stocke la hauteur interpolée pour chaque profil cible intersectant la ligne en entrée. | Table |
out_graph (Facultatif) | Nom du diagramme en sortie que vous pouvez visualiser 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
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst