サマリー
ポリゴン フィーチャで定義されたエリアに重なる LAS ポイントの統計情報を評価します。
使用法
-
LAS データセットを入力として指定すると、それが参照する LAS ファイルのすべてのデータ ポイントが処理されます。LAS データセット レイヤーを介して目的の LAS ポイント フィルターを適用することで、分類コード、分類フラグ、およびリターン値で LIDAR データのサブセットを選択することもできます。フィルターは、レイヤー プロパティのダイアログまたは [LAS データセット レイヤーの作成 (Make LAS Dataset Layer)] ツールを使用して定義できます。
ポリゴン境界で定義された対象地域の上にある LIDAR ポイントの特徴を決定する場合、このツールを使用することを検討してください。LAS ポイントから取得した標高のみが評価されます。LAS データセットが参照するサーフェス制御フィーチャから得られる Z 値は、すべて無視されます。
このツールは、複数のフィールドを入力フィーチャの属性テーブルに追加します。それらのフィールドがすでに存在する場合、各フィールドの値は上書きされます。更新されるフィールドの値には、入力フィーチャに重なる LAS ポイントに関して指定した以下の統計情報が反映されます。
- Z_MIN - 最小 Z 値。
- Z_MAX - 最大 Z 値。
- Z_MEAN - 平均 Z 値。
- POINT_COUNT - 評価された LAS ポイントの数。
- STD_DEV - Z 値の標準偏差。
構文
LasPointStatsByArea_3d (in_las_dataset, in_features, out_property)
パラメーター | 説明 | データ タイプ |
in_las_dataset | 処理対象の LAS データセット。 | LAS Dataset Layer |
in_features | 統計情報がレポートされるエリアを定義するポリゴン。 | Feature Layer |
out_property | 計算されるプロパティ。
| String |
コードのサンプル
LasPointStatsByArea (エリアによる LAS ポイントの統計) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = 'C:/data'
arcpy.ddd.LasPointStatsByArea('city_lidar.lasd', 'study_area.shp',
['Z_MIN', 'Z_MAX'])
LasPointStatsByArea (エリアによる LAS ポイントの統計) の例 2 (スタンドアロン スクリプト)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: Extract Building Footprints
Description: Extract footprint from lidar points classified as buildings,
regularize its geometry, and calculate the building height.
****************************************************************************'''
import arcpy
lasd = arcpy.GetParameterAsText(0)
footprint = arcpy.GetParameterAsText(1)
try:
lasd_layer = 'building points'
arcpy.management.MakeLasDatasetLayer(lasd, lasd_layer, class_code=6)
temp_raster = 'in_memory/bldg_raster'
arcpy.management.LasPointStatsAsRaster(lasd_layer, temp_raster,
'PREDOMINANT_CLASS', 'CELLSIZE', 2.5)
temp_footprint = 'in_memory/footprint'
arcpy.conversion.RasterToPolygon(temp_raster, temp_footprint)
arcpy.ddd.RegularizeBuildingFootprint(temp_footprint, footprint,
method='RIGHT_ANGLES')
arcpy.ddd.LasPointStatsByArea(lasd_layer, footprint, ['MIN_Z', 'MAX_Z'])
arcpy.management.AddField(footprint, 'Height', 'Double')
arcpy.management.CalculateField(footprint, 'Height',
"round('!Z_Max! - !Z_Min!', 2)",
'PYTHON_9.3')
except arcpy.ExecuteError:
print(arcpy.GetMessages())
環境
ライセンス情報
- ArcGIS Desktop Basic: 次のものが必要 3D Analyst
- ArcGIS Desktop Standard: 次のものが必要 3D Analyst
- ArcGIS Desktop Advanced: 次のものが必要 3D Analyst