Ajouter des informations de surface (3D Analyst)

Niveau de licence :De baseStandardAvancé

Récapitulatif

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

Utilisation

Syntaxe

AddSurfaceInformation_3d (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, raster, TIN ou de MNT utilisée pour interpoler les valeurs z.

LAS Dataset Layer; Raster Layer; Terrain Layer; TIN Layer
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 :

  • ZAltitude de surface interpolée pour l'emplacement XY de chaque entité point unique.
  • Z_MINAltitude de surface la plus basse 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 de surface. L'interpolation bilinéaire est toujours utilisée pour les surfaces raster, tandis que les options suivantes sont disponibles pour les surfaces triangulées :

  • LINEAR La valeur Z est interpolée depuis le plan du triangle de la surface contenant le point désigné. Il s'agit de l'option par défaut.
  • NATURAL_NEIGHBORS Applique des pondérations basées aux mesures de surface sur le voisinage naturel d'un point désigné.
  • CONFLATE_ZMIN Utilise la valeur Z la plus petite des mesures de surface sur le voisinage naturel d'un point désigné.
  • CONFLATE_ZMAX Utilise la valeur Z la plus grande des mesures de surface sur le voisinage naturel d'un point désigné.
  • CONFLATE_NEAREST Obtient la valeur Z de la mesure de surface dont la distance XY est la plus proche du point désigné.
  • CONFLATE_CLOSEST_TO_MEAN Obtient la valeur Z de la mesure de surface dans le voisinage naturel du point désigné dont la valeur est la plus proche de la moyenne des mesures voisines.
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 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
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 offrent 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.

  • NO_FILTERAucun filtre de bruit n'est utilisé pour limiter les segments de ligne ou triangles de surface pris en compte dans le calcul de la pente. Il s'agit de l'option par défaut.
  • AREA <valeur>Les triangles de surface avec des superficies 3D inférieures à la valeur spécifiée ne seront pas pris en compte dans le calcul de la pente.
  • LENGTH <valeur> Les segments linéaires dont la longueur 3D après interpolation sur la surface est inférieure à la valeur spécifiée ne seront pas pris en compte dans le calcul de la pente.
String

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 :

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
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
from arcpy import env
import exceptions, sys, traceback

try:
    arcpy.CheckOutExtension("3D")
    # Set Local Variables
    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."
    arcpy.CheckInExtension('3D')

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)

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic : Requis 3D Analyst
ArcGIS for Desktop Standard : Requis 3D Analyst
ArcGIS for Desktop Advanced : Requis 3D Analyst
9/12/2013