Z-Informationen hinzufügen (3D Analyst)
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
-
In der folgenden Liste sind die Z-Eigenschaftsoptionen nach Geometrie zusammengefasst:
- Punkte: Z
- Multipoints: Z-Minimum, Z-Maximum, Z-Mittelwert, Punktanzahl
- Polylinien: Z-Minimum, Z-Maximum, Z-Mittelwert, 3D-Länge, minimale Neigung, maximale Neigung, durchschnittliche Neigung, Stützpunktanzahl
- Polygone: Z-Minimum, Z-Maximum, Z-Mittelwert, 3D-Länge, minimale Neigung, maximale Neigung, durchschnittliche Neigung, Stützpunktanzahl
- Multipatches: Z-Minimum, Z-Maximum, Oberfläche, Volumen, minimale Neigung, maximale Neigung, durchschnittliche Neigung
-
Die Neigung wird als Prozentwert, oder Grad, zurückgegeben und wird für jeden Geometrietyp, der diese Eigenschaft unterstützt, anders berechnet.
- Neigungswerte für Linien-Features werden für die einzelnen Liniensegmente berechnet:
- Die Mindestneigung wird von dem Segment abgerufen, dessen Wert 0 am nächsten ist bzw. dem horizontalen Grad.
- Die Maximalneigung 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 im Gegensatz zu kürzeren Segmenten einen größeren Einfluss auf den sich ergebenden Wert 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 Grad.
- 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 nur für die Feature-Kante berechnet, wobei die gleiche Technik wie für Liniensegmente verwendet wird.
- Neigungswerte für Linien-Features werden für die einzelnen Liniensegmente 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
Parameter | Erläuterung | Datentyp |
in_feature_class |
The input feature class. | Feature Layer |
out_property [out_property,...] | Die Z-Ausgabe-Eigenschaften, die der Attributtabelle der Eingabe-Feature-Class hinzugefügt werden. Die folgenden Optionen sind möglich:
| String |
noise_filtering (optional) |
Stellt die Option bereit, kleine Teile der Features von statistischen Berechnungen auszuschließen. Diese Option ist nützlich, um eine gute Einschätzung der maximalen Neigung zu erhalten, da kleine Teile oft extreme Neigungen aufweisen, die möglicherweise die statistischen Ergebnisse verfälschen. Die in den Optionen Fläche oder Länge angegebenen Werte werden verwendet, um diese Teile von Features auszuschließen. Dieser Parameter gilt nicht für Punkt- und Multipoint-Features.
| String |
Codebeispiel
The following sample demonstrates the use of this tool in the Python window:
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')
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''****************************************************************** 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)