描述
计算高度恒定的面和表面之间的体积和表面面积。
使用方法
只计算输入面和 TIN 或 terrain 数据集表面的叠置部分。
首先,面的各边界将与表面的内插区相交。这会确定两者之间的公共区域。然后,计算所有三角形及其落在相交面内的部分的体积和表面面积。
体积表示表面与面要素上方或下方(根据参考平面参数中的选择)空间之间的区域:
- 在平面上方计算 - 计算平面与表面下侧之间的体积。
- 在平面下方计算 - 计算平面与表面上侧之间的体积。此外,还会计算同一表面部分的表面积。
语法
PolygonVolume(in_surface, in_feature_class, in_height_field, {reference_plane}, {out_volume_field}, {surface_area_field}, {pyramid_level_resolution})
参数 | 说明 | 数据类型 |
in_surface | 待处理的 TIN、terrain 或 LAS 数据集表面。 | LAS Dataset Layer; Terrain Layer; TIN Layer |
in_feature_class | 定义正在处理的区域的面要素。 | Feature Layer |
in_height_field | 面属性表中的字段,用于定义确定体积计算中使用的参考平面高度。 | String |
reference_plane (可选) | 要计算体积和表面积的参考平面的方向。
| String |
out_volume_field (可选) | 指定体积计算所属字段的名称。默认设置为 Volume。 | String |
surface_area_field (可选) | 指定表面积计算所属字段的名称。默认设置为 SArea。 | String |
pyramid_level_resolution (可选) | 此工具将使用 terrain 金字塔等级的 z 容差或窗口大小分辨率。默认值为 0(z 容差),或全分辨率(窗口大小)。 | Double |
派生输出
名称 | 说明 | 数据类型 |
output_feature_class | 要更新的输出要素。 | 要素图层 |
代码示例
下面的示例演示了如何在 Python 窗口中使用此工具。
arcpy.env.workspace = "C:/data"
arcpy.PolygonVolume_3d("sample.gdb/featuredataset/terrain", "cut_off_plane.shp",
in_height_field="Z", reference_plane="ABOVE",
pyramid_level_resolution="5")
下面的示例演示了如何在独立 Python 脚本中使用此工具。
'''****************************************************************************
Name: PolygonVolume Example
Description: This script demonstrates how to use the
PolygonVolume tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inSurface = "sample.gdb/featuredataset/terrain"
inPoly = "floodplain_100.shp"
zField = "Height"
refPlane = "BELOW"
volFld = "Volume"
sAreaFld = "SArea"
#Execute PolygonVolume
arcpy.PolygonVolume_3d(inSurface, inPoly, zField, refPlane, volFld, sAreaFld)
环境
许可信息
- Basic: 需要 3D Analyst
- Standard: 需要 3D Analyst
- Advanced: 需要 3D Analyst