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)