摘要
消除目标要素类中部分与减法要素类中闭合的多面体要素体积重叠的多面体要素。
插图
用法
-
此分析需要闭合的多面体几何图形。是否为闭合 3D 工具可用于确定多面体要素类是否包含闭合要素,封闭多面体工具可用于消除多面体要素中的空隙。
将从输入中完全移除被减法要素完全包围的输入要素
执行此工具可能非常耗时,因此应谨慎选择输入数据集。
输出要素将不具有输入要素的任何属性。如有必要,可构建到源要素的空间连接或可选输出表的关系类来将属性从输入要素映射到输出数据集。
此工具是提供针对 3D 要素的分析函数的 3D 集合运算符。有关什么是集合运算符以及如何使用它们的详细信息,请参阅使用 3D 集合运算符。
语法
Difference3D_3d (in_features_minuend, in_features_subtrahend, out_feature_class, {out_table})
参数 | 说明 | 数据类型 |
in_features_minuend | 通过减数要素移除其要素的多面体要素。 | Feature Layer |
in_features_subtrahend | 将从输入中减去的多面体要素。 | Feature Layer |
out_feature_class | 将包含所生成要素的输出多面体要素类。 | Feature Class |
out_table (可选) | 可选表,存储有关输入要素和差异输出之间关系的信息。此表中会显示下列字段:
| Table |
代码实例
Difference3D 示例 1(Python 窗口)
下面的示例演示了如何在 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')
Difference3D 示例 2(独立脚本)
下面的示例演示了如何在独立 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)