サマリー
LIDAR データ内の地表ポイントを分類します。
使用法
クラス コード値 0、1、または 2 を含む LAS ポイントのラスト リターンだけが地表としての再分類の対象となります。LAS ファイルで別のクラス コード値を使用して未分類ポイントまたは地表計測値を表している場合は、[LAS クラス コードの変更 (Change LAS Class Codes)] ツールを使用してクラス コード値の再割り当てを行うことを検討してください。また、分類プロセスでは、オーバーラップまたはノイズ分類フラグが割り当てられたポイントが無視されます。
LAS ポイントのサブセットに対する分類アルゴリズムの実行結果を確認したい場合は、処理範囲または処理境界を適用することを検討してください。
橋やランプが存在する場所が分類アルゴリズムで間違って地表として分類される可能性があるため、このような場所を確認することを検討してください。
-
LAS 形式は、ASPRS (American Society for Photogrammetry and Remote Sensing) によって定義された仕様に基づいて各ポイントの分類をサポートします。ArcGIS プラットフォームは、LAS ファイル バージョン 1.4 で規定されている以下の分類方式を適用します。
分類値 分類タイプ 0
分類不可
1
未分類
2
地表
3
低植生
4
中植生
5
高植生
6
建物
7
低ノイズ
8
モデル キー/予約
9
水域
10
鉄道
11
路面
12
オーバーラップ/予約
13
保護線
14
導線
15
送電塔
16
ワイヤー コネクタ
17
橋床版
18
高ノイズ
19 ~ 63
ASPRS 定義用の予約 (LAS 1.1 〜 1.3 はクラス コード 31 までをサポート)
32 ~ 255
ユーザー定義可能 (LAS 1.0 および 1.4 の特定バージョンでのみサポートされる)
構文
ClassifyLasGround_3d (in_las_dataset, {reuse_ground}, method, {dem_resolution}, {compute_stats}, {extent}, boundary, {process_entire_files})
パラメーター | 説明 | データ タイプ |
in_las_dataset | 処理対象の LAS データセット。クラス コード値 0、1、または 2 を含む LAS ポイントのラスト リターンだけが評価されます。 | LAS Dataset Layer |
reuse_ground (オプション) | 既存の地表ポイントを再分類するか再使用するかを指定します。
既存の地表ポイントを受け入れるか再評価するかを指定します。
| Boolean |
method | 地表ポイントの検出に使用される方法。
| string |
dem_resolution (オプション) | 距離を指定すると、ポイントのサブセットだけが地表としての分類の評価対象となるため、処理速度が上がります。より速く DEM サーフェスを生成する必要がある場合は、このオプションの使用を検討してください。最小距離は 0.3 メートルですが、この処理を効果的に実行するには、LIDAR データの平均ポイント間隔の 1.5 倍以上の距離を指定する必要があります。 | Linear Unit |
compute_stats (オプション) | LAS データセットで参照されている LAS ファイルの統計情報を計算するかどうかを指定します。統計情報が存在することにより、LAS データセット レイヤーのフィルターおよびシンボル オプションで、LAS ファイル内に存在する LAS 属性値のみを表示できます。
| Boolean |
extent (オプション) | このツールが評価するデータの範囲を指定します。 | Extent |
boundary | このツールで処理される対象地域を定義するポリゴン フィーチャ。 | Feature Layer |
process_entire_files (オプション) | 処理範囲の適用方法を指定します。
| Boolean |
コードのサンプル
ClassifyLasGround (LAS の地表分類) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasGround_3d('metro.lasd', 'CONSERVATIVE',
boundary='study_area.shp',
process_entire_files='PROCESS_ENTIRE_FILES')
ClassifyLasGround (LAS の地表分類) の例 2 (スタンドアロン スクリプト)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: Classify Ground & Vegetation in Forest Environment
Description: Classify points representing vegetation with LAS class code values
of 3, 4, and 5. The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy
# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)
try:
arcpy.CheckOutExtension('3D')
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
# Make an initial pass of ground classifier
arcpy.ddd.ClassifyLasGround(lasd, method="Conservative")
# Make a secondary pass to capture ridges
arcpy.ddd.ClassifyLasGround(lasd, method="Aggressive",
reuse_ground="REUSE_GROUND")
# Classify vegetation
arcpy.ddd.ClassifyLasByHeight(lasd, ground_source='GROUND',
height_classification=[[3, 5],
[4, 17],
[5, 120]],
noise='HIGH_NOISE', compute_stats="COMPUTE_STATS")
arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
print(arcpy.GetMessages())
環境
ライセンス情報
- ArcGIS Desktop Basic: 次のものが必要 3D Analyst
- ArcGIS Desktop Standard: 次のものが必要 3D Analyst
- ArcGIS Desktop Advanced: 次のものが必要 3D Analyst