表面体积 (3D Analyst)
插图
用法
-
考虑使用面体积工具确定 TIN 或 terrain 数据集表面指定部分的体积。
-
当表面 z 单位不使用地面单位而使用其他测量单位表示时,使用 Z 因子对于正确计算体积至关重要。使用 Z 因子并不会修改原始数据。
栅格 DEM 由固定间距的点,而不是像元(如影像)组成。由表面体积工具报告的面积计算基于 DEM 的固定间距点的范围,而不是像元的范围。由于此计算以点而不是像元为基础,栅格 DEM 的数据区域相对于以栅格影像形式显示的数据区域会减少一半的像元。
语法
SurfaceVolume_3d (in_surface, {out_text_file}, {reference_plane}, {base_z}, {z_factor}, {pyramid_level_resolution})
参数 | 说明 | 数据类型 |
in_surface |
用于计算面积和体积的输入栅格、TIN 或 terrain 数据集表面。 | Raster Layer; Terrain Layer; TIN Layer |
out_text_file (可选) |
包含结果的可选输出文本文件。 | File |
reference_plane (可选) |
选择是计算指定高度以上还是以下。
| String |
base_z (可选) |
将用于计算面积和体积的平面的高程。 | Double |
z_factor (可选) |
将与输入表面的高度相乘以计算表面体积的因子;用于转换 Z 单位以与 XY 单位匹配。 | Double |
pyramid_level_resolution (可选) |
用于进行地理处理的 terrain 数据集金字塔等级的分辨率。默认值为 0,即全分辨率。 | Double |
代码实例
表面体积 (SurfaceVolume) 示例 1(Python 窗口)
下面的示例演示了如何在 Python 窗口中使用此工具:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SurfaceVolume_3d("sample.gdb/featuredataset/terrain", "surf_vol.txt",
"ABOVE", 300, 1, 5)
表面体积 (SurfaceVolume) 示例 2(独立脚本)
下面的示例演示了如何在独立 Python 脚本中使用此工具:
'''****************************************************************************
Name: Surface Volume Example
Description: This script demonstrates how to use the
Surface Volume tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inSurface = "elevation_tin"
#Execute SurfaceVolume
result = arcpy.SurfaceVolume_3d(inSurface, "", "ABOVE", "300", "1", "5")
print result.GetMessage(0)
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
5/10/2014