サーフェスの体積(Surface Volume) (3D Analyst)
サマリ
指定した参照平面より上または下にあるラスタ、TIN、またはテレイン データセットのサーフェスの面積および体積を計算します。
図
使用法
-
[ポリゴン体積(Polygon Volume)] ツールを使用して、TIN またはテレイン データセットのサーフェスの指定した部分の体積を決定します。
-
サーフェスの Z 単位が地表の単位とは異なる計測単位で表されている場合は、正確な体積を計算するために [Z 係数] の使用が不可欠です。[Z 係数] を使用しても、元のデータは変更されません。
ラスタ DEM は、画像のようなセルではなく、等間隔のポイントで構成されます。[サーフェスの体積(Surface Volume)] ツールで報告される面積の計算は、セルの範囲ではなく、DEM の等間隔ポイントの範囲に基づきます。この計算はセルではなくポイントに基づくため、ラスタ DEM のデータ エリアは、ラスタ イメージとして表示されるデータ エリアと比較して半分のセル分減少します。
構文
パラメータ | 説明 | データ タイプ |
in_surface |
面積と体積の計算に使用する、入力ラスタ、TIN、またはテレイン データセットのサーフェス。 | Raster Layer; Terrain Layer; TIN Layer |
out_text_file (オプション) |
結果を含むオプションの出力テキスト ファイル。 | File |
reference_plane (オプション) |
指定した高さより上を計算するか、下を計算するかを選択します。
| String |
base_z (オプション) |
面積と体積の計算に使用される平面の標高。 | Double |
z_factor (オプション) |
サーフェスの体積を計算するために入力サーフェスの高さに乗算する係数。Z 座標の単位を X および Y 座標の単位に一致するように変換するために使用します。 | Double |
pyramid_level_resolution (オプション) |
ジオプロセシングに使用するテレイン データセットのピラミッド レベルの解像度。デフォルト値は 0(最大解像度)です。 | Double |
コードのサンプル
次のサンプルは、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)
次のサンプルは、スタンドアロン 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)