描述
创建多边形覆盖区用以表示多面体要素的二维区域。
插图
使用
输出覆盖区的字段将与输入要素的字段相同,具体包含以下字段:
- Z_Min - 多面体要素的最小 Z 值。
- Z_Max - 多面体要素的最大 Z 值。
如果结构由属性表中具有通用标识符的多个要素组成,则使用组字段参数。
语法
MultiPatchFootprint(in_feature_class, out_feature_class, {group_field})
参数 | 说明 | 数据类型 |
in_feature_class | 将要生成覆盖区的多面体要素。 | Feature Layer |
out_feature_class | 生成的覆盖区面要素类。 | Feature Class |
group_field (可选) | 该字段用于合并多面体要素,以便构成同一覆盖区面。 | Field |
代码示例
MultiPatchFootprint 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.MultiPatchFootprint_3d("multipatch.shp","multipatch_footprint.shp")
MultiPatchFootprint 示例 2(独立脚本)
下面的示例演示了如何在独立 Python 脚本中使用此工具。
'''****************************************************************************
Name: MultiPatchFootprint Example
Description: Creates footprint polygons for all multipatches in a workspace.
****************************************************************************'''
import arcpy
import exceptions, sys, traceback
from arcpy import env
try:
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
fcList = arcpy.ListFeatureClasses()
if fcList:
for fc in fcList:
# Determine if the feature class is a multipatch
desc = arcpy.Describe(fc)
if desc.shapeType is "MultiPatch":
outPoly = "{0}_Footprint.shp".format(desc.baseName)
#Execute MultiPatchFootprint
arcpy.ddd.MultiPatchFootprint(fc, outPoly)
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)
环境
许可信息
- Basic: 需要 3D Analyst
- Standard: 需要 3D Analyst
- Advanced: 需要 3D Analyst