Pente de surface (3D Analyst)
Récapitulatif
Crée des entités surfaciques à partir des valeurs de pente de triangle d'un TIN ou d'un jeu de données de MNT.
Illustration
Utilisation
-
Utilisez le paramètre Table de bornes de classes pour contraindre les informations de pente dans des intervalles de bornes spécifiques de la classe d'entités en sortie.
Il est possible de spécifier des classifications de pentes personnalisées via une Table de bornes de classes qui contient jusqu'à deux colonnes. La première colonne indique toujours la valeur des bornes. Si la deuxième colonne est disponible, elle est utilisée pour définir le code correspondant à la classe de pentes. Prenons l'exemple suivant :
CLASS_BREAK
CODE
10.0
1
25.0
2
40.0
3
70.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.
-
Les unités sont respectées uniquement lorsqu'une table de bornes de classes est utilisée.
Syntaxe
Paramètre | Explication | Type de données |
in_surface |
Jeu de données de MNT ou TIN en entrée. | Tin Layer; Terrain Layer |
out_feature_class |
Classe d'entités en sortie. | Feature Class |
units (Facultatif) |
Unités de mesure à utiliser pour calculer la pente.
| String |
class_breaks_table (Facultatif) |
Table contenant les bornes utilisées pour classer les entités en sortie. La première colonne de cette table indique le point de rupture, alors que la deuxième indique le code de classification. | Table |
slope_field (Facultatif) |
Champ contenant les valeurs de pente. | String |
z_factor (Facultatif) |
Facteur par lequel les valeurs d'altitude sont multipliées. Il est généralement utilisé pour convertir les unités linéaires Z qui correspondent à celles des unités linéaires XY. La valeur par défaut est 1, qui laisse les valeurs d'altitude inchangées. | Double |
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.SurfaceSlope_3d("sample.gdb/featuredataset/terrain", "s_slope.shp", "PERCENT")
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :
'''****************************************************************************
Name: SurfaceSlope Example
Description: This script demonstrates how to use the
SurfaceAspect and SurfaceSlope tools to generate a polygon
that contains the intersection of both
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
try:
# List all TINs in workspace
listTINs = arcpy.ListDatasets("","TIN")
# Determine whether the list contains any TINs
if len(listTINs) > 0:
for dataset in listTINs:
print dataset
# Set Local Variables
aspect = arcpy.CreateUniqueName("Aspect.shp")
slope = arcpy.CreateUniqueName("Slope.shp")
outFC = dataset + "_Aspect_Slope.shp"
#Execute SurfaceAspect
arcpy.SurfaceAspect_3d(dataset, aspect)
#Execute SurfaceSlope
arcpy.SurfaceSlope_3d(dataset, slope)
#Execute SurfaceSlope
print "Starting Intersect"
arcpy.Intersect_analysis(aspect + " #;" + slope + " #", outFC, "ALL")
print "Completed intersect for " + dataset
del aspect, slope, outFC
else:
print "There are no TINs in the " + env.workspace + " directory."
except:
# Returns any other error messages
print arcpy.GetMessages(2)
del arcpy, listTINs