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)