概要
入力フィーチャの 2 次元範囲と交差する LAS ポイントを分類します。
使用法
入力されたポイント、ライン、およびポリゴン、ならびに適用されることがあるバッファーの 2 次元範囲と交差するすべての LAS ポイントが、再分類されます。3D フィーチャからの 3 次元距離が LAS ポイントの再分類に必要である場合は、[近接性による LAS ポイントの特定 (Locate LAS Points By Proximity)] ツールを使用することを検討してください。
-
ポイントとラインの場合、指定された LAS ポイントが完全にライン上に存在したり、入力ポイントと同じ座標にある可能性は低いため、バッファー距離が特に重要になります。バッファーに適用される距離単位は、LAS データセットの空間参照の距離単位に基づきます。
LAS データセット レイヤーのポイントがフィルター処理されている場合、入力フィーチャと交差するフィルター処理済みのポイントのみが再分類されます。LAS データセット レイヤーは、[レイヤー プロパティ] ダイアログ ボックスまたは [LAS データセット レイヤーの作成 (Make LAS Dataset Layer)] ツールで分類コード、分類フラグ、および戻り値の任意の組み合わせを使用して、フィルター処理できます。
-
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 の特定バージョンでのみサポートされる)
構文
arcpy.ddd.SetLasClassCodesUsingFeatures(in_las_dataset, feature_class, {compute_stats})
パラメーター | 説明 | データ タイプ |
in_las_dataset | 処理対象の LAS データセット。 | LAS Dataset Layer |
feature_class [[features, buffer_distance, new_class, synthetic, key_point, withheld, overlap],...] | 各フィーチャと、分類操作の定義に使用される関連オプションをリストのリストとして入力します (例: [['feature1', 6, 9, 'NO_CHANGE', 'SET', 'CLEAR', 'NO_CHANGE'], ['feature 2', 0, 6, 'NO_CHANGE', 'NO_CHANGE', 'NO_CHANGE', 'NO_CHANGE']])。各フィーチャには、次のオプションがあります。
| Value Table |
compute_stats (オプション) | LAS データセットで参照されている LAS ファイルの統計情報を計算するかどうかを指定します。統計情報を計算することで、LAS ファイルごとの空間インデックスが提供され、解析と表示のパフォーマンスが向上します。また統計によって、分類コードやリターン情報などの LAS 属性の表示が LAS ファイルに存在する値に制限されるので、フィルタリングとシンボルのエクスペリエンスも強化されます。
| Boolean |
派生した出力
名前 | 説明 | データ タイプ |
derived_las_dataset | 更新された LAS データセット。 | LAS データセット レイヤー |
コードのサンプル
SetLasClassCodesUsingFeatures (フィーチャから LAS クラス コードを設定) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.SetLasClassCodesUsingFeatures_3d("test.lasd", [["lake.shp 0 9"],
["outliers.shp", 5, "NO_CHANGE",
"NO_CHANGE", "NO_CHANGE", "SET"]],
"COMPUTE_STATS")
SetLasClassCodesUsingFeatures (フィーチャから LAS クラス コードを設定) の例 2 (スタンドアロン スクリプト)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''**********************************************************************
Name: Assign Withheld Classification Flag to Outlier Points in LAS Files
Description: Uses Locate Outliers to identify points in LAS files that
should be assigned the 'withheld' classification flag.
Designed for use as a script tool.
**********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
try:
arcpy.CheckOutExtension('3D')
# Set Local Variables
lasD = arcpy.GetParameterAsText(0)
outliers = 'in_memory/outliers'
# Execute LocateOutliers
arcpy.ddd.LocateOutliers(lasD, outliers, 'APPLY_HARD_LIMIT', -10,
350, 'APPLY_COMPARISON_FILTER', 1.2, 120,
0.8, 8000)
# Execute SetLasClassCodeUsingFeatures
arcpy.ddd.SetLasClassCodesUsingFeatures(lasd, [["outliers.shp", 5,
"NO_CHANGE", "NO_CHANGE",
"NO_CHANGE", "SET"]])
arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
環境
ライセンス情報
- Basic: 次のものが必要 3D Analyst
- Standard: 次のものが必要 3D Analyst
- Advanced: 次のものが必要 3D Analyst