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

サマリー

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

使用法

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

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

  • LAS 形式は、ASPRS (American Society for Photogrammetry and Remote Sensing) によって定義された仕様に基づいて各ポイントの分類をサポートします。 ArcGIS プラットフォームは、LAS 形式ファイル バージョン 1.4 で規定されている以下の分類方式を適用します。

    分類値分類タイプ

    0

    分類不可

    1

    未分類

    2

    地表

    3

    低植生

    4

    中植生

    5

    高植生

    6

    建物

    7

    低ノイズ

    8

    モデル キー/予約

    9

    水域

    10

    レール

    11

    路面

    12

    オーバーラップ/予約

    13

    保護線

    14

    電線

    15

    送電塔

    16

    ワイヤー コネクタ

    17

    橋床版

    18

    高ノイズ

    19 ~ 63

    ASPRS 定義用の予約 (LAS 1.1 〜 1.3 はクラス コード 31 までをサポート)

    32 ~ 255

    ユーザー定義可能 (LAS 1.0 および 1.4 の特定バージョンでのみサポートされる)

パラメーター

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

処理対象の LAS データセット。

LAS Dataset Layer
クラス コード

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

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

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

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

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

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

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

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

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

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

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

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

派生した出力

名前説明データ タイプ
derived_las_dataset

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

LAS Dataset Layer

コードのサンプル

ChangeLasClassCodes (LAS クラス コードの変更) の例 1 (Python ウィンドウ)

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

arcpy.env.workspace = 'C:/data'
arcpy.ChangeLasClassCodes_3d('test.lasd', [[5, 2], [3, 1], [4, 6]],
                           'COMPUTE_STATS')
ChangeLasClassCodes (LAS クラス コードの変更) の例 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

関連トピック