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

ライセンス レベル:BasicStandardAdvanced

サマリ

LAS データセットが参照する LAS ファイルのクラス コード値を変更します。

使用法

構文

ChangeLasClassCodes_3d (in_las_dataset, class_codes, {compute_stats})
パラメータ説明データ タイプ
in_las_dataset

入力 LAS データセット。

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

現在のクラス コード値と新しいクラス コード値の各ペアを、スペースで区切った文字列または整数のリストとして指定します。たとえば、現在のクラス コード 5 を 2 に変更する場合は、「5 2」または [5, 2] と指定します。複数のクラス コードは、セミコロンで区切った文字列(「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

コードのサンプル

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

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
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
import exceptions, sys, traceback

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

try:
    arcpy.CheckOutExtension('3D')
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasd, recursion)
    # Execute ChangeLasClassCodes
    arcpy.ddd.ChangeLasClassCodes(lasd, reclassList, calcStats)
    # Report messages
    arcpy.GetMessages()
    
except arcpy.ExecuteError:
    print arcpy.GetMessages()
    
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: 次のものが必要 3D Analyst
ArcGIS for Desktop Standard: 次のものが必要 3D Analyst
ArcGIS for Desktop Advanced: 次のものが必要 3D Analyst
9/14/2013