ポリゴン体積 (Polygon Volume) (3D Analyst)

サマリー

一定の高さのポリゴンとサーフェス間の体積と表面積を計算します。

使用法

  • 最初に、各ポリゴンとサーフェスとのインターセクト処理が行われます。 続いて、共通するポリゴン内に存在するすべての三角形と部分について、体積と表面積が計算されます。 範囲に基づく計算が自分のニーズに適している場合、[サーフェスの体積 (Surface Volume)] ツールを使用することで短時間で結果を得られます。

  • 表面積は、ポリゴン フィーチャの高さの上側または下側のサーフェス部分を表します。 体積は、ポリゴン フィーチャの高さの上側からサーフェスまで、または、ポリゴン フィーチャの高さの下側からサーフェスまでの空間領域を表します。 平面より上側を計算した場合、体積は平面からサーフェス下側までの領域を表します。 平面より下側を計算した場合、体積は平面からサーフェス上側までの領域を表します。

  • 入力サーフェスは TIN (不規則三角形網) として評価されます。 LAS データセットは、LAS データセットから TIN を構築することによってサーフェスとして処理されます。 LAS データセットには一般に大量のポイントが含まれているため、入力ポリゴンに多数のポイントが含まれている場合、解析に使用する中間サーフェスの構築処理には時間がかかることがあります。 この場合、[LAS データセット → TIN (LAS Dataset to TIN)] ツールを使用して、間引きした TIN を LAS データセットからエクスポートできます。

パラメーター

ラベル説明データ タイプ
入力サーフェス

処理対象の TIN、テレイン、または LAS データセット サーフェス。

LAS Dataset Layer; Terrain Layer; TIN Layer
入力ポリゴン

処理中の領域を定義するポリゴン フィーチャ。

Feature Layer
高さフィールド

体積計算の判定に使用される参照面の高さを定義する、ポリゴンの属性テーブルのフィールド。

String
参照平面
(オプション)

体積と表面積が計算される、参照平面からの方向を指定します。

  • 平面より上側を計算ポリゴンの参照平面の高さより上で体積と表面積の計算を行います。
  • 平面より下側を計算ポリゴンの参照平面の高さより下で体積と表面積の計算を行います。 これがデフォルトです。
  • 平面より上側と下側を計算ポリゴンの参照平面の高さより上と下で体積と表面積の計算を行います。
String
体積フィールド
(オプション)

体積計算結果を格納するフィールドの名前。 デフォルトは、Volume です。

String
表面積フィールド
(オプション)

表面積計算結果を格納するフィールドの名前。 デフォルトは、SArea です。

String
ピラミッド レベル解像度
(オプション)

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

Double
体積フィールド
(オプション)

ポリゴンの高さより上側で計算された体積を格納するフィールドの名前。 デフォルトは、Above_Vol です。

String
体積フィールド
(オプション)

ポリゴンの高さより下側で計算された体積を格納するフィールドの名前。 デフォルトは、Below_Vol です。

String
上の表面積フィールド
(オプション)

ポリゴンの高さより上側で計算された表面積を格納するフィールドの名前。 デフォルトは、Above_SA です。

String
下の表面積フィールド
(オプション)

ポリゴンの高さより下側で計算された表面積を格納するフィールドの名前。 デフォルトは、Below_SA です。

String

派生した出力

ラベル説明データ タイプ
出力フィーチャクラス

更新される出力フィーチャ。

Feature Layer

arcpy.ddd.PolygonVolume(in_surface, in_feature_class, in_height_field, {reference_plane}, {out_volume_field}, {surface_area_field}, {pyramid_level_resolution}, {out_volume_above_field}, {out_volume_below_field}, {surface_area_above_field}, {surface_area_below_field})
名前説明データ タイプ
in_surface

処理対象の TIN、テレイン、または LAS データセット サーフェス。

LAS Dataset Layer; Terrain Layer; TIN Layer
in_feature_class

処理中の領域を定義するポリゴン フィーチャ。

Feature Layer
in_height_field

体積計算の判定に使用される参照面の高さを定義する、ポリゴンの属性テーブルのフィールド。

String
reference_plane
(オプション)

体積と表面積が計算される、参照平面からの方向を指定します。

  • ABOVEポリゴンの参照平面の高さより上で体積と表面積の計算を行います。
  • BELOWポリゴンの参照平面の高さより下で体積と表面積の計算を行います。 これがデフォルトです。
  • BOTHポリゴンの参照平面の高さより上と下で体積と表面積の計算を行います。
String
out_volume_field
(オプション)

体積計算結果を格納するフィールドの名前。 デフォルトは、Volume です。

String
surface_area_field
(オプション)

表面積計算結果を格納するフィールドの名前。 デフォルトは、SArea です。

String
pyramid_level_resolution
(オプション)

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

Double
out_volume_above_field
(オプション)

ポリゴンの高さより上側で計算された体積を格納するフィールドの名前。 デフォルトは、Above_Vol です。

String
out_volume_below_field
(オプション)

ポリゴンの高さより下側で計算された体積を格納するフィールドの名前。 デフォルトは、Below_Vol です。

String
surface_area_above_field
(オプション)

ポリゴンの高さより上側で計算された表面積を格納するフィールドの名前。 デフォルトは、Above_SA です。

String
surface_area_below_field
(オプション)

ポリゴンの高さより下側で計算された表面積を格納するフィールドの名前。 デフォルトは、Below_SA です。

String

派生した出力

名前説明データ タイプ
output_feature_class

更新される出力フィーチャ。

Feature Layer

コードのサンプル

PolygonVolume (ポリゴン体積) の例 1 (Python ウィンドウ)

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.PolygonVolume("sample.gdb/featuredataset/terrain", "cut_off_plane.shp", 
                       in_height_field="Z", reference_plane="ABOVE", 
                       pyramid_level_resolution="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

# 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.ddd.PolygonVolume(inSurface, inPoly, zField, refPlane, volFld, sAreaFld)

ライセンス情報

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

関連トピック