3D 联合 (3D Analyst)
用法
-
输入要素类或图层必须具有多面体几何。
-
只能处理闭合的多面体。将跳过其他所有多面体,并将错误写入地理处理日志中。使用是否为闭合地理处理工具可查看是否存在未闭合的要素。
-
3D 联合可在输出要素类中创建超大型复杂要素。这些要素可能会在显示时引发显示问题和/或低性能问题。确定要聚合到一起的要素的个数时应十分谨慎。
-
输出要素类不会具有输入要素类的任何属性。可选择创建一个表来记录联合在一起创建新要素的要素。
“3D 联合”属于一种 3D 集合运算符,是“3D 要素”工具集的一部分。有关什么是设置运算符以及如何使用它们的详细信息,请参阅使用 3D 设置运算符。
语法
Union3D_3d (in_feature_class, {group_field}, out_feature_class, {out_table}, {disable_optimization}, {output_all})
参数 | 说明 | 数据类型 |
in_feature_class |
要相交和聚合的闭合多面体要素。 | Features |
group_field (可选) |
用于将输入多面体要素组合到一起进行聚合的字段。 | Field |
out_feature_class |
用于放置聚合多面体的多面体要素类。 | Feature Class |
out_table (可选) |
一个多对一表,用于描述输入要素及这些要素聚合所生成的输出要素。 | Table |
disable_optimization (可选) |
禁用自动确定重叠多面体要素这一优化,并仅将出现重叠的要素联合起来。
| Boolean |
output_all (可选) |
此选项强制工具将所有输入要素写出为输出要素。没有出现重叠的要素将不经修改写入到输出。重叠要素应先联合到一起,然后再写入到输出。
| Boolean |
代码示例
3D 联合示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何在立即模式下使用 3D 联合函数。
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')
3D 联合示例 2(独立脚本)
以下 Python 脚本演示了如何在独立脚本中使用 3D 联合函数。
'''**************************************************************************** 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)
环境
此工具不使用任何地理处理环境
相关主题
许可信息
ArcView: 需要 3D Analyst
ArcEditor: 需要 3D Analyst
ArcInfo: 需要 3D Analyst
7/10/2012