概要
一定の高さのポリゴンとサーフェス間の体積と表面積を計算します。
使用法
計算は、重なり合う入力ポリゴンと TIN またはテレイン データセット サーフェスの部分に対してのみ実行されます。
最初に、各ポリゴン境界とサーフェス内挿ゾーンとのインターセクト処理が行われます。これによって、これら 2 つに共通する領域 (重なり部分) が特定されます。続いて、共通するポリゴン内に存在するすべての三角形と部分について、体積と表面積が計算されます。
体積は、[参照平面] パラメーターで行った選択に基づいて、ポリゴン フィーチャの上からサーフェスまで、または、ポリゴン フィーチャの下からサーフェスまで空間領域を表します。
- [平面より上側を計算] - 水平面からサーフェス下側までの体積が計算されます。
- [平面より下側を計算] - 水平面からサーフェス上側までの体積が計算されます。サーフェスの同じ部分の表面積も計算されます。
構文
arcpy.3d.PolygonVolume(in_surface, in_feature_class, in_height_field, {reference_plane}, {out_volume_field}, {surface_area_field}, {pyramid_level_resolution})
パラメーター | 説明 | データ タイプ |
in_surface | 処理対象の TIN、テレイン、または LAS データセット サーフェス。 | LAS Dataset Layer; Terrain Layer; TIN 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 (オプション) | このツールが使用するテレイン ピラミッド レベルの Z 許容値またはウィンドウサイズの解像度。デフォルト値は 0 (最大解像度) です。 | Double |
派生した出力
名前 | 説明 | データ タイプ |
output_feature_class | 更新される出力フィーチャ。 | フィーチャ レイヤー |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
arcpy.env.workspace = "C:/data"
arcpy.PolygonVolume_3d("sample.gdb/featuredataset/terrain", "cut_off_plane.shp",
in_height_field="Z", reference_plane="ABOVE",
pyramid_level_resolution="5")
次のサンプルは、スタンドアロン 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.PolygonVolume_3d(inSurface, inPoly, zField, refPlane, volFld, sAreaFld)
環境
ライセンス情報
- Basic: 次のものが必要 3D Analyst
- Standard: 次のものが必要 3D Analyst
- Advanced: 次のものが必要 3D Analyst