Difference 3D (3D Analyst)
Resumen
Calcula la intersección geométrica de dos volúmenes definidos por entidades multiparche cerradas, según la intersección geométrica de sus parches. Sustrae todos los volúmenes que pertenecen a una clase de entidad de la otra y escribe los resultados en una nueva clase de entidad de salida.
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 3D cerrado para ver si algunas entidades no están cerradas.
La clase de entidad de salida no tendrá ninguno de los atributos de la clase de entidad de entrada. Si es necesario, puede utilizar la unión espacial para volver a conectar los atributos de las entidades de entrada originales.
Diferencia 3D 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.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_features_minuend |
El conjunto de entidades multiparche desde donde se quitarán las entidades multiparche sustraendo. | Feature Layer |
in_features_subtrahend |
El conjunto de entidades multiparche que se restarán de las entidades multiparche minuendo. | Feature Layer |
out_feature_class |
La clase de entidad multiparche en la que se colocarán los multiparches recién generados. | Feature Class |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función Diferencia 3D en el modo inmediato.
import arcpy from arcpy import env arcpy.CheckOutExtension('3D') env.workspace = 'C:/data' arcpy.Difference3D_3d('input_mp.shp', 'erase_mp.shp', 'difference_mp.shp')
La siguiente secuencia de comandos de Python muestra cómo utilizar la función Diferencia 3D en una secuencia de comandos independiente.
'''**************************************************************************** Name: Difference3D Example Description: This script demonstrates how to create shadow volumes that fall along a specified surface using the Difference3D 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 inMP = 'buildings.shp' eraseMP = 'bldg_extensions.shp' outMP = arcpy.CreateUniqueName('bldgs_without_extensions.shp') # Execute Difference3D arcpy.Difference3D_3d(inMP, eraseMP, outMP) 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)