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

概要

LAS データの建物の屋上と側面を分類します。

建物の屋上ポイントの分類。

使用法

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

  • 建物の屋上ポイントを分類するには、LAS データの地表ポイントを分類する必要があります。地表ポイントがまだ分類されていない場合は、[LAS の地表分類 (Classify LAS Ground)] ツールを使用することを検討してください。地表ポイントのクラス コード値は 2 である必要があります。地表ポイントのクラス コード値が 2 以外の場合は、[LAS クラス コードの変更 (Change LAS Class Codes)] ツールを使用してクラス コードを適切に再割り当てします。

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

  • [方法] パラメーターは、[写真測量データ] オプションが指定されている場合は使用されません。

構文

arcpy.3d.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})
パラメーター説明データ タイプ
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_FILESLAS ファイルの一部が対象地域と交差している場合、対象地域の外側にあるポイントも含め、その LAS ファイル内のすべてのポイントが処理されます。
Boolean
point_spacing

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

Linear Unit
reuse_building
(オプション)

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

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

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

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

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

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

使用される分類方法。

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

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

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

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

Linear Unit
above_roof_code
(オプション)

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

Long
classify_below_roof
(オプション)

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

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

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

Long

派生した出力

名前説明データ タイプ
derived_las_dataset

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

LAS データセット レイヤー

コードのサンプル

ClassifyLasBuilding (LAS の建物分類) の例 1 (Python ウィンドウ)

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

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

arcpy.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet', 
                             minArea='30 Square Feet', compute_stats=True)
ClassifyLasBuilding (LAS の建物分類) の例 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

関連トピック