Pente de surface (3D Analyst)

Synthèse

Crée des entités surfaciques qui représentent des plages de valeurs de pente de surface triangulées.

Illustration

Pente de surface

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 PENTEPOURCENTAGE 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_BREAKCODE

    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.

Paramètres

ÉtiquetteExplicationType de données
Surface en entrée

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
Classe d’entités en sortie

Classe d’entités qui va être produite.

Feature Class
Unités de pente
(Facultatif)

Unités de mesure à utiliser pour calculer la pente.

  • PourcentageLa pente est exprimée sous la forme d'un pourcentage. Il s’agit de l’option par défaut.
  • DegréLa pente est exprimée comme l'angle d'inclinaison à partir d'un plan horizontal.
String
Table de bornes de classes
(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
Champ de pente
(Facultatif)

Champ contenant les valeurs de pente.

String
Facteur Z
(Facultatif)

Facteur par lequel les valeurs z sont multipliées. Cette option permet généralement de convertir les unités linéaires z afin qu’elles correspondent aux unités linéaires x,y. La valeur par défaut est 1, qui laisse les valeurs d'altitude inchangées. Ce paramètre n’est pas disponible si la référence spatiale de la surface en entrée possède un datum z dont l’unité linéaire est spécifiée.

Double
Résolution des niveaux de pyramide
(Facultatif)

Résolution de taille de fenêtre ou de tolérance z du niveau de pyramide de MNT qui sera utilisée. La valeur par défaut est 0 (ou résolution maximale).

Double

arcpy.ddd.SurfaceSlope(in_surface, out_feature_class, {units}, {class_breaks_table}, {slope_field}, {z_factor}, {pyramid_level_resolution})
NomExplicationType 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.

Feature Class
units
(Facultatif)

Unités de mesure à utiliser pour calculer la pente.

  • PERCENTLa pente est exprimée sous la forme d'un pourcentage. Il s’agit de l’option par défaut.
  • DEGREELa pente est exprimée comme l'angle d'inclinaison à partir d'un plan horizontal.
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. Cette option permet généralement de convertir les unités linéaires z afin qu’elles correspondent aux unités linéaires x,y. La valeur par défaut est 1, qui laisse les valeurs d'altitude inchangées. Ce paramètre n’est pas disponible si la référence spatiale de la surface en entrée possède un datum z dont l’unité linéaire est 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. 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 :

arcpy.env.workspace = "C:/data"
arcpy.ddd.SurfaceSlope("sample.gdb/featuredataset/terrain", "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

# Set environment settings
arcpy.env.workspace = "C:/data"

# 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.ddd.SurfaceAspect(dataset, aspect)
        #Execute SurfaceSlope
        arcpy.ddd.SurfaceSlope(dataset, slope)
        #Execute SurfaceSlope
        print("Starting Intersect")
        arcpy.analysis.Intersect(aspect + " #;" + slope + " #", outFC, "ALL")
        print("Completed intersect for " + dataset)
else:
    print("There are no TINs in the " + env.workspace + " directory.")

Informations de licence

  • Basic: Nécessite 3D Analyst
  • Standard: Nécessite 3D Analyst
  • Advanced: Nécessite 3D Analyst

Rubriques connexes