摘要
计算面和 terrain 或 TIN 表面之间的体积和表面积。
用法
只计算输入面和 TIN 或 terrain 数据集表面的叠置部分。
首先,面的各边界将与表面的内插区相交。这会确定两者之间的公共区域。然后,为所有三角形及其落在相交面内的部分计算体积和表面积。
体积表示表面与面要素上方或下方的空间之间以参考平面参数中所选内容为基础的区域:
- 在平面上方计算 - 计算平面与表面下侧之间的体积。
- 在平面下方计算 - 计算平面与表面上侧之间的体积。此外,还会计算同一表面部分的表面积。
语法
PolygonVolume_3d (in_surface, in_feature_class, in_height_field, {reference_plane}, {out_volume_field}, {surface_area_field}, {pyramid_level_resolution})
参数 | 说明 | 数据类型 |
in_surface | 要评估的 terrain 或 TIN 表面。 | Tin Layer; Terrain 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 |
代码实例
面体积 (PolygonVolume) 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.PolygonVolume_3d("sample.gdb/featuredataset/terrain", "polygon.shp", "<None>", "ABOVE", "Volume", "SArea", "5")
面体积 (PolygonVolume) 示例 2(独立脚本)
下面的示例演示了如何在独立 Python 脚本中使用此工具。
'''****************************************************************************
Name: PolygonVolume Example
Description: This script demonstrates how to use the
PolygonVolume tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# 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)