Innerhalb 3D (3D Analyst)
Zusammenfassung
Testet jedes Feature, um zu ermitteln, ob es in einem Multipatch liegt. Wenn es in einem Multipatch-Feature liegt, schreibt es in eine neue Tabelle einen Eintrag, der das Feature angibt, in dem es liegt.
Abbildung
Verwendung
-
Erfordert Eingabe-Features mit geschlossener Multipatch-Geometrie.
-
Für die Analyse können nur geschlossene Multipatches verwendet werden.
-
Ein Feature kann in mehreren geschlossenen Multipatch-Features liegen und mehrere Einträge in der Ausgabe-Tabelle aufweisen.
"Innerhalb 3D" ist ein 3D-Gruppenoperator im Toolset "3D-Features". Weitere Informationen zu Gruppenoperatoren und ihrer Verwendung finden Sie unter Arbeiten mit 3D-Gruppenoperatoren.
-
Die Ausgabe-Tabelle enthält die folgenden Felder:
- OBJECTID: OBJECTID des Feldes.
- Target_ID: OBJECTID der Ursprungs-Features.
- Status: Gibt an, ob das Eingabe-Feature (Target_ID) vollständig oder teilweise in einem Multipatch liegt.
-
Bei Auswahl der Option Komplexe Ausgabe-Tabelle enthält die Ausgabe-Tabelle die folgenden Felder:
- OBJECTID: OBJECTID des Feldes.
- Target_ID: OBJECTID des Ursprungs-Features.
- Status: Gibt an, ob das Eingabe-Feature (Target_ID) vollständig oder teilweise in einem Multipatch liegt.
- Container_ID: Steht für ein bestimmtes Multipatch, in dem die Eingabe-Features vollständig oder teilweise liegen.
Syntax
Parameter | Erläuterung | Datentyp |
in_target_feature_class |
Z-aktivierte Punkt-, Linien-, Polygon- oder Multipatch-Features. | Feature Layer |
in_container_feature_class |
Multipatch-Features. Die Multipatches müssen geschlossen sein. Ermitteln Sie mit dem Werkzeug "Ist geschlossen 3D", ob die Multipatches geschlossen sind. | Feature Layer |
out_table |
Die Ausgabe-Tabelle, die eine Liste von 3D-Eingabe-Features bereitstellt, die vollständig oder teilweise in Eingabe-Multipatch-Features liegen, die geschlossen sind. Die Ausgabe-Tabelle enthält die Felder OBJECTID (Objekt-ID), Target_ID und Status. Der Status gibt an, ob das Eingabe-Feature (Target_ID) vollständig oder teilweise in einem Multipatch liegt. | Table |
complex_output (optional) |
Wenn die Option Komplexe Ausgabe-Tabelle ausgewählt ist, wird die Ausgabe-Tabelle mit Informationen über die Beziehung zwischen den Eingabe-Features und den Eingabe-Multipatch-Features erweitert. Anhand dieser Informationen können Sie feststellen, welche Features vollständig oder teilweise in bestimmten geschlossenen Multipatches liegen. Wenn die Option aktiviert ist, wird in der Ausgabe-Tabelle eine zusätzliche Container_ID zusammen mit den Target_ID-Informationen angezeigt. Die Container_ID steht für ein bestimmtes Multipatch, in dem die Eingabe-Features (Target_ID) vollständig oder teilweise liegen. | Boolean |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion Innerhalb 3D im unmittelbaren Modus verwenden können.
import arcpy from arcpy import env arcpy.CheckOutExtension('3D') env.workspace = 'C:/data' arcpy.Inside3D_3d('inFeature.shp', 'sample.gdb/multipatch', 'sample.gdb/output_table')
Das folgende Python-Skript veranschaulicht, wie Sie die Funktion Innerhalb 3D in einem eigenständigen Skript verwenden.
'''**************************************************************************** Name: Inside3D Example Description: This script demonstrates how to use the Inside3D 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 inFC = 'Points_3D.shp' # the input feature inMP = 'Buildings.shp' # the input multi-patch # Ensure output has a unique name outTbl = arcpy.CreateUniqueName('Output_Table.dbf') # Execute Inside 3D arcpy.Inside3D_3d(inFC, inMP, outTbl) 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)