Exposition de surface (3D Analyst)
Récapitulatif
Crée des entités surfaciques qui représentent des plages de la direction horizontale des mesures de pente à partir d'une surface triangulée.
Illustration
Utilisation
L'exposition de chaque triangle de la surface est définie en degrés, puis un code d'exposition lui est affecté en fonction de la direction cardinale ou ordinale de sa pente. Les triangles contigus du même code sont combinés en une seule entité. Le jeu de classification par défaut est défini comme suit :
Code
Direction de pente
Plage d'angle de pente
-1
Plat standard
Pas de pente
1
Nord
0–22.5
2
Nord-Est
22.5–45
3
Est
45–135
4
Sud-Est
135–180
5
Sud
180–225
6
Sud-Ouest
225–270
7
Ouest
270–315
8
Nord-Ouest
315–337.5
9
Nord
337.5–360
Il est possible de spécifier des définitions de classe personnalisées via une Table de bornes de classes. La table doit comporter deux colonnes dont la première indique le point de rupture d'exposition en degrés et la seconde définit sa valeur de code. Prenons l'exemple suivant :
Interruption
Aspect_Code
90.0
1
180.0
2
270.0
3
360.0
4
La table peut être enregistrée dans n'importe quel format pris en charge (.dbf, .txt ou une table de géodatabase). Les noms des champs n'ont pas d'importance, étant donné que le premier sera toujours utilisé pour les bornes de classe et le second pour les codes d'exposition.
Syntaxe
Paramètre | Explication | Type de données |
in_surface |
La surface des jeux de données TIN, MNT ou LAS dont les valeurs d'exposition seront écrites dans le polygone en sortie. | LAS Dataset Layer; Terrain Layer; TIN Layer |
out_feature_class |
Classe d'entités en sortie. | Feature Class |
class_breaks_table (Facultatif) |
Table contenant les bornes utilisées pour définir les plages d'exposition dans la classe d'entités en sortie. | Table |
aspect_field (Facultatif) |
Champ contenant les valeurs de code d'exposition. | String |
pyramid_level_resolution (Facultatif) |
Résolution de taille de fenêtre ou de tolérance z du niveau de pyramide de MNT qui sera utilisée par cet outil. La valeur par défaut est 0 (ou résolution maximale). | Double |
Exemple de code
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.SurfaceVolume_3d("sample.gdb/featuredataset/terrain", "surf_vol.txt",
"ABOVE", 300, 1, 5)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :
'''****************************************************************************
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)