Differenz 3D (3D Analyst)
Zusammenfassung
Berechnet den geometrischen Schnittpunkt zweier Volumen, die durch geschlossene Multipatch-Features definiert sind, basierend auf dem geometrischen Schnittpunkt der Muster. Subtrahiert alle Volumen einer Feature-Class von der anderen und schreibt das Ergebnis in eine neue Ausgabe-Feature-Class.
Weitere Informationen zur Funktionsweise von "Differenz 3D".
Verwendung
-
Die Eingabe-Feature-Class oder der Eingabe-Layer müssen Multipatch-Geometrie aufweisen.
-
Nur geschlossene Multipatches werden verarbeitet. Alle anderen Multipatches werden übersprungen, und in das Geoverarbeitungsprotokoll wird ein Fehler geschrieben. Verwenden Sie das Geoverarbeitungswerkzeug Ist geschlossen 3D, um festzustellen, ob einige Features nicht geschlossen sind.
In der Ausgabe-Feature-Class sind keine Attribute der Eingabe-Feature-Class enthalten. Falls erforderlich, können Sie die Attribute von den ursprünglichen Eingabe-Features mithilfe der räumlichen Verbindung erneut verbinden.
"Differenz 3D" ist ein 3D-Gruppenoperator im Toolset "3D-Features". Weitere Informationen zu Gruppenoperatoren und ihrer Verwendung finden Sie unter Arbeiten mit 3D-Gruppenoperatoren.
Syntax
Parameter | Erläuterung | Datentyp |
in_features_minuend |
Die Sammlung von Multipatch-Features, aus der die Subtrahend-Multipatch-Features entfernt werden. | Feature Layer |
in_features_subtrahend |
Die Sammlung von Multipatch-Features, die von den Minuend-Multipatch-Features subtrahiert werden. | Feature Layer |
out_feature_class |
Die Multipatch-Feature-Class, in die die neu generierten Multipatches eingefügt werden. | Feature Class |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht die Verwendung der Funktion Differenz 3D im unmittelbaren Modus.
import arcpy from arcpy import env arcpy.CheckOutExtension('3D') env.workspace = 'C:/data' arcpy.Difference3D_3d('input_mp.shp', 'erase_mp.shp', 'difference_mp.shp')
Das folgende Python-Skript veranschaulicht die Verwendung der Funktion Differenz 3D in einem eigenständigen Skript.
'''**************************************************************************** Name: Difference3D Example Description: This script demonstrates how to create shadow volumes that fall along a specified surface using the Difference3D tool. ****************************************************************************''' # Import system modules import arcpy import exceptions, sys, traceback from arcpy import env try: # Obtain a license for the ArcGIS 3D Analyst extension arcpy.CheckOutExtension('3D') # Set environment settings env.workspace = 'C:/data' # Set Local Variables inMP = 'buildings.shp' eraseMP = 'bldg_extensions.shp' outMP = arcpy.CreateUniqueName('bldgs_without_extensions.shp') # Execute Difference3D arcpy.Difference3D_3d(inMP, eraseMP, outMP) 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)