Innerhalb 3D (ArcGIS 3D Analyst)
Zusammenfassung
Ermittelt, ob in einem geschlossenen Multipatch dreidimensionale Features aus einer Eingabe-Feature-Class enthalten sind, und schreibt eine Ausgabe-Tabelle mit den Features, die sich teilweise oder vollständig im Multipatch befinden.
Bild
Verwendung
Für alle Eingabe-Features müssen als Teil ihrer Geometrie Z-Informationen gespeichert werden. Wenn auf Feldern basierende Höhenmessungen in einer 2D-Feature-Class vorhanden sind, kann das Werkzeug Feature zu 3D nach Attribut verwendet werden, um eine 3D-Feature-Class zu erstellen.
-
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.
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.
-
Wenn die Option Komplexe Ausgabe-Tabelle ausgewählt ist, wird für jedes Multipatch, das ein bestimmtes Eingabe-Feature schneidet, ein Datensatz erstellt. Ein Feature kann in mehreren geschlossenen Multipatch-Features liegen und mehrere Einträge in der Ausgabe-Tabelle aufweisen.
-
Die Ausgabe-Tabelle enthält die folgenden Felder:
- Target_ID – Die eindeutige ID des Eingabe-Features.
- Status – Gibt an, ob das Feature, das durch das Feld Target_ID identifiziert ist, vollständig oder teilweise in einem Multipatch liegt.
- Contain_ID – Identifiziert die eindeutige ID des Multipatches, das die Eingabe-Features schneidet, die vollständig oder teilweise darin liegen. Diese Option ist nur enthalten, wenn die Option Komplexe Ausgabe-Tabelle aktiviert ist.
Syntax
Parameter | Erläuterung | Datentyp |
in_target_feature_class |
Die Eingabe für eine Multipatch-, 3D Punkt-, Linien- oder Polygon-Feature-Class. | Feature Layer |
in_container_feature_class |
Die geschlossenen Multipatch-Features, die als Container für die Eingabe-Features verwendet werden. | 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) |
Gibt an, ob die Ausgabe-Tabelle die Beziehung zwischen den Eingabe-Features und den Eingabe-Multipatch-Features durch Erstellen eines Contain_ID-Feldes beschreibt, in dem das Multipatch-Feature identifiziert wird, das das Eingabe-Feature enthält.
Gibt an, ob die Ausgabe-Tabelle die Beziehung zwischen den Eingabe-Features und den Eingabe-Multipatch-Features durch Erstellen eines Contain_ID-Feldes beschreibt, in dem das Multipatch-Feature identifiziert wird, das das Eingabe-Feature enthält.
| Boolean |
Codebeispiel
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht:
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')
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht:
'''****************************************************************************
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)