概要
一連の 3D フィーチャが占有する空間容積を表すマルチパッチ フィーチャを作成します。
図
使用法
[球体] または [エンベロープ] 手法 (Python では geometry_type="SPHERE" または geometry_type = "ENVELOPE") により、一連の 3D フィーチャが占有する空間容積を簡単に表現できます。
[凸包] オプション (Python では geometry_type="CONVEX_HULL") では [球体] または [エンベロープ] 手法よりも詳細な結果が得られますが、入力フィーチャ内の局所的なくぼみが取得されません。
[凹包] オプション (Python では geometry_type="CONCAVE_HULL") では、バウンディング ボリュームの形状に関して非常に詳細な結果が得られますが、計算負荷が高いため、大量の入力データがある場合は使用しないでください。
結果の最小バウンディング ボリュームが入力フィーチャのグループを表す場合、入力の分割に使用されるフィールドが結果のマルチパッチに追加されます。最小バウンディング ボリュームにジオメトリ特性が含まれている場合、次のフィールドが出力フィーチャに追加されます。
- MBV_Area - 最小バウンディング ボリュームのサーフェス エリアの合計。
- MBV_Volume - マルチパッチ フィーチャに格納される空間容積の合計。
構文
arcpy.3d.MinimumBoundingVolume(in_features, z_value, out_feature_class, {geometry_type}, {group}, {group_field}, {mbv_fields})
パラメーター | 説明 | データ タイプ |
in_features | 最小バウンディング ボリュームが評価される LAS データセットまたは 3D フィーチャ。 | LAS Dataset Layer; Feature Layer |
z_value | 入力データの Z 値のソース。 | Field |
out_feature_class | このツールで生成されるフィーチャクラス。 | Feature Class |
geometry_type (オプション) | 最小バウンディング ボリュームのジオメトリの特定に使用される方法を指定します。
| String |
group (オプション) | 各グループを 1 つの出力マルチパッチで囲む入力フィーチャを、どのようにグループ化するかについて指定します。
| String |
group_field [group_field,...] (オプション) | group_option として LIST を指定した場合に、フィーチャをグループ化する際に使用される入力フィーチャ内のフィールド (1 つまたは複数)。LIST オプションを使用するには、少なくとも 1 つのグループ フィールドを指定する必要があります。指定したフィールド (1 つまたは複数) 内の値が同じフィーチャ同士はそれぞれ、グループとして扱われます。 | Field |
mbv_fields (オプション) | 出力マルチパッチ フィーチャクラスにジオメトリ属性を追加するかどうかを指定します。
| Boolean |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
arcpy.env.workspace = 'C:/data'
arcpy.ddd.MinimumBoundingVolume('tree_canopy.shp', 'Shape.Z',
'canopy_volume.shp', 'CONCAVE_HULL',
group='List', group_field='Season'
mbv_fields='MBV_FIELDS')
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: Detect Periods of Activity
Description:
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math
in_features = arcpy.GetParameterAsText(0)
out_volume = arcpy.GetParameterAsText(1)
grouping_field = arcpy.GetParameterAsText(2)
try:
arcpy.MinimumBoundingVolume_3d(in_features, 'Shape.Z', out_volume,
'CONCAVE_HULL','LIST', group_field)
except arcpy.ExecuteError:
print(arcpy.GetMessages())
環境
ライセンス情報
- Basic: 次のものが必要 3D Analyst
- Standard: 次のものが必要 3D Analyst
- Advanced: 次のものが必要 3D Analyst