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