サマリ
Z 対応のフィーチャからの 3 次元距離の範囲内にある LIDAR ポイントを特定します。各ポイントを再分類し、それらを出力フィーチャクラスにエクスポートするオプションも備えています。
使用法
このツールは、入力フィーチャの、指定した検索範囲内にある LAS ポイントの数が格納されるフィールドを更新します。
-
LAS データセットを入力として指定すると、それが参照する LAS ファイルのすべてのデータ ポイントが処理されます。LAS データセット レイヤーを介して目的の LAS ポイント フィルターを適用することで、分類コード、分類フラグ、およびリターン値で LIDAR データのサブセットを選択することもできます。フィルターは、レイヤー プロパティのダイアログまたは [LAS データセット レイヤーの作成 (Make LAS Dataset Layer)] ツールを使用して定義できます。
-
対象フィーチャからの指定した距離の範囲内に存在する可能性のある障害物 (公共設備の近くの植生の侵害など) を特定する場合、このツールを使用することを検討してください。
構文
LocateLasPointsByProximity_3d (in_las_dataset, in_features, search_radius, count_field, {out_features}, {geometry}, {class_code}, {compute_stats})
パラメータ | 説明 | データ タイプ |
in_las_dataset | 処理対象の LAS データセット。 | LAS Dataset Layer |
in_features | LAS ポイントの識別に使用される近接性を持つ、3D ポイント フィーチャ、3D ライン フィーチャ、または 3D ポリゴン フィーチャ。 | Feature Layer |
search_radius | LAS ポイントの存在が調べられる入力フィーチャの周囲の空間の距離。これは、直線距離または入力フィーチャの属性テーブル内の数値フィールドで指定できます。 フィールドまたは直線距離から得られた検索範囲の単位が [不明] と指定されている場合、入力フィーチャの XY 空間参照の距離単位が使用されます。 以下の単位がサポートされています。
| Linear Unit; Field |
count_field | 入力フィーチャの属性テーブルに追加されるカウント フィールドの名前。このフィールドの値には、入力フィーチャから指定した距離の範囲内にある LAS ポイントの総数が反映されます。 | String |
out_features (オプション) | 入力フィーチャから指定した距離の範囲内で検出された LAS ポイントを表す出力ポイント フィーチャ。 | Feature Class |
geometry (オプション) | 入力フィーチャから指定した距離の範囲内で検出された LAS ポイントを表す出力ポイント フィーチャのジオメトリ。
| String |
class_code (オプション) | 入力フィーチャの検索範囲内で検出されたポイントの再分類に使用されるクラス コード値。 | Long |
compute_stats (オプション) | LAS データセットで参照されている LAS ファイルの統計情報を計算するかどうかを指定します。統計情報が存在することにより、LAS データセット レイヤーのフィルターおよびシンボル オプションで、LAS ファイル内に存在する LAS 属性値のみを表示できます。
| Boolean |
コードのサンプル
LocateLasPointsByProximity (近接性による LAS ポイントの特定) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: Classify Noise Points
Description: Updates classification of version 1.0 LAS files to conform to
the standardized class codes introduced in the 1.1 specifications.
The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)
reclassList = arcpy.GetParameterAsText(3) #List of values '<oldCode> <newCode>'
calcStats = arcpy.GetParameter(4)
try:
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
# Execute Locate Outliers
outlier_pts = 'in_memory/outliers'
arcpy.ddd.LocateOutliers(lasd, out_feature_class=outlier_pts,
apply_hard_limit='Apply_Hard_Limit',
absolute_z_min=-15, absolute_z_max=680,
apply_comparison_filter='Apply_Comparison_Filter',
z_tolerance=0, slope_tolerance=150,
exceed_tolerance_ratio=0.5, outlier_cap=3000)
# Execute ChangeLasClassCodes
arcpy.ddd.LocateLasPointsByProximity(lasd, in_features=outlier_pts,
search_radius='0.5 Centimeters',
class_code=18)
# Report messages
arcpy.GetMessages(0)
except arcpy.ExecuteError:
print(arcpy.GetMessages())
LocateLasPointsByProximity (近接性による LAS ポイントの特定) の例 2 (スタンドアロン スクリプト)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
Missing source code file