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.
La table en sortie fournit les informations nécessaires à la génération du diagramme de profil. Chaque entité linéaire est densifiée le long de ses profils cibles superposés d'une façon qui permet de capturer les caractéristiques du profil en introduisant de nouveaux sommets le long de la ligne. L'altitude et la distance le long des lignes en entrée résultant de cette densification sont stockées dans la table en entrée avec les informations supplémentaires concernant les entités linéaires et les profils cible. Vous pouvez utiliser les valeurs de ces champs pour créer des diagrammes dans de nombreuses applications externes. Les champs représentent :
- 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_3d (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 devant stocker les mesures interpolées pour chaque profil. | 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
- ArcGIS Desktop Basic: Requiert 3D Analyst
- ArcGIS Desktop Standard: Requiert 3D Analyst
- ArcGIS Desktop Advanced: Requiert 3D Analyst