Combinación 3D (3D Analyst)
Resumen
Fusiona entidades multiparche cerradas superpuestas desde una clase de entidad de entrada.
Ilustración
Uso
-
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.
Las entidades multiparche que abarca volúmenes superpuestos se combinan mediante la intersección de triángulos y anillos que constituyen los shells de las entidades y la eliminación de las partes internas redundantes. Este proceso se repite hasta que todas las entidades multiparche de la clase de entidad hayan sido procesadas.
Un campo de agrupación se pueden utilizar para identificar las entidades que se combinarán, como cuando los multiparches representan la construcción de partes en una ciudad donde varias entidades representan un edificio. Esto puede mejorar significativamente el rendimiento al reducir el número de veces que la herramienta tiene que iterar el dataset. En lugar de comparar una entidad con todas las entidades, solo se compara con las que participan en su grupo.
Cuando la optimización está habilitada, la herramienta intenta automáticamente clasificar las entidades en grupos mediante el análisis del cuadro de delimitación de cada entidad. Deshabilitar la optimización puede aumentar el rendimiento de la herramienta si se ha especificado un campo de agrupación. La optimización también se puede deshabilitar en la ausencia de un campo de agrupación si la salida deseada es combinar todas las entidades superpuestas en un solo multiparche.
-
Tenga cuidado al decidir cuántas entidades agregar, ya que es posible que las entidades muy grandes y complejas sean creadas en la clase de entidad de salida, lo que puede mostrar un rendimiento de visualización deficiente.
Si dos o más entidades multiparche comparten solo un borde o un vértice, se genera una advertencia que indica que la entidad resultante no es sencilla y no se pudo crear. Se devuelve el mismo mensaje si un grupo contiene multiparches que no comparten volumen o espacio.
-
Se puede crear una tabla opcional para identificar los atributos de las entidades de origen que se combinaron para crear cada salida combinada.
Nota:Se puede establecer una relación entre la tabla y la clase de entidad de salida para consultar los atributos asociados con las entidades de origen. Vea Relacionar los atributos de una tabla a otra para obtener más información.
Esta herramienta es un operador de conjuntos 3D que provee funciones analíticas sobre 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.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_feature_class |
Las entidades multiparche cerradas que se intersecarán y agregarán. | Feature Layer |
group_field (Opcional) |
El campo que se utiliza para identificar las entidades que se deben agrupar. | Field |
out_feature_class |
La clase de entidad multiparche de salida que almacenará las entidades agregadas. | Feature Class |
out_table (Opcional) |
Una tabla de uno a muchos que representa la relación entre las entidades de entrada y sus equivalentes agregados. | Table |
disable_optimization (Opcional) |
Especifica si la optimización se llevará a cabo automáticamente o se deshabilitará:
| Boolean |
output_all (Opcional) |
Determina si la clase de entidad de salida contiene todas las entidades o solo las superpuestas que fueron combinadas.
| Boolean |
Ejemplo de código
El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana Python:
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.Union3D_3d('multipatch.shp', 'union_output.shp', 'GROUP_FIELD',
'DISABLE', 'ENABLE', 'UnionTable.dbf')
El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:
'''****************************************************************************
Name: Union3D Example
Description: This script demonstrates how to use the
Union3D tool.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env
try:
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
# Set Local Variables
inMP = "multipatch.shp"
# Ensure output multipatch has a unique name
outMP = arcpy.CreateUniqueName("union_output.shp")
outTbl = arcpy.CreateUniqueName("UnionTable.dbf")
GroupField = "Type"
optimize = "DISABLE"
solids = "ENABLE"
#Execute Union3D
arcpy.ddd.Union3D(inMP, outMP, GroupField, optimize, solids, outTbl)
arcpy.CheckInExtension('3D')
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)