3D 相交 (3D Analyst)
摘要
计算闭合多面体要素的几何相交,以便根据相交体积生成多面体要素,根据相交面生成面要素或根据相交边生成线要素。
插图
用法
-
此分析需要闭合的多面体几何图形。是否为闭合 3D 工具可用于确定多面体要素类是否包含闭合要素,封闭多面体工具可用于消除多面体要素中的空隙。
-
确定用于此分析的数据时务必谨慎。高度详细的要素会产生极其复杂的几何,由于它们的折点总数和方向,可能会导致出现显示性能问题。
-
如果只提供了一个输入要素,将会计算该多面体数据集中各要素的相交情况,如果提供了两个要素,将会确定这两个数据集的要素的相交部分,同时忽略那些只存在于一个输入中相交情形。
注:使用两个输入要素时,将在输出中融合来自两个要素的属性。
此工具是提供针对 3D 要素的分析函数的 3D 集合运算符。有关什么是集合运算符以及如何使用它们的详细信息,请参阅使用 3D 集合运算符。
语法
Intersect3D_3d (in_feature_class_1, {in_feature_class_2}, out_feature_class, {output_geometry_type})
参数 | 说明 | 数据类型 |
in_feature_class_1 |
要相交的多面体属性。只有一个输入要素 | Feature Layer |
in_feature_class_2 (可选) |
与第一个多面体要素类相交的第二个多面体要素类(可选)。 | Feature Layer |
out_feature_class |
输出要素类。 | Feature Class |
output_geometry_type (可选) |
确定创建的相交几何的类型。
| String |
代码实例
3D 相交 (Intersect3D) 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具:
import arcpy
from arcpy import env
env.workspace = 'C:/data'
arcpy.Intersect3D_3d('inMultipatch1.shp', 'outMultipatch.shp',
'inMultipatch2.shp')
3D 相交 (Intersect3D) 示例 2(独立脚本)
下面的示例演示了如何在独立 Python 脚本中使用此工具:
'''****************************************************************************
Name: Intersect3D Example
Description: This script demonstrates how to use the
Intersect3D 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
inMP1 = 'Boston_MP_Small.shp'
inMP2 = 'Boston_MP.shp'
# Ensure output has a unique name
outMP = arcpy.CreateUniqueName('Intersect.shp')
# Execute Intersect 3D
arcpy.Intersect3D_3d(inMP1, outMP, inMP2)
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)
环境
许可信息
ArcGIS for Desktop Basic:需要 3D Analyst
ArcGIS for Desktop Standard:需要 3D Analyst
ArcGIS for Desktop Advanced:需要 3D Analyst
9/15/2013