Resumen
Elimina las partes de las entidades multiparche en una clase de entidad de destino que se superpone con los volúmenes adjuntos de las entidades multiparche en la clase de entidad de substracción.
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 de entrada que adjunta completamente una entidad de substracción se eliminará completamente en la salida
Esta ejecución de la herramienta pueden llevar mucho tiempo y debe tener cuidado al seleccionar los datasets de entrada.
Las entidades de salida no tendrá ninguno de los atributos de las entidades de entrada. Si fuera necesario, se puede crear una unión espacial a las entidades de origen o una clase de relación a la tabla de salida opcional para indicar los atributos de las entidades de entrada al dataset de salida.
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
arcpy.ddd.Difference3D(in_features_minuend, in_features_subtrahend, out_feature_class, {out_table})
Parámetro | Explicación | Tipo de datos |
in_features_minuend | Las entidades multiparche a las que las entidades sustraendo les eliminarán las entidades. | Feature Layer |
in_features_subtrahend | Las entidad multiparche que se sustraerán de la entrada. | Feature Layer |
out_feature_class | La clase de entidad multiparche de salida que incluirá las entidades resultantes. | Feature Class |
out_table (Opcional) | Una tabla opcional que almacena información sobre la relación entre las entidades de entrada y la salida de diferencia. Los siguientes campos se incluyen en esta tabla:
| Table |
Muestra de código
Ejemplo 1 de Difference3D (ventana de Python)
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
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')
Ejemplo 2 de Difference3D (secuencia de comandos independiente)
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.
'''****************************************************************************
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)
Entornos
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst