Combinación 3D (3D Analyst)
Resumen
Calcula la intersección geométrica de los parches de multiparches superpuestos y luego agrega los multiparches. La cantidad de entidades creadas como salida depende de la configuración de la herramienta.
Más información sobre cómo funciona Combinación 3D (3D Analyst)
Uso
-
La capa o clase de entidad de entrada deben tener geometría multiparche.
-
Sólo se procesarán los multiparches cerrados. Todos los demás multiparches se omitirán y se escribirá un error en el registro de geoprocesamiento. Utilice la herramienta de geoprocesamiento Es cerrado para ver si alguna entidad no está cerrada.
-
Combinación 3D puede crear entidades muy grandes y muy complejas en la clase de entidad de salida. Estas entidades pueden provocar problemas de visualización o tener un bajo rendimiento al visualizarlas. Sea cuidadoso al momento de decidir cuántas entidades se agregarán.
-
La clase de entidad de salida no tendrá ninguno de los atributos de la clase de entidad de entrada. Se puede crear una tabla opcional que registre qué entidades se combinaron para crear una entidad nueva.
Combinación 3D es un operador de conjuntos 3D que forma parte del conjunto de herramientas de 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. | Features |
group_field (Opcional) |
El campo utilizado para agrupar las entidades multiparche de entrada para la agregación. | Field |
out_feature_class |
La clase de entidad multiparche en la que se ubicarán los multiparches agregados. | Feature Class |
out_table (Opcional) |
Una tabla de muchas a una que representa las entidades de entrada y las entidades de salida en las se agregaron. | Table |
disable_optimization (Opcional) |
Deshabilita la optimización que determina automáticamente qué entidades multiparche se superponen y sólo combina esas entidades con superposiciones.
| Boolean |
output_all (Opcional) |
Esta opción hace que la herramienta escriba todas las entidades de entrada como entidades de salida. Las entidades que no tienen superposiciones se escriben en la salida sin modificar. Las entidades superpuestas se combinan y luego se escriben en la salida.
| Boolean |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función Combinación 3D en el modo inmediato.
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')
La siguiente secuencia de comandos de Python muestra cómo utilizar la función Combinación 3D en una secuencia de comandos independiente.
'''**************************************************************************** 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)