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)