Zusammenfassung
Ermittelt, ob in einem geschlossenen Multipatch dreidimensionale Features aus einer Eingabe-Feature-Class enthalten sind, und schreibt eine Ausgabetabelle 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.
Wenn die Option Komplexe Ausgabetabelle 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 Ausgabetabelle aufweisen.
Die Ausgabetabelle 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 Multipatch, das die Eingabe-Features schneidet, die vollständig oder teilweise darin liegen. Diese Option ist nur enthalten, wenn die Option Komplexe Ausgabetabelle aktiviert ist.
Syntax
Inside3D_3d (in_target_feature_class, in_container_feature_class, out_table, {complex_output})
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 Ausgabetabelle, die eine Liste von 3D-Eingabe-Features bereitstellt, die vollständig oder teilweise in Eingabe-Multipatch-Features liegen, die geschlossen sind. Die Ausgabetabelle enthält eine OBJECTID (Objekt-ID), Target_ID und das Feld Status. Das Feld 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 Ausgabetabelle 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 Ausgabetabelle 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
Inside3D – Beispiel 1 (Python-Fenster)
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')
Inside3D – Beispiel 2 (eigenständiges Skript)
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)
Umgebung
Lizenzierungsinformationen
- ArcGIS for Desktop Basic: Erfordert 3D Analyst
- ArcGIS for Desktop Standard: Erfordert 3D Analyst
- ArcGIS for Desktop Advanced: Erfordert 3D Analyst