Résumé
Crée des entités surfaciques qui représentent des plages de valeurs de pente de surface triangulées.
Illustration
Utilisation
-
La normale de surface de chaque triangle, qui est donnée par le produit croisé vectoriel de deux tronçons de triangle, est utilisée pour déterminer la pente, en pourcentage ou en degrés. Le pourcentage de pente décrit le ratio de modification en hauteur de la normale de surface à changer en distance horizontale, alors que la pente en degrés est l'angle d'inclinaison entre la normale de surface et un plan horizontal.
Chaque polygone résultant représente une plage de valeurs de pente basée sur les bornes de classification utilisées lors de l’exécution de l’outil. Les bornes de classification par défaut divisent les mesures de pente en neuf groupes et sont présentées ci-après :
CODE DE PENTE POURCENTAGE PLAGE DE DEGRES 1
0,00 — 1,00
0,00 — 0,57
2
1.00 — 2.15
0,57 — 1,43
3
2,15 — 4,64
1,43 — 2,66
4
4,64 — 10,0
2,66 — 5,71
5
10,00 — 21,50
5,71 — 12,13
6
21,50 — 46,40
12,13 — 24,89
7
46,40 — 100,0
24,89 — 45,00
8
100,0 — 1000,0
45,00 — 84,29
9
1000.0 <
84,29 — 90,0
Il est possible de personnaliser les classifications de pentes en spécifiant une table comptant jusqu’à deux champs de valeurs numériques dans le paramètre Class Breaks Table (Table de bornes de classes). La première colonne identifie les points de rupture de la classification de pente. Si une deuxième colonne est fournie, ses valeurs seront utilisées pour associer un code qui est attribué pour chaque entité surfacique. Si la table ci-après est utilisée, toutes les valeurs de pente entre 0 et 10 sont représentées par le code 1, entre 10 et 25 par le code 2 et ainsi de suite. Les unités des bornes de classes de la table sont définies dans le paramètre Slope Units (Unités de pente) (units).
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.
Syntaxe
arcpy.ddd.SurfaceSlope(in_surface, out_feature_class, {units}, {class_breaks_table}, {slope_field}, {z_factor}, {pyramid_level_resolution})
Paramètre | Explication | Type de données |
in_surface | Jeux de données TIN, MNT ou LAS dont les mesures de pente seront écrites dans l'entité surfacique en sortie. | LAS Dataset Layer; Terrain Layer; TIN Layer |
out_feature_class | Classe d'entités qui va être produite par cet outil. | Feature Class |
units (Facultatif) | Unités de mesure à utiliser pour calculer la pente.
| String |
class_breaks_table (Facultatif) | Table contenant les bornes de classification utilisées pour regrouper 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 z sont multipliées. Il permet généralement de convertir des unités linéaires Z afin d'apparier les unités linéaires XY. La valeur par défaut est de 1, ce qui laisse les valeurs d’altitude inchangées. Ce paramètre est désactivé si la référence spatiale de la surface en entrée possède un datum Z avec une unité linéaire spécifiée. | 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
1er exemple d'utilisation de l'outil SurfaceSlope (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.SurfaceSlope_3d("sample.gdb/featuredataset/terrain", "s_slope.shp", "PERCENT")
2e exemple d'utilisation de l'outil SurfaceSlope (script autonome)
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
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst