サーフェスの体積 (Surface Volume) (3D Analyst)

概要

サーフェスと参照平面の間の領域の面積および体積を計算します。

参照平面 (上)。平面の高さがサーフェスと交差します。
参照平面 (下)。平面の高さがサーフェスと交差します。

使用法

  • サーフェスの Z 値が XY 単位とは異なる計測単位で表されている場合は、正確な体積を計算するために [Z 係数] を適用します。[Z 係数] を使用しても、元のデータは変更されません。XYZ 座標系を定義した場合、このツールは自動的に適切な Z 係数を決定します。

  • 出力テキスト ファイルには、サーフェスへの絶対パス、結果の生成に使用されたパラメーター、および計算された面積と体積の計測値が格納されます。このツールの複数回の実行で同じ出力ファイルを指定した場合、既存のレコードは維持され、新しい結果がテーブルに追加されます。

    データセット平面の高さ参照Z 係数2D 面積3D 面積体積

    C:\data\tin

    100.00

    平面と同じ

    1

    15984467.82

    16354331.40

    1886012931.05

    C:\data\raster.tif

    250.5

    平面より下

    3.28084

    0

    0

    0

    C:\data.gdb\fd\terrain

    1250

    平面と同じ

    0.3048

    1854238.36

    1970550.88

    1099221466.89

  • サーフェスの面積と体積を計算する必要のある領域を、四角形以外の範囲で定義した場合、対象地域の境界を表すポリゴンを作成することを検討してください。その後、[ポリゴン体積 (Polygon Volume)] ツールを使用して、そのポリゴンで定義された平面と指定したサーフェス間の領域の計算を決定します。

  • ラスター サーフェスは、セル エリア全体の範囲ではなく、各セルの中心点の範囲を使用して評価されます。そのため、解析結果では、ラスターのデータ領域は、そのラスターについて表示されているデータ領域に対して、1/2 セルだけ減少します。

構文

arcpy.3d.SurfaceVolume(in_surface, {out_text_file}, {reference_plane}, {base_z}, {z_factor}, {pyramid_level_resolution})
パラメーター説明データ タイプ
in_surface

処理対象のラスター、TIN、またはテレイン サーフェス。

Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer
out_text_file
(オプション)

面積と体積の計算結果が格納される、カンマ区切りの ASCII テキスト ファイル。このファイルがすでに存在する場合、ファイルの末尾に新しい結果が追加されます。

File
reference_plane
(オプション)

結果を計算する参照平面からの方向。

  • ABOVE体積と面積の計算結果は、指定した平面の高さと、その平面の上にあるサーフェスの部分との間の空間領域を表します。これがデフォルトです。
  • BELOW体積と面積の計算結果は、指定した平面の高さと、その平面の下にあるサーフェスの部分との間の空間領域を表します。
String
base_z
(オプション)

面積と体積の計算に使用される平面の Z 値。

Double
z_factor
(オプション)

Z 値に乗算する係数。これは通常、Z リニア単位から XY リニア単位に変換する場合に使用されます。デフォルトは 1 です。この場合、標高値は変更されません。入力サーフェスの空間参照に距離単位の指定された Z 測地基準系がある場合、このパラメーターは無効になります。

Double
pyramid_level_resolution
(オプション)

このツールが使用するテレイン ピラミッド レベルの Z 許容値またはウィンドウサイズの解像度。デフォルト値は 0 (最大解像度) です。

Double

コードのサンプル

SurfaceVolume (サーフェスの体積) の例 1 (Python ウィンドウ)

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

arcpy.env.workspace = "C:/data"
arcpy.SurfaceVolume_3d("sample.gdb/featuredataset/terrain", "surf_vol.txt", 
                       reference_plane="ABOVE", base_z=300, z_factor=3.24, 
                       pyramid_level_resolution=5)
SurfaceVolume (サーフェスの体積) の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。

'''****************************************************************************
Name: Surface Volume Example
Description: This script demonstrates how to use the
             Surface Volume tool.

****************************************************************************'''
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Set Local Variables
inSurface = "elevation_tin"

# Execute SurfaceVolume
result = arcpy.SurfaceVolume_3d(inSurface, "", "ABOVE", "300", "1", "5")
print(result.getMessages())

ライセンス情報

  • Basic: 次のものが必要 3D Analyst
  • Standard: 次のものが必要 3D Analyst
  • Advanced: 次のものが必要 3D Analyst

関連トピック