Zusammenfassung
Ordnet Features räumliche Daten zu, die von einer Oberfläche abgeleitet wurden.
Verwendung
Z-Werte von 3D-Features werden ignoriert. Jedes Feature fasst Z-Eigenschaften von Oberflächen zusammen, die sich mit dessen Geometrie überschneiden. Punkte leiten Z-Werte von der XY-Position auf der Oberfläche ab, Linien rufen Z-Eigenschaften ab, indem sie Messwerte der Oberfläche an ihr entlang interpolieren und Polygone fassen die Z-Eigenschaften der Oberfläche in ihrer Fläche zusammen.
Ausgabe-Eigenschaft-Optionen werden in die Attributtabelle des Eingabe-Features geschrieben. Jedes Feature definiert die Position der bewerteten Oberflächeneigenschaften, und welche Eigenschaften gemeldet werden können, hängt von der Geometrie des Features ab:
Feature-Geometrie Oberflächeneigenschaften Position
Aus der XY-Koordinate des Punktes auf der Oberfläche interpolierte SPOT-Höhe.
Multipoint
Minimum, Maximum und Mittelwert der SPOT-Höhe für alle Punkte im Multipoint-Datensatz.
Polylinie
3D-Entfernung der Linie entlang der Oberfläche.
Minimum, Maximum und Mittelwert der Höhe und Neigung der Linie entlang der Oberfläche.
Polygon
3D-Fläche der Oberfläche, die das Polygon überlappt.
Minimum, Maximum und Mittelwert der Höhe und Neigung aus der Oberfläche.
Neigungswerte werden in Prozenteinheiten (Grad) gemessen und bei Linien-Features für jedes Segment der Linie berechnet.
- Die minimale Neigung wird aus dem Segment ermittelt, dessen Wert 0 am nächsten ist bzw. dem horizontalen Gefälle.
- Die maximale Neigung wird von dem Segment abgerufen, das den höchsten berechneten Wert aufweist.
- Die durchschnittliche Neigung wird ermittelt, indem die einzelnen Neigungen mit ihrer 3D-Länge gewichtet werden und dann der Durchschnitt bestimmt wird. Dies führt zu längeren Segmenten, die im Gegensatz zu kürzeren Segmenten einen größeren Einfluss auf den sich ergebenden Wert haben.
Wenden Sie einen Rauschfilter an, um Teile der Oberfläche, die anhand abweichender Messungen definiert werden, von den Neigungsberechnungen auszuschließen. Linien-Features werden durch Stützpunkte segmentiert, die das Profil der Oberfläche erfassen, und durch die Filterung dieser Segmente nach Länge wird der Einfluss kurzer Segmente, die möglicherweise durch unerwünschte Oberflächenmessungen verursacht werden, beseitigt. Entsprechend schließt der Bereichsfilter für Polygon-Features Splitterdreiecke in triangulierten Oberflächen von den Neigungsberechnungen aus. Für Raster-Oberflächen wird eine Teilmenge von Zellenschwerpunkten zum Erstellen einer triangulierten Oberfläche verwendet, auf die der Bereichsfilter angewendet wird.
Syntax
AddSurfaceInformation_3d (in_feature_class, in_surface, out_property, {method}, {sample_distance}, {z_factor}, {pyramid_level_resolution}, {noise_filtering})
Parameter | Erläuterung | Datentyp |
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-, Mosaik-, Raster-, Terrain- oder TIN-Oberfläche zum Interpolieren von Z-Werten. | LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer |
out_property [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:
| String |
method (optional) | Die Interpolationsmethode, die zum Ermitteln der Informationen zur Oberfläche verwendet wird. Die verfügbaren Optionen hängen vom Datentyp der Eingabeoberfläche ab:
| 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. Der Parameter ist deaktiviert, wenn der Raumbezug der Eingabe-Oberfläche über ein Z-Datum mit einer angegebenen linearen Einheit verfügt. | 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. 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.
| String |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
output_feature_class | Feature-Layer |
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)
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert 3D Analyst
- ArcGIS Desktop Standard: Erfordert 3D Analyst
- ArcGIS Desktop Advanced: Erfordert 3D Analyst