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

サマリー

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

[LAS の建物分類 (Classify LAS Building)] ツールの図

使用法

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

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

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

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

パラメーター

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

分類対象の LAS データセット。

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

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

Linear Unit
最小エリア

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

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

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

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

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

  • [デフォルト] - 範囲はすべての入力の最大範囲に基づきます。これがデフォルトです。
  • [入力データのすべての領域] - この範囲は、すべての入力の最大範囲に基づきます。
  • [入力データの共通領域] - この範囲は、すべての入力に共通する最小領域に基づきます。
  • [現在の表示範囲] - 範囲は、表示範囲と同じになります。アクティブなマップが存在しない場合、このオプションは使用できません。
  • [以下の指定に一致] - この範囲は、指定された最小および最大範囲値に基づきます。
  • [参照] - 範囲は、既存のデータセットに基づきます。
Extent
処理境界

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

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

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

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

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

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

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

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

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

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

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

  • 積極的外れ値に対して比較的高い許容値で、平面の屋上の特性に合うポイントが検出されます。 ポイントがあまりキャリブレーションされていない場合は、この方法を使用します。
  • Standard不規則なポイントに対して中程度の許容値で、平面の屋上の特性に合うポイントが検出されます。 これがデフォルトです。
  • 保全不規則なポイントに対して比較的低い許容値で、平面の屋上の特性に合うポイントが検出されます。 建物のポイントが建物ではないオブジェクトのポイントと同一平面上にある場合は、この方法を使用します。
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 ファイルの一部が対象地域と交差している場合、対象地域の外側にあるポイントも含め、その *.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
(オプション)

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

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 (LAS の建物分類) の例 1 (Python ウィンドウ)

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

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

arcpy.ddd.ClassifyLasBuilding('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

関連トピック