Zusammenfassung
Dient zum Hinzufügen von Informationen zu Höheneigenschaften der Features in einer Z-aktivierten Feature-Class.
Jedes 3D-Shape wird untersucht und die ausgewählten Eigenschaften werden an die Attributtabelle der Eingabe-Feature-Class angefügt. Die Ausgabeoptionen ändern sich auf Grundlage der Geometrie des Features.
Verwendung
Die folgenden Z-Eigenschaften sind verfügbar:
Feature-Geometrie Z-Eigenschaften Punkt
Z-Wert des Punktes.
Multipoint
Punktanzahl und minimale, maximale und mittlere Z-Werte aller Punkte im Multipoint-Datensatz.
Polylinie und Polygon
Stützpunktanzahl und 3D-Entfernung der Linie oder des Polygonumfangs.
Minimaler, maximaler und mittlerer Z-Wert sowie Neigung der Linie oder Polygonumfang.
Multipatch
Oberfläche und Volumen eines geschlossenen Multipatch.
Minimaler, maximaler und mittlerer Z-Wert sowie Neigung entlang der Multipatch-Oberfläche.
Die Neigung wird als Prozentwert oder Gefälle zurückgegeben und wird für jeden Geometrietyp, der diese Eigenschaft unterstützt, anders berechnet.
- Neigungswerte für Linien-Features und Polygonumfang werden entlang jedes Segments 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 abgerufen, indem die durchschnittliche Neigung aller Liniensegmente ermittelt wird, nachdem die einzelnen Segmente nach ihrer 3D-Länge gewichtet wurden. Dies führt zu längeren Segmenten, die einen größeren Einfluss auf kürzere Segmente haben.
- Neigungswerte für Multipatch-Features werden für die einzelnen Dreiecksflächen berechnet.
- Die Mindestneigung wird von der Fläche abgerufen, deren Wert 0 am nächsten ist bzw. dem horizontalen Gefälle.
- Die Maximalneigung wird von der Fläche mit dem höchsten Wert abgerufen.
- Die durchschnittliche Neigung wird abgerufen, indem die durchschnittliche Neigung aller Dreiecksflächen ermittelt wird, nachdem die einzelnen Segmente nach ihrer dreidimensionalen Fläche gewichtet wurden. Dies führt zu größeren Flächen, die im Gegensatz zu kleineren Flächen einen größeren Einfluss auf den sich ergebenden Wert haben.
- Neigungswerte für Polygon-Features werden entlang den Kanten berechnet, wobei die gleiche Technik wie für Liniensegmente verwendet wird.
- Neigungswerte für Linien-Features und Polygonumfang werden entlang jedes Segments berechnet:
Das Volumen kann nur für geschlossene Multipatches berechnet werden. Bei einem geöffneten Multipatch-Feature wird der Wert 0,0 zurückgegeben. Auf der Solaris-Plattform wird aktuell aufgrund einer Entwurfseinschränkung verhindert, dass mit dem Werkzeug bestimmt werden kann, ob ein Multipatch geschlossen ist. Dies führt dazu, dass beim Berechnen des Volumens von Multipatches davon ausgegangen wird, dass sie geschlossen sind.
Syntax
arcpy.ddd.AddZInformation(in_feature_class, out_property, {noise_filtering})
Parameter | Erklärung | Datentyp |
in_feature_class | Die zu verarbeitenden Eingabe-Features. | Feature Layer |
out_property [out_property,...] | Die Z-Eigenschaften, die der Attributtabelle der Eingabe-Feature-Class hinzugefügt werden. Die folgenden Optionen sind möglich:
| String |
noise_filtering (optional) | Ein optionaler numerischer Wert, der verwendet wird, um Teile von Features aus den resultierenden Berechnungen auszuschließen. Dies kann hilfreich sein, wenn die 3D-Eingabe relativ kleine Features mit extremen Neigungen enthält, die möglicherweise die statistischen Ergebnisse verfälschen. Wenn die linearen Einheiten der 3D-Eingabe Meter sind, führt die Angabe eines Wertes von 0,001 zu einer Ausschließung von Linien oder Polygon-Kanten, die kürzer sind als 0,001 Meter. Bei Multipatch-Features führt derselbe Wert zu einer Ausschließung der zugehörigen Unterteile, deren Bereich kleiner als 0,001 Quadratmeter ist. Dieser Parameter gilt nicht für Punkt- und Multipoint-Features. Der Filter Bereich wird zur Verfügung gestellt, wenn die Eingabe ein Multipatch ist, wohingegen der Filter Länge bereitgestellt wird, wenn es sich bei der Eingabe um eine Linie oder ein Polygon handelt. | String |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
output_feature_class | Die aktualisierte Z-aktivierte Feature-Class. | Feature-Layer |
Codebeispiel
AddZInformation – 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.AddZInformation_3d('lines_3D.shp', 'Z_MEAN; LENGTH_3D; AVG_SLOPE',
'NO_FILTER')
AddZInformation – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''******************************************************************
Name: AddZInformation Example
Description: This script demonstrates AddZInformation on all
z-aware features in a target workspace.
******************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env
try:
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
# Create list of feature classes
fcList = arcpy.ListFeatureClasses()
if fcList:
for fc in fcList:
desc = arcpy.Describe(fc)
if desc.hasZ:
# Set Local Variables
noise = 'No_Filter'
if desc.shapeType == 'Polygon':
Prop = ['Z_MIN', 'Z_MAX', 'VERTEX_COUNT']
elif desc.shapeType == 'Point':
Prop = 'Z'
elif desc.shapeType == 'Multipoint':
Prop = ['Z_MIN', 'Z_MAX', 'Z_MEAN']
elif desc.shapeType == 'Polyline':
Prop = 'LENGTH_3D'
print 'Completed adding Z information.'
# Execute AddZInformation
arcpy.AddZInformation_3d(inFC, Prop, noise)
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
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst