Überschneiden 3D (ArcGIS 3D Analyst)
Zusammenfassung
Berechnet den geometrischen Schnittpunkt von geschlossenen Multipatch-Features, um Multipatches aus sich überschneidenden Volumina, Polygonflächen aus sich überschneidenden Ebenen oder Linien aus sich überschneidenden Kanten zu erstellen.
Bild
Verwendung
-
Für diese Analyse ist eine geschlossene Multipatch-Geometrie erforderlich. Mit dem Werkzeug Ist geschlossen 3D kann ermittelt werden, ob eine Multipatch-Feature-Class geschlossene Features enthält, und mit dem Werkzeug Multipatch einschließen können Lücken in Multipatch-Features ausgeschlossen werden.
-
Gehen Sie bei der Festlegung der Daten für diese Analyse vorsichtig vor. Für sehr detaillierte Features werden möglicherweise äußerst komplexe Geometrien erstellt, die die Darstellungs-Performance aufgrund der Anzahl von Stützpunkten und der Ausrichtung beeinträchtigen können.
-
Bei einer einzelnen Eingabe wird der Schnittpunkt von Features in dem Multipatch-Dataset berechnet. Bei zwei Eingaben wird der Schnittpunkt von Features aus beiden Datasets bestimmt, und Schnittpunkte, die nur in einer Eingabe gefunden werden, werden ignoriert.
Hinweis:Bei Verwendung zweier Eingabe-Features werden Attribute von beiden Features in der Ausgabe verbunden.
Dieses Werkzeug ist ein 3D-Gruppenoperator, der analytische Funktionen für 3D-Features bereitstellt. Weitere Informationen zu Gruppenoperatoren und ihrer Verwendung finden Sie unter Arbeiten mit 3D-Gruppenoperatoren.
Syntax
Parameter | Erläuterung | Datentyp |
in_feature_class_1 |
Die Multipatch-Features, die überschnitten werden. Bei nur einem Eingabe-Feature | Feature Layer |
in_feature_class_2 (optional) |
Die optionale zweite Multipatch-Feature-Class für die Überschneidung mit der ersten. | Feature Layer |
out_feature_class |
Die Ausgabe-Feature-Class. | Feature Class |
output_geometry_type (optional) |
Bestimmt den Typ der Schnittpunktgeometrie, der erstellt wird.
| String |
Codebeispiel
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht:
import arcpy
from arcpy import env
env.workspace = 'C:/data'
arcpy.Intersect3D_3d('inMultipatch1.shp', 'outMultipatch.shp',
'inMultipatch2.shp')
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht:
'''****************************************************************************
Name: Intersect3D Example
Description: This script demonstrates how to use the
Intersect3D 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
inMP1 = 'Boston_MP_Small.shp'
inMP2 = 'Boston_MP.shp'
# Ensure output has a unique name
outMP = arcpy.CreateUniqueName('Intersect.shp')
# Execute Intersect 3D
arcpy.Intersect3D_3d(inMP1, outMP, inMP2)
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)