LAS データセットにファイルを追加(Add Files To LAS Dataset) (データの管理)
サマリ
1 つまたは複数の LAS ファイルおよびサーフェス制限フィーチャを LAS データセットに追加します。
使用法
LAS データセットは、*.las 形式の航空機 LIDAR データで使用するよう設計されています。サポートされている LAS バージョンは 1.0、1.1、1.2、および 1.3 です。
[ArcCatalog] ウィンドウを使用すると、LAS データセットをより対話的に作成および管理することができます。詳細については、「LAS データセットの作成」をご参照ください。
サーフェス制限フィーチャを使用すると、LAS データセットのサーフェス特性を表すフィーチャ派生の標高値を適用できます。
通常、それぞれの LAS ファイルのヘッダには空間参照情報が含まれており、これは LAS データセットによって読み取られます。この情報がない、または正しく書き込まれていない場合は、同じ名前で、同じフォルダにあり、LAS ファイルの座標系の文字列表現を含んでいる、シェープファイルの *.prj ファイルと同様の *.prj 補助ファイルを作成することによって、LAS ファイルが適切にジオリファレンスされるようにできます。
LAS ポイントは、地表、建物、水域などの LIDAR リターンが検出する多数の物質に対応するカテゴリに分類できます。American Society for Photogrammetry and Remote Sensing(ASPRS)によって定義されている LAS ファイル バージョン 1.1、1.2、および 1.3 の分類コードは、以下のとおりです。
分類値
分類タイプ
0
分類不可
1
未分類
2
地面
3
低植生
4
中植生
5
高植生
6
建物
7
ノイズ
8
モデル キー
9
水域
10
ASPRS 定義用に予約
11
ASPRS 定義用に予約
12
オーバーラップ
13–31
ASPRS 定義用に予約
注意:LAS 1.0 仕様には、0 ~ 255 の範囲の分類コードはありますが、標準化された分類スキーマはありません。通常、1.0 のファイルで使用されている分類コードは、データ ベンダによって定義され、補助情報を通じて提供されます。
構文
パラメータ | 説明 | データ タイプ |
in_las_dataset |
入力 LAS データセット。 | LAS Dataset Layer |
in_files [in_files,...] (オプション) |
入力ファイルは、LAS データを含む個々の LAS ファイルとフォルダの任意の組み合わせを参照できます。 | Folder; File |
folder_recursion (オプション) |
入力フォルダのサブディレクトリに存在する LIDAR データを、LAS データセットに追加するかどうかを指定します。
| Boolean |
in_surface_constraints [[in_feature_class, height_field, SF_type],...] (オプション) | LAS データセットで参照されるフィーチャクラス。各フィーチャで以下のプロパティが定義されている必要があります。 [in_feature_class] - LAS データセットで参照されるフィーチャクラス。 [height_field] - フィーチャの標高値のソースを指定するフィールド。フィーチャの属性テーブルにある任意の数値フィールドが使用できます。フィーチャが Z 値をサポートする場合、Shape.Z を選択するとフィーチャ ジオメトリを読み取ることができます。必要な高さがない場合、キーワード「<なし>」を指定して、標高がサーフェスから内挿される Z 値のないフィーチャを作成します。 [SF_type] - フィーチャ ジオメトリがサーフェスの三角網にどのように組み込まれるかを定義するサーフェス フィーチャ タイプ。名前に「hard」または「soft」が含まれるオプションは、フィーチャ エッジが急激な勾配変化と緩慢な勾配変化のどちらを表すかを示します。
| Value Table |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.AddFilesToLasDataset_management("test.lasd",
["LA_N", "LA_S/LA_5S4E.las"],
"RECURSION",
["boundary.shp <None> Soft_Clip",
"breakline.shp Shape.Z Hard_Line"])
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''*********************************************************************
Name: Modify Files in LAS Dataset& Calculate Stats for LASD
Description: Adds files & surface constraints to a LAS dataset, then
calculates statistics and generates report.
*********************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Script variables
env.workspace = 'C:/data'
lasd = 'sample.lasd'
oldLas = ['2006', '2007/file2.las']
newLas = ['2007_updates_1', '2007_updates_2']
oldSurfaceConstraints = ['boundary.shp', 'streams.shp']
newSurfaceConstraints = [['sample.gdb/boundary', '<None>',
'Soft_Clip']
['sample.gdb/streams', 'Shape.Z',
'Hard_Line']]
arcpy.management.RemoveFilesFromLasDataset(lasd, oldLas,
oldSurfaceConstraints)
arcpy.management.AddFilesToLasDataset(lasd, newLas, 'RECURSION',
newSurfaceConstraints)
arcpy.management.LasDatasetStatistics(lasd, "UPDATED_FILES",
"lasd_stats.txt",
"LAS_FILE", "DECIMAL_POINT",
"SPACE", "LAS_summary.txt")
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)