近接性による LAS ポイントの特定 (Locate LAS Points By Proximity) (3D Analyst)

サマリー

Z 対応フィーチャの 3 次元の範囲内にある LAS ポイントと、これらのポイントを再分類するためのオプションを特定します。

使用法

  • このツールは、入力フィーチャの、指定した検索範囲内にある LAS ポイントの数が格納されるフィールドを更新します。 このツールで生成できるポイント数には制限はないので、極端に大きすぎる検索距離を使用しないことも検討してください。

  • LAS データセット レイヤーにより、レイヤーのフィルター設定内の分類コード、分類フラグ、リターンの組み合わせを選択することで表示および処理される LAS ポイントを制限できます。 フィルターは、[レイヤー プロパティ] ダイアログ ボックスまたは [LAS データセット レイヤーの作成 (Make LAS Dataset Layer)] ツールで定義できます。

  • シングル ポイント ジオメトリを使用して出力ポイント フィーチャを生成する場合、DIST3D というフィールドが出力に追加されます。このフィールドには、ポイントから最も近い入力フィーチャへの 3D 距離が含まれます。

パラメーター

ラベル説明データ タイプ
入力 LAS データセット

処理される LAS データセット。

LAS Dataset Layer
入力 3D フィーチャ

LAS ポイントの識別に使用される近接性を持つ、3D ポイント フィーチャ、3D ライン フィーチャ、3D ポリゴン フィーチャ、または 3D マルチパッチ フィーチャ。

Feature Layer
検索範囲

LAS ポイントの存在が調べられる入力フィーチャの周囲の距離。これは、直線距離または入力フィーチャの属性テーブル内の数値フィールドで指定できます。 フィールドまたは直線距離から得られた検索範囲の単位が [不明] と指定されている場合、入力フィーチャの XY 空間参照の距離単位が使用されます。

Linear Unit; Field
カウント フィールド

入力フィーチャの属性テーブルに追加され、各フィーチャに近接する LAS ポイントの数が設定されるフィールドの名前。 デフォルトのフィールド名は COUNT です。

String
出力フィーチャクラス
(オプション)

入力フィーチャから指定した距離の範囲内で検出された LAS ポイントを表すポイント フィーチャ。

Feature Class
出力ジオメトリ タイプ
(オプション)

入力フィーチャから指定した距離の範囲内で検出された LAS ポイントを表す出力ポイント フィーチャのジオメトリを指定します。

  • マルチポイント各行に複数のポイントを含むマルチポイント フィーチャ。
  • ポイント特定された LAS ポイントごとに一意の行を含むシングルポイント フィーチャ。
String
新しいクラス コード
(オプション)

入力フィーチャの検索範囲内で検出されたポイントの再分類に使用されるクラス コード値。

Long
統計情報の計算
(オプション)

LAS データセットで参照されている .las ファイルの統計情報を計算するかどうかを指定します。 統計情報を計算することで、.las ファイルごとの空間インデックスが提供され、解析と表示のパフォーマンスが向上します。 また統計によって、分類コードやリターン情報などの LAS 属性の表示が .las ファイルに存在する値に制限されるので、フィルターとシンボルのエクスペリエンスも強化されます。

  • オン - 統計情報を計算します。 これがデフォルトです。
  • オフ - 統計情報を計算しません。
Boolean
ピラミッドの更新
(オプション)

クラス コードが変更された後に、LAS データセットのピラミッドを更新するかどうかを指定します。

  • オン - LAS データセットのピラミッドを更新します。 これがデフォルトです。
  • オフ - LAS データセットのピラミッドを更新しません。
Boolean

派生した出力

ラベル説明データ タイプ
更新された入力 LAS データセット

更新された LAS データセット。

LAS Dataset Layer
更新された入力 3D フィーチャ

更新された入力 3D フィーチャ。

Feature Layer

arcpy.ddd.LocateLasPointsByProximity(in_las_dataset, in_features, search_radius, count_field, {out_features}, {geometry}, {class_code}, {compute_stats}, {update_pyramid})
名前説明データ タイプ
in_las_dataset

処理される LAS データセット。

LAS Dataset Layer
in_features

LAS ポイントの識別に使用される近接性を持つ、3D ポイント フィーチャ、3D ライン フィーチャ、3D ポリゴン フィーチャ、または 3D マルチパッチ フィーチャ。

Feature Layer
search_radius

LAS ポイントの存在が調べられる入力フィーチャの周囲の距離。これは、直線距離または入力フィーチャの属性テーブル内の数値フィールドで指定できます。 フィールドまたは直線距離から得られた検索範囲の単位が [不明] と指定されている場合、入力フィーチャの XY 空間参照の距離単位が使用されます。

Linear Unit; Field
count_field

入力フィーチャの属性テーブルに追加され、各フィーチャに近接する LAS ポイントの数が設定されるフィールドの名前。 デフォルトのフィールド名は COUNT です。

String
out_features
(オプション)

入力フィーチャから指定した距離の範囲内で検出された LAS ポイントを表すポイント フィーチャ。

Feature Class
geometry
(オプション)

入力フィーチャから指定した距離の範囲内で検出された LAS ポイントを表す出力ポイント フィーチャのジオメトリを指定します。

  • MULTIPOINT各行に複数のポイントを含むマルチポイント フィーチャ。
  • POINT特定された LAS ポイントごとに一意の行を含むシングルポイント フィーチャ。
String
class_code
(オプション)

入力フィーチャの検索範囲内で検出されたポイントの再分類に使用されるクラス コード値。

Long
compute_stats
(オプション)

LAS データセットで参照されている .las ファイルの統計情報を計算するかどうかを指定します。 統計情報を計算することで、.las ファイルごとの空間インデックスが提供され、解析と表示のパフォーマンスが向上します。 また統計によって、分類コードやリターン情報などの LAS 属性の表示が .las ファイルに存在する値に制限されるので、フィルターとシンボルのエクスペリエンスも強化されます。

  • COMPUTE_STATS統計情報を計算します。 これがデフォルトです。
  • NO_COMPUTE_STATS統計情報を計算しません。
Boolean
update_pyramid
(オプション)

クラス コードが変更された後に、LAS データセットのピラミッドを更新するかどうかを指定します。

  • UPDATE_PYRAMIDLAS データセットのピラミッドを更新します。 これがデフォルトです。
  • NO_UPDATE_PYRAMIDLAS データセットのピラミッドを更新しません。
Boolean

派生した出力

名前説明データ タイプ
out_las_dataset

更新された LAS データセット。

LAS Dataset Layer
derived_features

更新された入力 3D フィーチャ。

Feature Layer

コードのサンプル

LocateLasPointsByProximity (近接性による LAS ポイントの特定) の例 1 (Python ウィンドウ)

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.ddd.LocateLasPointsByProximity('lidar.lasd', 'powerlines.shp', 
                                     search_radius="10 Feet", 
                                     count_field="Near_Pts",
                                     out_features="located_pts.shp")
LocateLasPointsByProximity (近接性による LAS ポイントの特定) の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン 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())

関連トピック