LAS の建物分類 (Classify LAS Building) (3D Analyst)

サマリー

LAS 形式の点群データ内にある建物を分類します。

LAS の建物分類ツールの図

使用法

  • クラス コード値が 0、1 と 6 のポイントは、建物の屋上の特性と適合しているかどうかを判定するために評価されます。 既存の建物に分類されたポイントは、検出条件を満たしていない場合、既存の建物に分類されたポイントを再利用するオプションが指定されていない限り、クラス コード値 1 に再割り当てされます。

  • このツールは、通常は建物の屋根を取得する航空 LIDAR に重点を置いて設計されました。 壁、垂直面、および小さな屋根フィーチャ (屋根窓や煙突など) を表すポイントは、建物の分類に含まれない場合があります。 そのようなポイントが必要な場合は、屋根の上下にあるポイントを分類するオプションを含むツールの実行を検討してください。

  • このツールを実行する前に地表ポイントを分類します。 地表ポイントが分類されていない場合は、[LAS の地表分類 (Classify LAS Ground)] ツールを使用します。 地表ポイントが分類されたがそれらのクラス コード値が 2 以外の場合は、[LAS クラス コードの変更 (Change LAS Class Codes)] ツールを使用してクラス コード値を適切に再割り当てします。

  • [方法] パラメーターは、[写真測量データ] パラメーターがオンの場合は使用されません。

パラメーター

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

分類される LAS データセット。

LAS Dataset Layer
屋上の高さの最小値
(オプション)

屋上ポイントに識別される最低ポイントを定義する、地表からの高さ。

Linear Unit
最小エリア

建物の屋上の最小エリア。

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

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

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

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

  • [現在の表示範囲] マップ ビュー - 範囲は、アクティブなマップまたはシーンに基づきます。
  • [範囲の描画] 直角化して終了 - 範囲は、マップまたはシーンに描画された四角形に基づきます。
  • [レイヤーの範囲] レイヤー - 範囲は、アクティブなマップ レイヤーに基づきます。 使用可能なレイヤーを選択するか、[すべてのレイヤーのデータの範囲] オプションを使用します。 各マップ レイヤーには、次のオプションがあります。

    • [すべてのフィーチャ] すべて選択 - すべてのフィーチャの範囲。
    • [選択フィーチャ] 選択フィーチャからのエリア - 選択したフィーチャの範囲。
    • [表示フィーチャ] Extent Indicator - 表示フィーチャの範囲。

  • [参照] 参照 - 範囲はデータセットに基づきます。
  • [入力データの共通領域] 交差する - 範囲は、すべての入力データの共通範囲になります。
  • [入力データのすべての領域] ユニオン - 範囲は、すべての入力データの結合された範囲になります。
  • [クリップボード] 貼り付け - 範囲をクリップボードにコピーしたり、クリップボードから貼り付けたりできます。
    • [範囲をコピー] コピー - 範囲と座標系をクリップボードにコピーします。
    • [範囲を貼り付け] 貼り付け - 範囲と座標系をクリップボードから貼り付けます。 クリップボードに座標系が含まれていない場合、マップの座標系が範囲に使用されます。
  • [範囲をリセット] リセット - 範囲はデフォルト値にリセットされます。

座標を手動で入力する場合、アクティブなマップの座標系の座標を数値で指定する必要があります。 マップで、入力した座標と異なる表示単位が使用されることがあります。 南と西の座標にはマイナス値の記号を使用します。

Extent
処理境界

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

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

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

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

LAS ポイントの平均間隔。 このパラメーターは使用されなくなりました。

Linear Unit
既存の建物に分類されたポイントの再利用
(オプション)

既存の建物に分類されたポイントを再利用するか再評価するかを指定します。

  • オフ - 既存の建物に分類されたポイントは平面検出の条件を満たすように再評価され、指定された面積と高さに適合しないポイントは値 1 が割り当てられます。 これがデフォルトです。
  • オン - 既存の建物に分類されたポイントは平面検出プロセスに寄与しますが、そのポイントがツールで指定した条件を満たしていないイベントには再分類されません。 既存の分類が適切な場合、このオプションを使用します。
Boolean
写真測量データ
(オプション)

*.las ファイル内のポイントが写真測量技術を使用して取得されたものであるかどうかを指定します。

  • オフ - *.las ファイル内のポイントは、LIDAR 測量から取得されたもので、点群を生成するための写真測量技術から取得されたものではありません。 これがデフォルトです。
  • オン - *.las ファイル内のポイントは、重なり合う画像から点群を生成するための写真測量技術を使用して取得されたものです。
Boolean
分類方法
(オプション)

使用される分類方法を指定します。

  • 積極的外れ値に対して比較的高い許容値で、平面の屋上の特性に合うポイントが検出されます。 ポイントがあまりキャリブレーションされていない場合は、この方法を使用します。
  • 標準不規則なポイントに対して中程度の許容値で、平面の屋上の特性に合うポイントが検出されます。 これがデフォルトです。
  • 保全不規則なポイントに対して比較的低い許容値で、平面の屋上の特性に合うポイントが検出されます。 建物のポイントが建物ではないオブジェクトのポイントと同一平面上にある場合は、この方法を使用します。
String
屋上より上のポイントの分類
(オプション)

検出した屋上の平面より上のポイントを分類するかどうかを指定します。

  • オフ - 平面より上で検出されたポイントを分類しません。 これがデフォルトです。
  • オン - 平面より上で検出されたポイントを分類します。
Boolean
屋上より上の最大高度
(オプション)

建物の屋上より上にあるポイントの最大高度。[屋上より上のクラス コード] パラメーター値を使用して分類されます。

Linear Unit
屋上より上のクラス コード
(オプション)

屋上より上にあるポイントに割り当てられるクラス コード。

Long
屋上より下のポイントの分類
(オプション)

屋上と地表の間にあるポイントを分類するかどうかを指定します。

  • オフ - 屋上と地表の間にあるポイントは分類しません。 これがデフォルトです。
  • オン - 屋上と地表の間にあるポイントを分類します。
Boolean
屋上より下のクラス コード
(オプション)

屋上と地表の間にあるポイントに割り当てられるクラス コード。

Long
ピラミッドの更新
(オプション)

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

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

派生した出力

ラベル説明データ タイプ
派生 LAS データセット

建物の屋上に分類される LAS データセット。

LAS Dataset Layer

arcpy.ddd.ClassifyLasBuilding(in_las_dataset, {min_height}, min_area, {compute_stats}, {extent}, boundary, {process_entire_files}, point_spacing, {reuse_building}, {photogrammetric_data}, {method}, {classify_above_roof}, {above_roof_height}, {above_roof_code}, {classify_below_roof}, {below_roof_code}, {update_pyramid})
名前説明データ タイプ
in_las_dataset

分類される LAS データセット。

LAS Dataset Layer
min_height
(オプション)

屋上ポイントに識別される最低ポイントを定義する、地表からの高さ。

Linear Unit
min_area

建物の屋上の最小エリア。

Areal 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
point_spacing

LAS ポイントの平均間隔。 このパラメーターは使用されなくなりました。

Linear Unit
reuse_building
(オプション)

既存の建物に分類されたポイントを再利用するか再評価するかを指定します。

既存の建物に分類されたポイントを再利用するか再評価するかを指定します。

  • RECLASSIFY_BUILDING既存の建物に分類されたポイントは平面検出の条件を満たすように再評価され、指定された面積と高さに適合しないポイントは値 1 が割り当てられます。 これがデフォルトです。
  • REUSE_BUILDING既存の建物に分類されたポイントは平面検出プロセスに寄与しますが、そのポイントがツールで指定した条件を満たしていないイベントには再分類されません。 既存の分類が適切な場合、このオプションを使用します。
Boolean
photogrammetric_data
(オプション)

*.las ファイル内のポイントが写真測量技術を使用して取得されたものであるかどうかを指定します。

*.las ファイル内のポイントが写真測量技術を使用して取得されたものであるかどうかを指定します。

  • NOT_PHOTOGRAMMETRIC_DATA*.las ファイル内のポイントは、LIDAR 測量から取得されたもので、点群を生成するための写真測量技術から取得されたものではありません。 これがデフォルトです。
  • PHOTOGRAMMETRIC_DATA*.las ファイル内のポイントは、重なり合う画像から点群を生成するための写真測量技術を使用して取得されたものです。
Boolean
method
(オプション)

使用される分類方法を指定します。

  • AGGRESSIVE外れ値に対して比較的高い許容値で、平面の屋上の特性に合うポイントが検出されます。 ポイントがあまりキャリブレーションされていない場合は、この方法を使用します。
  • STANDARD不規則なポイントに対して中程度の許容値で、平面の屋上の特性に合うポイントが検出されます。 これがデフォルトです。
  • CONSERVATIVE不規則なポイントに対して比較的低い許容値で、平面の屋上の特性に合うポイントが検出されます。 建物のポイントが建物ではないオブジェクトのポイントと同一平面上にある場合は、この方法を使用します。
String
classify_above_roof
(オプション)

検出した屋上の平面より上のポイントを分類するかどうかを指定します。

  • NO_CLASSIFY_ABOVE_ROOF平面より上で検出されたポイントを分類しません。 これがデフォルトです。
  • CLASSIFY_ABOVE_ROOF平面より上で検出されたポイントを分類します。
Boolean
above_roof_height
(オプション)

建物の屋上より上にあるポイントの最大高度。above_roof_code パラメーター値を使用して分類されます。

Linear Unit
above_roof_code
(オプション)

屋上より上にあるポイントに割り当てられるクラス コード。

Long
classify_below_roof
(オプション)

屋上と地表の間にあるポイントを分類するかどうかを指定します。

  • NO_CLASSIFY_BELOW_ROOF屋上と地表の間にあるポイントは分類しません。 これがデフォルトです。
  • CLASSIFY_BELOW_ROOF屋上と地表の間にあるポイントを分類します。
Boolean
below_roof_code
(オプション)

屋上と地表の間にあるポイントに割り当てられるクラス コード。

Long
update_pyramid
(オプション)

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

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

派生した出力

名前説明データ タイプ
derived_las_dataset

建物の屋上に分類される LAS データセット。

LAS Dataset Layer

コードのサンプル

ClassifyLasBuilding の例 1 (Python ウィンドウ)

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

arcpy.env.workspace = 'C:/data'

arcpy.ddd.ClassifyLasBuilding('Highland.lasd', minHeight='9 feet', 
                              minArea='30 Square Feet', compute_stats=True)
ClassifyLasBuilding の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。

'''****************************************************************************
       Name: Tile & Classify LAS Files
Description: Creates & classifies tiled LAS files.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math

in_las = arcpy.GetParameterAsText(1) # The LAS files that need to be tiled
out_folder = arcpy.GetParameterAsText(2) # folder for LAS files
basename = arcpy.GetParameterAsText(3) # basename for output files
out_lasd = arcpy.GetParameterAsText(4) # output LAS dataset


try:
    # Create temp LAS dataset to reference LAS files that will be tiled
    temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
    arcpy.management.CreateLasDataset(in_las, temp_lasd)
    arcpy.ddd.TileLas(temp_lasd, out_folder, basename, out_lasd, las_version=1.4, 
                      point_format=7, file_size=300)
    arcpy.management.Delete(temp_lasd)
    arcpy.ddd.ClassifyLasGround(out_lasd, method='AGGRESSIVE')
    arcpy.ddd.ClassifyLasBuilding(out_lasd, min_height='3 Meters', min_area='4 Meters')
    arcpy.ddd.ClassifyLasByHeight(out_lasd, height_classification=[(3, 6), (4,20), (5,70)],
                                  noise='All Noise', compute_stats='COMPUTE_STATS')

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

ライセンス情報

  • Basic: 次のものが必要 3D Analyst
  • Standard: 次のものが必要 3D Analyst
  • Advanced: 次のものが必要 3D Analyst

関連トピック