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)