Resumen
Determina si las entidades 3D de una clase de entidad de entrada están contenidas en un multiparche cerrado, y escribe una tabla de salida que registra las entidades que están total y parcialmente dentro del multiparche.
Ilustración
Uso
Todas las entidades de entrada deben tener la información Z almacenada como parte de su geometría. Si existen las mediciones de altura con base en el campo en una clase de entidad 2D, la herramienta Entidad a 3D por atributo se puede utilizar para crear una clase de entidad 3D.
-
Para este análisis se requiere una geometría cerrada de multiparche. La herramienta Es 3D cerrado se puede utilizar para determinar si una clase de entidad multiparche contiene entidades cerradas, y se puede utilizar la herramienta Incluir multiparche para eliminar los espacios en las entidades multiparche.
Si se selecciona la opción Tabla de salida compuesta, se crea un registro para cada multiparche con el que se interseca una entidad de entrada dada. Una entidad puede caer dentro de varias entidades multiparche cerradas y tener diversas entradas en la tabla de salida.
Los siguientes campos se incluyen en la tabla de salida:
- Target_ID: Id. único de la entidad de entrada.
- Status: indica si la identidad identificada por el campo Target_ID está dentro o parcialmente dentro de un multiparche.
- Contain_ID: identifica si el Id. único del multiparche que se interseca con las entidades de entrada está dentro o parcialmente dentro. Solo se incluye si está seleccionada la opción Tabla de salida compuesta
Sintaxis
Inside3D_3d (in_target_feature_class, in_container_feature_class, out_table, {complex_output})
Parámetro | Explicación | Tipo de datos |
in_target_feature_class | El multiparche de entrada o clase de entidad de punto 3D, línea o polígono. | Feature Layer |
in_container_feature_class | Las entidades de multiparche cerrado que se utilizarán como contenedores para las entidades de entrada. | Feature Layer |
out_table | Tabla de salida que proporciona una lista de Entidades de entrada 3D que están dentro o parcialmente dentro de las Entidades multiparche de entrada que están cerradas. La tabla de salida contiene un OBJECTID (Id. de objeto), Target_ID y el campo Status. El campo Status indicará si la entidad de entrada (Target_ID) está dentro o parcialmente dentro de un multiparche. | Table |
complex_output (Opcional) | Especifica si la tabla de salida identificará la relación entre las Entidades de entrada y las Entidades multiparche de entrada mediante la creación de un campo Contain_ID que identifique la entidad multiparche que contiene la entidad de entrada.
Especifica si la tabla de salida identificará la relación entre las Entidades de entrada y las Entidades multiparche de entrada mediante la creación de un campo Contain_ID que identifique la entidad multiparche que contiene la entidad de entrada.
| Boolean |
Muestra de código
Ejemplo 1 de Inside3D (ventana de Python)
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
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')
Ejemplo 2 de Inside3D (secuencia de comandos independiente)
En el siguiente ejemplo se muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python.
'''****************************************************************************
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)
Entornos
Información sobre licencias
- ArcGIS Desktop Basic: Requiere 3D Analyst
- ArcGIS Desktop Standard: Requiere 3D Analyst
- ArcGIS Desktop Advanced: Requiere 3D Analyst