Oberflächeninformationen hinzufügen (ArcGIS 3D Analyst)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Ordnet Features mit räumlichen Daten zu, die von einer Oberfläche abgeleitet wurden.

Verwendung

Syntax

AddSurfaceInformation_3d (in_feature_class, in_surface, out_property, {method}, {sample_distance}, {z_factor}, {pyramid_level_resolution}, {noise_filtering})
ParameterErläuterungDatentyp
in_feature_class

Die Punkt-, Multipoint-, Polylinien- oder Polygon-Features, die die Positionen für die Bestimmung einer oder mehrerer Oberflächeneigenschaften definieren.

Feature Layer
in_surface

Die LAS-Dataset-, Raster-, Terrain- oder TIN-Oberfläche zum Interpolieren von Z-Werten.

LAS Dataset Layer; Raster Layer; Terrain Layer; TIN Layer
out_property

Die Oberflächen-Höheneigenschaft, die der Attributtabelle der Eingabe-Feature-Class hinzugefügt wird. In der folgenden Liste sind die verfügbaren Eigenschaftenschlüsselwörter und die von ihnen unterstützten Geometrietypen aufgeführt:

  • ZFür die XY-Position interpolierte Oberflächenhöhe der einzelnen Punkt-Features.
  • Z_MINDie niedrigste Oberflächenhöhe in dem durch das Polygon definierten Bereich, entlang einer Linie oder zwischen den interpolierten Punktwerten in einem Multipoint-Datensatz.
  • Z_MAXDie höchste Oberflächenhöhe in dem durch das Polygon definierten Bereich, entlang einer Linie oder zwischen den interpolierten Punktwerten in einem Multipoint-Datensatz.
  • Z_MEANDie durchschnittliche Oberflächenhöhe des durch das Polygon definierten Bereichs, entlang einer Linie oder zwischen den interpolierten Punktwerten in einem Multipoint-Datensatz.
  • SURFACE_AREA3D-Oberfläche für die durch das Polygon definierte Region.
  • SURFACE_LENGTH3D-Entfernung der Linie entlang der Oberfläche.
  • MIN_SLOPEDer 0 am nächsten gelegene Neigungswert entlang der Linie oder innerhalb der durch das Polygon definierten Fläche.
  • MAX_SLOPEDer höchste Neigungswert entlang der Linie oder innerhalb der durch das Polygon definierten Fläche.
  • AVG_SLOPEDer durchschnittliche Neigungswert entlang der Linie oder innerhalb der durch das Polygon definierten Fläche.
String
method
(optional)

Die Interpolationsmethode, die zum Ermitteln der Oberflächeninformationen verwendet wird. Bilineare Interpolation wird stets für Raster-Oberflächen verwendet, während die folgenden Optionen für triangulierte Oberflächen verfügbar sind:

  • LINEAR Der Z-Wert wird aus der Ebene des Oberflächendreiecks interpoliert, das den Abfragepunkt enthält. Dies ist die Standardeinstellung.
  • NATURAL_NEIGHBORS Wendet flächenbasierte Gewichtungen auf Oberflächenmessungen in der natürlichen Nachbarschaft eines Abfragepunktes an.
  • CONFLATE_ZMIN Verwendet den kleinsten Z-Wert aus Oberflächenmessungen in der natürlichen Nachbarschaft eines Abfragepunktes an.
  • CONFLATE_ZMAX Verwendet den größten Z-Wert aus Oberflächenmessungen in der natürlichen Nachbarschaft eines Abfragepunktes an.
  • CONFLATE_NEAREST Ruft den Z-Wert aus der Oberflächenmessung ab, deren XY-Entfernung dem Abfragepunkt am nächsten liegt.
  • CONFLATE_CLOSEST_TO_MEAN Ruft den Z-Wert aus der Oberflächenmessung in der natürlichen Nachbarschaft des Abfragepunktes ab, dessen Wert dem Durchschnitt der benachbarten Messungen am nächsten liegt.
String
sample_distance
(optional)

Der Abstand, bei dem Z-Werte interpoliert werden. Standardmäßig wird die Raster-Zellengröße verwendet, wenn die Eingabe-Oberfläche ein Raster ist. Die natürliche Verdichtung der triangulierten Oberfläche wird verwendet, wenn die Eingabe ein Terrain- oder ein TIN-Dataset ist.

Double
z_factor
(optional)

Der Faktor, mit dem Z-Werte multipliziert werden. Dieser wird in der Regel verwendet, um lineare Z-Einheiten zu konvertieren, sodass sie den linearen XY-Einheiten entsprechen. Der Standardwert ist 1, wodurch die Höhenwerte unverändert bleiben.

Double
pyramid_level_resolution
(optional)

Die Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene, die von diesem Werkzeug verwendet wird. Der Standardwert ist 0, also volle Auflösung.

Double
noise_filtering
(optional)

Schließt Teile der Oberfläche, die potenziell anhand abweichender Messungen definiert werden, von den Neigungsberechnungen aus. Linien-Features bieten einen Längenfilter, während Polygone einen Flächenfilter bereitstellen, und der Wert, der einer der Filteroptionen entspricht, wird in den linearen Einheiten des Koordinatensystems des Features ausgewertet. Dieser Parameter hat keine Auswirkungen auf nicht neigungsbezogene Eigenschaften.

  • NO_FILTEREs wird kein Rauschfilter verwendet, um die Liniensegmente oder Oberflächendreiecke zu begrenzen, die in Neigungsberechnungen einbezogen werden. Dies ist die Standardeinstellung.
  • AREA <Wert>Oberflächendreiecke mit 3D-Flächen, die einen geringeren Wert als den angegebenen aufweisen, werden aus Neigungsberechnungen ausgeschlossen.
  • LENGTH <Wert> Liniensegmente, deren 3D-Längenwert nach der Interpolation anhand der Oberfläche den angegebenen Wert unterschreitet, werden aus Neigungsberechnungen ausgeschlossen.
String

Codebeispiel

AddSurfaceInformation – Beispiel 1 (Python-Fenster)

Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht:

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.AddSurfaceInformation_3d("points.shp", "my_tin", "Z", "LINEAR")
AddSurfaceInformation – Beispiel 2 (eigenständiges Skript)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht:

'''*********************************************************************
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)

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Erfordert 3D Analyst
ArcGIS for Desktop Standard: Erfordert 3D Analyst
ArcGIS for Desktop Advanced: Erfordert 3D Analyst
6/5/2014