LAS クラス コードの変更 (Change LAS Class Codes) (3D Analyst)

サマリー

.las ファイルの分類コードとフラグを再割り当てします。

使用法

  • LAS データセットが参照するすべての .las ファイルがこのツールによって評価されます。ただし、変更されるのは、提供されたクラス コードを含むファイルだけです。

  • このツールを使用して、LAS 1.1 仕様の標準化されたクラス コードの導入の前に作成された .las ファイルのデータ ポイントの分類を更新します。

  • ArcGIS では、ASPRS (American Society of Photogrammetry and Remote Sensing) によって定義された LAS 分類スキーマを使用します。 LIDAR ポイントの分類の詳細

    分類値意味

    0

    作成済み、分類不可

    1

    未分類

    2

    地表

    3

    低植生

    4

    中植生

    5

    高植生

    6

    ビルディング

    7

    低ポイント

    8

    モデル キー ポイント

    9

    10

    レール

    11

    路面

    12

    予約

    13

    保護線 (シールド)

    14

    導線 (フェーズ)

    15

    送電塔

    16

    電線接続構造物 (絶縁体)

    17

    橋床版

    18

    高ノイズ

    19

    予約

    20

    無視された地表

    21

    22

    一時的な除外

    23 ~ 63

    予約

    64 ~ 255

    ユーザー定義可能

    注意:
    • 最新の LAS 1.4 の分類システムでは、これらのコード (コード 8: モデル キー/予約済み、コード 12: オーバーラップ/予約済み) は予約されています。これらの特性を持つポイントは、代わりに対応する分類フラグを使用する必要があります。
    • LAS 1.1 ~ 1.3 では、0 ~ 31 の分類のみがサポートされます。

パラメーター

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

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

LAS Dataset Layer
クラス コード

変更する既存のクラス コードのリストと、それぞれの分類コードの値と分類フラグに対する変更内容を指定します。

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

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

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

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

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

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

    注意:

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

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

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

    • [すべてのフィーチャ] すべて選択 - レイヤーのすべてのフィーチャの範囲。
    • [選択フィーチャ]選択フィーチャからのエリア - レイヤーの選択フィーチャの範囲。
    • [表示フィーチャ] Extent Indicator - レイヤーの表示フィーチャの範囲。
      注意:

      [選択フィーチャ] 選択フィーチャからのエリア[表示フィーチャ] Extent Indicator オプションの範囲は、フィーチャ レイヤーでのみ使用できます。

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

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

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

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

Extent
処理境界

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

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

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

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

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

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

派生した出力

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

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

LAS Dataset Layer

arcpy.ddd.ChangeLasClassCodes(in_las_dataset, class_codes, {compute_stats}, {extent}, boundary, {process_entire_files}, {update_pyramid})
名前説明データ タイプ
in_las_dataset

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

LAS Dataset Layer
class_codes
[[current_class, new_class],...]

変更する既存のクラス コードのリストと、それぞれの分類コードの値と分類フラグに対する変更内容を指定します。

既存のクラス コード、新しいクラス コード、および新しいクラス フラグは、スペースで区切った文字列、または再分類される値を含むリストの一覧として表すことができます。 たとえば、現在のクラス コード 5 を 25 に変更する場合は、"5 2" または [[5, 2]] と指定します。 同様に、合成クラス フラグは、必要な変更のキーワード ("5 2 SET" または [[5, 2, "SET"]]) を追加することで変更できます。 複数の変更は、セミコロンで区切った文字列 (たとえば "5 2; 8 3; 1 4")、またはリストの一覧 (たとえば [[5, 2], [8, 3], [1, 4]]) として指定できます。

Value Table
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

派生した出力

名前説明データ タイプ
derived_las_dataset

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

LAS Dataset Layer

コードのサンプル

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

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

arcpy.env.workspace = 'C:/data'
arcpy.ddd.ChangeLasClassCodes('test.lasd', [[5, 2], [3, 1], [4, 6]],
                           'COMPUTE_STATS')
ChangeLasClassCodes の例 2 (スタンドアロン スクリプト)

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

'''****************************************************************************
Name: Update LAS 1.0 Classification to ASPRS 1.1 Specs
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

# 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)

# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasd, recursion)
# Execute ChangeLasClassCodes
arcpy.ddd.ChangeLasClassCodes(lasd, reclassList, calcStats)

ライセンス情報

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

関連トピック