Ajouter des informations de surface (3D Analyst)

Résumé

Attribue des entités avec des informations spatiales découlant d’une surface.

Utilisation

  • Les valeurs Z des entités 3D sont ignorées. Chaque entité récapitulera les propriétés Z de la surface qui intersectent sa géométrie. Les points font dériver les valeurs Z de l’emplacement XY sur la surface, les lignes acquièrent les propriétés Z en interpolant les mesures de la surface avec sa longueur et les polygones récapitulent les propriétés Z de la surface au sein de sa superficie.

  • Les options Propriété en sortie sont écrites dans la table attributaire de l'entité en entrée. Chaque entité définit l'emplacement des propriétés de surface évaluées et le type de propriété pouvant être signalé varie en fonction de la géométrie de l'entité :

    géométrie des entitésPropriétés de la surface

    Point

    Points altimétriques interpolés à partir de la coordonnées XY du point sur la surface.

    Multi-point

    Valeur minimale, maximale et moyenne du point coté pour tous les points d'un enregistrement multi-points.

    Polyligne

    Distance 3D de la ligne le long de la surface.

    Valeur minimale, maximale et moyenne de l'altitude et de la pente de la ligne le long de la surface.

    Polygone

    Superficie 3D de la surface superposant le polygone.

    Valeur minimale, maximale et moyenne de l'altitude et de la pente de la surface.

  • Les valeurs de pente sont calculées sous la forme de pourcentages (degrés) et, pour les entités linéaires, elles sont calculées à chaque segment de la ligne.

    • La pente minimale provient du segment dont la valeur est la plus proche de 0, ou du degré horizontal.
    • La pente maximale provient du segment présentant la plus grande valeur calculée.
    • La pente moyenne provient de la pondération de chaque pente en fonction de sa longueur 3D, puis du calcul de la moyenne. Les segments les plus longs ont donc une plus grande influence sur la valeur obtenue que les segments les plus courts.
  • Vous pouvez appliquer un filtre du bruit pour exclure les portions de la surface caractérisées par des mesures anormales du calcul de la pente. Les entités linéaires sont segmentées par des sommets qui capturent le profil de la surface, et le fait de filtrer ces segments par longueur permet de supprimer l'influence des segments courts probablement provoqués par des mesures de surface indésirables. De même, le filtre de surface pour les entités surfaciques permet de ne pas prendre en compte les micro triangles des surfaces triangulées dans le calcul de la pente. Pour les surfaces raster, un sous-ensemble de centroïdes de cellules permet de construire une surface triangulée sur laquelle le filtre de surface est appliqué.

Syntaxe

AddSurfaceInformation(in_feature_class, in_surface, out_property, {method}, {sample_distance}, {z_factor}, {pyramid_level_resolution}, {noise_filtering})
ParamètreExplicationType de données
in_feature_class

Entités ponctuelles, multi-points, polylignes ou surfaciques qui définissent les emplacements permettant de déterminer une ou plusieurs propriétés de surfaces.

Feature Layer
in_surface

Surface de jeu de données LAS, de mosaïque, raster, TIN ou de MNT utilisée pour interpoler les valeurs z.

LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
out_property
[out_property,...]

Propriétés d'altitude de surface ajoutées à la table attributaire de la classe d'entités en entrée. La liste suivante récapitule les mots-clés de propriété disponibles et les types de géométrie pris en charge :

  • ZValeurs Z de surface interpolées pour l'emplacement XY de chaque entité ponctuelle unique.
  • Z_MINValeurs Z de surface les plus basses dans la superficie définie par le polygone, ainsi que la longueur d'une ligne, ou parmi les valeurs interpolées pour les points dans un enregistrement multi-points.
  • Z_MAXAltitude de surface la plus haute dans la superficie définie par le polygone, ainsi que la longueur d'une ligne, ou parmi les valeurs interpolées pour les points dans un enregistrement multi-points.
  • Z_MEANAltitude de surface moyenne de la superficie définie par le polygone, ainsi que la longueur d'une ligne, ou parmi les valeurs interpolées pour les points dans un enregistrement multi-points.
  • SURFACE_AREASuperficie de surface 3D pour la région définie par chaque polygone.
  • SURFACE_LENGTHDistance 3D de la ligne le long de la surface.
  • MIN_SLOPEValeur de pente la plus proche de zéro le long de la ligne ou à l'intérieur de la surface définie par le polygone.
  • MAX_SLOPEValeur de pente la plus haute le long de la ligne ou à l'intérieur de la surface définie par le polygone.
  • AVG_SLOPEValeur de pente moyenne le long de la ligne ou à l'intérieur de la surface définie par le polygone.
String
method
(Facultatif)

Méthode d'interpolation utilisée pour définir les informations sur la surface. Les options disponibles dépendent du type de données de la surface en entrée :

  • BILINEARMéthode d'interpolation exclusive à la surface raster, qui définit les valeurs de cellule des quatre cellules les plus proches. Il s'agit de la seule option disponible pour une surface raster.
  • LINEAR Méthode d'interpolation par défaut pour un jeu de données TIN, de MNT et LAS. Obtient une altitude à partir du plan défini par le triangle qui contient l'emplacement XY d'un point de requête.
  • NATURAL_NEIGHBORS Obtient une altitude en appliquant des pondérations basées sur la surface aux voisins naturels d'un point de requête.
  • CONFLATE_ZMIN Obtient l'altitude de la plus petite valeur Z recherchée parmi les voisins naturels d'un point de requête.
  • CONFLATE_ZMAX Obtient l'altitude de la plus grande valeur Z recherchée parmi les voisins naturels d'un point de requête.
  • CONFLATE_NEAREST Obtient l'altitude de la valeur la plus proche recherchée parmi les voisins naturels d'un point de requête.
  • CONFLATE_CLOSEST_TO_MEAN Obtient l'altitude de la valeur Z la plus proche de la moyenne de tous les voisins naturels d'un point de requête.
String
sample_distance
(Facultatif)

Espacement selon lequel les valeurs z sont interpolées. Par défaut, la taille de cellule raster est utilisée lorsque la surface en entrée est un raster, et la densification naturelle de la surface triangulée est utilisée lorsque l'entrée est un MNT ou un jeu de données TIN.

Double
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
noise_filtering
(Facultatif)

Exclut les portions de la surface qui sont potentiellement caractérisées par des mesures anormales du calcul de la pente. Les entités linéaires proposent un filtre de longueur, tandis que les polygones fournissent un filtre de surface. La valeur correspondant à l'une ou l'autre de ces options de filtrage est évaluée dans les unités linéaires du système de coordonnées de l'entité. Les propriétés autres que les pentes ne sont pas affectées par ce paramètre.

String

Sortie dérivée

NomExplicationType de données
output_feature_class

Entités en entrée mises à jour.

Couche d'entités

Exemple de code

1er exemple d'utilisation de l'outil AddSurfaceInformation (fenêtre Python)

L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.

arcpy.env.workspace = "C:/data"
arcpy.AddSurfaceInformation_3d("points.shp", "my_tin", "Z", "LINEAR")
2e exemple d'utilisation de l'outil AddSurfaceInformation (script autonome)

L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.

'''*********************************************************************
Name: AddSurfaceInformation Example
Description: This script demonstrates how to use AddSurfaceInformation 
             on all 2D feature classes in a target workspace.
*********************************************************************'''
# Import system modules
import arcpy

# Set Local Variables
arcpy.env.workspace = 'c:/data'
inSurface = 'fgdb.gdb/municipal/terrain'
pyramid = 5
method = "BILINEAR"

# Create list of feature classes
fcList = arcpy.ListFeatureClasses()

if fcList:
    for fc in fcList:
        desc = arcpy.Describe(fc)
        # Determine if the feature is 2D
        if not desc.hasZ:
            if desc.shapeType == "Polygon":
                # Desired properties separated by semi-colons
                Prop = "Z_MIN;Z_MAX" 
            elif desc.shapeType == "Point":
                Prop = "Z"
            elif desc.shapeType == "Multipoint":
                Prop = "Z_MIN;Z_MAX;Z_MEAN"
            elif desc.shapeType == "Polyline":
                Prop = "LENGTH_3D"
            # Execute AddSurfaceInformation
            arcpy.ddd.AddSurfaceInformation(fc, inSurface, Prop, 
                                            method, 15, 1, pyramid)
            print("Completed adding surface information.")

Informations de licence

  • Basic: Requiert 3D Analyst
  • Standard: Requiert 3D Analyst
  • Advanced: Requiert 3D Analyst

Rubriques connexes