Inside 3D (3D Analyst)
Resumen
Prueba cada entidad para determinar si cae dentro de un multiparche. Si cae dentro de una entidad multiparche, escribe una entrada en una tabla nueva para indicar dentro de qué entidad cayó.
Ilustración
Uso
-
Requiere entidades de entrada, que deben tener geometría de multiparche cerrado.
-
Solo se pueden utilizar multiparches cerrados para el análisis.
-
Una entidad puede caer dentro de varias entidades multiparche cerradas y tener diversas entradas en la tabla de salida.
3D interior es un operador de conjuntos 3D que forma parte del conjunto de herramientas Entidades 3D. Consulte Trabajar con operadores de conjuntos 3D para obtener más información sobre qué operadores de conjuntos existen y cómo se utilizan.
-
Los siguientes campos se incluyen en la tabla de salida:
- OBJECTID: El OBJECTID del campo.
- Target_ID: El OBJECTID de las entidades originales.
- Estado: Indica si la entidad de entrada (Target_ID) está dentro o parcialmente dentro de un multiparche.
-
Los siguientes campos se incluyen en la tabla de salida si se selecciona la opción Tabla de salida compuesta:
- ID. DE OBJETO: El OBJECTID del campo.
- Target_ID: El OBJECTID de la entidad original.
- Estado: Indica si la entidad de entrada (Target_ID) está dentro o parcialmente dentro de un multiparche.
- Container_ID: El Container_ID representa el multiparche exacto en el que las entidades de entrada están dentro o parcialmente dentro.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_target_feature_class |
El punto, la línea, el polígono o las entidades multiparche habilitados para z. | Feature Layer |
in_container_feature_class |
Las entidades multiparche. Los multiparches deben estar cerrados. Utilice la herramienta Es 3D cerrado para determinar si los multiparches están cerrados. | Feature Layer |
out_table |
La tabla de salida que proporciona una lista de Entidades de entrada 3D que están dentro o parcialmente dentro de las Entidades de multiparche de entrada que están cerradas. La tabla de salida contiene un OBJECTID (Object ID), Target_ID y Estado. El Estado expondrá si la entidad de entrada (Target_ID) está dentro o parcialmente dentro de un multiparche. | Table |
complex_output (Opcional) |
La opción Tabla de salida de compuesta modifica la tabla de salida para incluir información sobre la relación entre las Entidades de entrada y las Entidades multiparche de entrada. Esto le permite identificar qué entidades caen dentro o parcialmente dentro de determinados multiparches cerrados. Entonces, cuando esté seleccionada, la tabla de salida mostrará un Container_ID adicional, junto con la información de Target_ID. Este Container_ID representa el multiparche exacto en el que las entidades de entrada (Target_ID) están dentro o parcialmente dentro. | Boolean |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función 3D interior en el modo inmediato.
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')
La siguiente secuencia de comandos de Python muestra cómo utilizar la función 3D interior en una secuencia de comandos independiente.
'''**************************************************************************** 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)