LAS の地表分類 (Classify LAS Ground) (3D Analyst)

サマリー

LAS データからの地表ポイントを分類します。

LAS の地表分類ツールの図

使用法

  • このツールでは、入力 LAS データセットが投影座標系である必要があります。 地理座標系で格納されたデータは、[LAS の抽出 (Extract LAS)] ツールと、出力座標系の環境設定で指定した投影座標系を使用して再投影できます。

  • クラス コード値が 0、1、または 2 の LAS ポイントだけを地表ポイントとして割り当てることができます。 LAS ファイルで別のクラス コード値を使用して未分類ポイントまたは地表計測値を表している場合は、[LAS クラス コードの変更 (Change LAS Class Codes)] ツールを使用してクラス コード値を再割り当てします。 また、分類プロセスでは、オーバーラップまたは保留分類フラグが割り当てられたポイントが無視されます。

  • 地表分類ポイントを使用して、特定の解像度で地表ラスター サーフェスを生成する場合は、[DEM 解像度] パラメーターを使用して、結果の生成を高速化することができます。 地表クラス コードに割り当てられるポイントの数を減らすことで、指定した解像度に必要なカバレッジを維持しながら、パフォーマンスを向上できます。

  • LAS の分類で異なる傾斜角特性を持つテレイン (比較的平坦な領域に急な傾斜面が続く場所など) が返される場合、標準方法でツールを一度実行してから、2 回目に積極的分類と地表の再使用パラメーターを有効にして地表分類を実行することを検討してください。 処理範囲を適用するか、ポリゴンの境界を指定して、この操作を必要な領域のみに制限します。

  • 橋のある場所や高速道路の出入り口につながる道路は、間違って地表として分類されている可能性があるので確認する必要があります。

パラメーター

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

処理される LAS データセット。 クラス コード値 0、1、または 2 を含む LAS ポイントのラスト リターンだけが評価されます。

LAS Dataset Layer
地表検出方法

地表ポイントの検出に使用される方法を指定します。

  • 標準分類この方法では、傾斜角の変化の許容値が設定されているため、保守的オプションでは通常取得されない地表地形の緩やかな起伏は取得できますが、積極的オプションで取得される急な起伏は取得できません。 これがデフォルトです。
  • 保守的分類この方法はその他の方法と比べて、地表の傾斜角の変化に対する制約が厳重であり、地表と低地の植生 (芝生や植え込みなど) を区別することができます。 この方法は、最小限の曲率を持つ地形に最適です。
  • 積極的分類標準オプションでは無視される可能性のある急な起伏 (稜線や丘の頂上など) を含む地面を検出できます。 この方法を最適に活用するには、[既存の地表を再使用] パラメーターをオンにして、このツールを繰り返し実行します。 この方法を都市部や平坦な農村部では使用しないでください。このような使い方をすると、電柱、植生、建物の一部など、高さのある対象物が間違って地表として分類される可能性があります。
  • 標準分類この方法では、傾斜角の変化の許容値が設定されているため、保守的オプションでは通常取得されない地表地形の緩やかな起伏は取得できますが、積極的オプションで取得される急な起伏は取得できません。 これがデフォルトです。
  • 保守的分類この方法はその他の方法と比べて、地表の傾斜角の変化に対する制約が厳重であり、地表と低地の植生 (芝生や植え込みなど) を区別することができます。 この方法は、最小限の曲率を持つ地形に最適です。
  • 積極的分類標準オプションでは無視される可能性のある急な起伏 (稜線や丘の頂上など) を含む地面を検出できます。 この方法は、このツールの 2 回目の繰り返しに、reuse_ground パラメーターを REUSE_GROUND に設定して使用するのが最適です。 この方法を都市部や平坦な農村部では使用しないでください。このような使い方をすると、電柱、植生、建物の一部など、高さのある対象物が間違って地表として分類される可能性があります。
String
既存の地表を再使用
(オプション)

既存の地表ポイントを再分類するか再使用するかを指定します。

  • オフ - 既存の地表ポイントを再分類します。 地表の一部と見なされないポイントには、未分類ポイントを表すクラス コード値 1 の再割り当てが行われます。 これがデフォルトです。
  • オン - 詳細な調査なしで既存の地表ポイントを受け入れて再使用し、未分類ポイントを特定できるようにします。
Boolean
DEM 解像度
(オプション)

ポイントのサブセットだけが地表としての分類の評価対象となり、処理速度が上がる距離。 より速く DEM サーフェスを生成する必要がある場合は、このパラメーターの使用を検討してください。 最小距離は 0.3 メートルですが、この処理を効果的に実行するには、LIDAR データの平均ポイント間隔の 1.5 倍以上の距離を指定する必要があります。

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

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

  • オン - 統計情報を計算します。 これがデフォルトです。
  • オフ - 統計情報を計算しません。
Boolean
処理範囲
(オプション)

評価されるデータの範囲。

  • [現在の表示範囲] Current Display Extent - 範囲は、アクティブなマップまたはシーンに基づきます。 このオプションは、アクティブなマップが存在する場合にのみ使用できます。
  • [範囲の描画] Draw Extent - 範囲は、マップまたはシーンに描画された四角形に基づきます。 このオプションは、プロジェクト ジオデータベースにフィーチャクラスを作成し、レイヤーをマップに追加します。 フィーチャクラスの座標系はマップと同じです。
    注意:

    このオプションは、[環境] ダイアログ ボックスでは使用できません。 範囲データ タイプを使用するツール パラメーターまたはツール ダイアログ ボックスの [環境] タブからのみ使用できます。

    注意:

    編集タブで編集を有効/無効にする編集オプションがオンの場合、範囲を描画するには [編集] リボン タブで編集を有効化する必要があります。

  • [レイヤーの範囲] Layer - 範囲は、アクティブなマップ レイヤーに基づきます。 ドロップダウン リストを使用して使用可能なレイヤーを選択するか、[すべてのレイヤーのデータの範囲] オプションを使用して、ベースマップを除くすべてのアクティブなマップ レイヤーを組み合わせた範囲を取得します。 このオプションは、レイヤーを含むアクティブなマップが存在する場合にのみ使用できます。

    各マップ レイヤーには、次のオプションがあります。

    • [すべてのフィーチャ] Select All - レイヤーのすべてのフィーチャの範囲。
    • [選択フィーチャ]Area from Selected Features - レイヤーの選択フィーチャの範囲。
    • [表示フィーチャ] Extent Indicator - レイヤーの表示フィーチャの範囲。
      注意:

      [選択フィーチャ] Area from Selected Features[表示フィーチャ] Extent Indicator オプションの範囲は、フィーチャ レイヤーでのみ使用できます。

  • [参照] Browse - 範囲は、既存のデータに基づきます。
  • [入力データの共通領域] Intersect - 範囲は、すべての入力データの最小範囲または共通範囲に基づきます。 重なり合う入力データがない場合は、すべてゼロの null 範囲が生成されます。
  • [入力データのすべての領域] Union - この範囲は、すべての入力データの最大範囲または結合された範囲に基づきます。
  • [クリップボード] Paste - 範囲をクリップボードにコピーしたり、クリップボードから貼り付けたりできます。
    • [範囲をコピー] Copy - 範囲の座標と座標系をクリップボードにコピーします。
    • [範囲を貼り付け] Paste - 範囲の座標と、必要に応じて座標系をクリップボードから貼り付けます。 クリップボードの値に座標系が含まれていない場合、マップの座標系が範囲に使用されます。
    注意:

    範囲の座標は、ArcPy Extent オブジェクトと同じ書式と順序 (x-min、y-min、x-max、y-max、空間参照) を使用して、クリップボードからコピーおよびクリップボードから貼り付けられます。

  • [範囲をリセット] Reset - 範囲はデフォルト値にリセットされます。
  • 手動入力した座標値 - 座標値は数値であり、アクティブなマップの座標系で表示する必要があります。
    注意:

    マップで、入力された座標と異なる表示単位が使用されることがあります。 基本方向 (N、S、E、W) を使用することはできません。 南と西の座標にはマイナス値の記号を使用します。

Extent
処理境界

処理される対象地域を定義するポリゴン フィーチャ。

Feature Layer
範囲と重なる LAS ファイル全体を処理
(オプション)

.las ファイルの処理方法の決定に対象地域をどのように使用するかを指定します。 対象地域は、[処理範囲] パラメーター値、[処理境界] パラメーター値、またはこれら 2 つの組み合わせによって定義されます。

  • オフ - 対象地域と交差している LAS ポイントだけが処理されます。 これがデフォルトです。
  • オン - .las ファイルの一部が対象地域と交差している場合、対象地域の外側にあるポイントも含め、そのファイル内のすべてのポイントが処理されます。
Boolean
ピラミッドの更新
(オプション)

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

  • オン - LAS データセットのピラミッドを更新します。 これがデフォルトです。
  • オフ - LAS データセットのピラミッドを更新しません。
Boolean
検出アルゴリズム
(オプション)

地表ポイントの分類に使用される、地表検出アルゴリズムのバージョンを指定します。

  • 最新地表検出アルゴリズムの最新バージョンが使用されます。 このオプションを使用すると、特に写真測量で生成された点群で、ノイズと範囲外ポイントの処理が改善します。 また、多くの場合、良好な結果が得られ、パフォーマンスが高速化されます。 これがデフォルトです。
  • 第 1 世代地表検出アルゴリズムの初期バージョンが使用されます。 このオプションは、最新バージョンの結果が適切でない場合にのみ使用してください。
String
低ノイズ ポイントの分類
(オプション)

地表から一定の距離よりも下にあるポイントを低ノイズ ポイントとして分類するかどうかを指定します。 ノイズ ポイントが特定される距離は、[地下の最小深さ] パラメーターの値によって決まります。 低ノイズ ポイントにはクラス コード値 7 が割り当てられます。

  • オン - 低ノイズ ポイントが分類されます。
  • オフ - 低ノイズ ポイントが分類されません。 これがデフォルトです。
Boolean
地下の最小深さ
(オプション)

低ノイズ ポイントの分類に使用される地表から下方向の距離。 地表の分類ポイントから作成されたトライアングル サーフェスで地表が定義されます。 このパラメーターに指定された距離だけ地表から下方向にあるクラス コード 0 または 1 のすべてのポイントにクラス コード値 7 が割り当てられます。

Linear Unit
既存の低ノイズを維持
(オプション)

クラス コード 7 の既存の低ノイズ ポイントを維持するか再分類するかを指定します。 低ノイズ ポイントを再分類する場合は、地表から下方向にあるポイントのうち、[地下の最小深さ] パラメーターに指定された最小距離よりも下にないすべてのポイントにクラス コード値 1 が割り当てられます。

  • オン - 既存の低ノイズ ポイントが維持されます。 これがデフォルトです。
  • オフ - 既存の低ノイズ ポイントが再分類されます。
Boolean
高ノイズ ポイントの分類
(オプション)

地表から一定の距離よりも上にあるポイントを高ノイズ ポイントとして分類するかどうかを指定します。 ノイズ ポイントが特定される距離は、[地表からの最小高さ] パラメーターの値によって決まります。 高ノイズ ポイントにクラス コード値 18 が割り当てられます。

  • オン - 高ノイズ ポイントが分類されます。
  • オフ - 高ノイズ ポイントが分類されません。 これがデフォルトです。
Boolean
地表からの最小高さ
(オプション)

高ノイズ ポイントの分類に使用される地表から上方向の距離。 地表の分類ポイントから作成されたトライアングル サーフェスで地表が定義されます。 このパラメーターに指定された距離だけ地表から上方向にあるクラス コード 0 または 1 のすべてのポイントにクラス コード値 18 が割り当てられます。

Linear Unit
既存の高ノイズを維持
(オプション)

クラス コード 18 の既存の高ノイズ ポイントを維持するか再分類するかを指定します。 高ノイズ ポイントを再分類する場合は、地表から上方向にあるポイントのうち、[地表からの最小高さ] パラメーターに指定された最小距離よりも上にないすべてのポイントにクラス コード値 1 が割り当てられます。

  • オン - 既存の高ノイズ ポイントが維持されます。 これがデフォルトです。
  • オフ - 既存の高ノイズ ポイントが再分類されます。
Boolean

派生した出力

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

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

LAS Dataset Layer

arcpy.ddd.ClassifyLasGround(in_las_dataset, method, {reuse_ground}, {dem_resolution}, {compute_stats}, {extent}, boundary, {process_entire_files}, {update_pyramid}, {algorithm}, {classify_low_noise}, {minimum_depth_below_ground}, {preserve_low_noise}, {classify_high_noise}, {minimum_height_above_ground}, {preserve_high_noise})
名前説明データ タイプ
in_las_dataset

処理される LAS データセット。 クラス コード値 0、1、または 2 を含む LAS ポイントのラスト リターンだけが評価されます。

LAS Dataset Layer
method

地表ポイントの検出に使用される方法を指定します。

  • STANDARDこの方法では、傾斜角の変化の許容値が設定されているため、保守的オプションでは通常取得されない地表地形の緩やかな起伏は取得できますが、積極的オプションで取得される急な起伏は取得できません。 これがデフォルトです。
  • CONSERVATIVEこの方法はその他の方法と比べて、地表の傾斜角の変化に対する制約が厳重であり、地表と低地の植生 (芝生や植え込みなど) を区別することができます。 この方法は、最小限の曲率を持つ地形に最適です。
  • AGGRESSIVE標準オプションでは無視される可能性のある急な起伏 (稜線や丘の頂上など) を含む地面を検出できます。 この方法は、このツールの 2 回目の繰り返しに、reuse_ground パラメーターを REUSE_GROUND に設定して使用するのが最適です。 この方法を都市部や平坦な農村部では使用しないでください。このような使い方をすると、電柱、植生、建物の一部など、高さのある対象物が間違って地表として分類される可能性があります。
String
reuse_ground
(オプション)

既存の地表ポイントを再分類するか再使用するかを指定します。

  • RECLASSIFY_GROUND既存の地表ポイントを再分類します。 地表の一部と見なされないポイントには、未分類ポイントを表すクラス コード値 1 の再割り当てが行われます。 これがデフォルトです。
  • REUSE_GROUND詳細な調査なしで既存の地表ポイントを受け入れて再使用し、未分類ポイントを特定できるようにします。
Boolean
dem_resolution
(オプション)

ポイントのサブセットだけが地表としての分類の評価対象となり、処理速度が上がる距離。 より速く DEM サーフェスを生成する必要がある場合は、このパラメーターの使用を検討してください。 最小距離は 0.3 メートルですが、この処理を効果的に実行するには、LIDAR データの平均ポイント間隔の 1.5 倍以上の距離を指定する必要があります。

Linear Unit
compute_stats
(オプション)

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

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

評価されるデータの範囲。

  • MAXOF - すべての入力データの最大範囲が使用されます。
  • MINOF - すべての入力データに共通する最小領域が使用されます。
  • DISPLAY - 範囲は、表示範囲と同じになります。
  • レイヤー名 - 指定したレイヤーの範囲が使用されます。
  • Extent オブジェクト - 指定したオブジェクトの範囲が使用されます。
  • 座標のスペース区切りの文字列 - 指定した文字列の範囲が使用されます。 座標は、x-min、y-min、x-max、y-max の順序で表されます。
Extent
boundary

処理される対象地域を定義するポリゴン フィーチャ。

Feature Layer
process_entire_files
(オプション)

処理範囲の適用方法を指定します。

  • PROCESS_EXTENT対象地域と交差している LAS ポイントだけが処理されます。 これがデフォルトです。
  • PROCESS_ENTIRE_FILES.las ファイルの一部が対象地域と交差している場合、対象地域の外側にあるポイントも含め、そのファイル内のすべてのポイントが処理されます。
Boolean
update_pyramid
(オプション)

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

  • UPDATE_PYRAMIDLAS データセットのピラミッドを更新します。 これがデフォルトです。
  • NO_UPDATE_PYRAMIDLAS データセットのピラミッドを更新しません。
Boolean
algorithm
(オプション)

地表ポイントの分類に使用される、地表検出アルゴリズムのバージョンを指定します。

  • LATEST地表検出アルゴリズムの最新バージョンが使用されます。 このオプションを使用すると、特に写真測量で生成された点群で、ノイズと範囲外ポイントの処理が改善します。 また、多くの場合、良好な結果が得られ、パフォーマンスが高速化されます。 これがデフォルトです。
  • FIRST地表検出アルゴリズムの初期バージョンが使用されます。 このオプションは、最新バージョンの結果が適切でない場合にのみ使用してください。
String
classify_low_noise
(オプション)

地表から一定の距離よりも下にあるポイントを低ノイズ ポイントとして分類するかどうかを指定します。 ノイズ ポイントが特定される距離は、minimum_depth_below_ground パラメーターの値によって決まります。 低ノイズ ポイントにクラス コード値 7 が割り当てられます。

  • CLASSIFY_LOW_NOISE低ノイズ ポイントが分類されます。
  • NO_CLASSIFY_LOW_NOISE低ノイズ ポイントが分類されません。 これがデフォルトです。
Boolean
minimum_depth_below_ground
(オプション)

低ノイズ ポイントの分類に使用される地表から下方向の距離。 地表の分類ポイントから作成されたトライアングル サーフェスで地表が定義されます。 このパラメーターに指定された距離だけ地表から下方向にあるクラス コード 0 または 1 のすべてのポイントにクラス コード値 7 が割り当てられます。

Linear Unit
preserve_low_noise
(オプション)

クラス コード 7 の既存の低ノイズ ポイントを維持するか再分類するかを指定します。 低ノイズ ポイントを再分類する場合は、地表から下方向にあるポイントのうち、minimum_depth_below_ground パラメーターに指定された最小距離よりも下にないすべてのポイントにクラス コード値 1 が割り当てられます。

  • PRESERVE_LOW_NOISE既存の低ノイズ ポイントが維持されます。 これがデフォルトです。
  • RECLASSIFY_LOW_NOISE既存の低ノイズ ポイントが再分類されます。
Boolean
classify_high_noise
(オプション)

地表から一定の距離よりも上にあるポイントを高ノイズ ポイントとして分類するかどうかを指定します。 ノイズ ポイントが特定される距離は、minimum_height_above_ground パラメーターの値によって決まります。 高ノイズ ポイントにクラス コード値 18 が割り当てられます。

  • CLASSIFY_HIGH_NOISE高ノイズ ポイントが分類されます。
  • NO_CLASSIFY_HIGH_NOISE高ノイズ ポイントが分類されません。 これがデフォルトです。
Boolean
minimum_height_above_ground
(オプション)

高ノイズ ポイントの分類に使用される地表から上方向の距離。 地表の分類ポイントから作成されたトライアングル サーフェスで地表が定義されます。 このパラメーターに指定された距離だけ地表から上方向にあるクラス コード 0 または 1 のすべてのポイントにクラス コード値 18 が割り当てられます。

Linear Unit
preserve_high_noise
(オプション)

クラス コード 18 の既存の高ノイズ ポイントを維持するか再分類するかを指定します。 高ノイズ ポイントを再分類する場合は、地表から上方向にあるポイントのうち、minimum_depth_below_ground パラメーターに指定された最小距離よりも上にないすべてのポイントにクラス コード値 1 が割り当てられます。

  • PRESERVE_HIGH_NOISE既存の高ノイズ ポイントが維持されます。 これがデフォルトです。
  • RECLASSIFY_HIGH_NOISE既存の高ノイズ ポイントが維持されます。
Boolean

派生した出力

名前説明データ タイプ
out_las_dataset

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

LAS Dataset Layer

コードのサンプル

ClassifyLasGround の例 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 の例 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())

関連トピック