LAS データセットの作成(Create LAS Dataset) (データの管理)
サマリ
1 つまたは複数の LAS ファイルとオプションとしてサーフェス制御フィーチャを参照する LAS データセットを作成します。
図
使用法
-
LAS データセットは、*.las 形式または *.zlas 形式の航空機 LIDAR データで使用するよう設計されています。サポートされる LAS ファイルのバージョンは、1.0、1.1、および 1.3 です。*.las を圧縮した *.zlas ファイルは、ここから入手できるユーティリティを使用して作成できます。
-
[ArcCatalog] ウィンドウを使用すると、LAS データセットをより対話的に作成および管理することができます。詳細については、「LAS データセットの作成」をご参照ください。
-
サーフェス制限フィーチャを使用すると、LAS データセットのサーフェス特性を表すフィーチャ派生の標高値を適用できます。
-
通常、それぞれの LAS ファイルのヘッダーには空間参照情報が含まれており、これは LAS データセットによって読み取られます。この情報がない、または正しく書き込まれていない場合は、同じ名前で、同じフォルダにあり、LAS ファイルの座標系の文字列表現を含んでいる、シェープファイルの *.prj ファイルと同様の *.prj 補助ファイルを作成することによって、LAS ファイルが適切にジオリファレンスされるようにできます。
-
[統計情報の計算] パラメータをオンにすると、内部空間インデックス構造が提供され、LAS データセットの全体的なパフォーマンスが向上します。統計情報を計算すると、各 LAS ファイルに *.lasx 補助ファイルが作成され、LAS ファイルと一緒にディスク上に保存されます。統計情報の計算は、LAS 補助ファイル(*.lasx)がない LAS ファイル、または LAS 補助ファイルが古くなっている 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 のファイルで使用されている分類コードは、データ ベンダによって定義され、補助情報を通じて提供されます。
-
各LAS ファイルは検査されて、その内部構造が LAS の仕様に準拠しているか判断されます。LAS ファイルが、LAS データセットの読み込みに失敗した場合、これは、ファイルが破損しているか、ヘッダー情報にエラーがあることを示します。CheckLAS ユーティリティを使用して、発生頻度の高い問題がデータに存在しているか確認することをご検討ください。
-
LAS ファイルが、LAS データセットを使用して表示されるにもかかわらず、正しい場所に表示されない場合、ヘッダーに格納されている投影情報が適切でない可能性があります。このような場合、問題なく動作する空間参照がわかっているのであれば、その PRJ ファイルを作成することで LAS ファイルに投影法を割り当てられます。「Define LAS Projection tool from the LAS Dataset Tools sample」のツールの使用をご検討ください。
構文
パラメータ | 説明 | データ タイプ |
input [input,...] |
LAS ファイルおよび LAS データセットから参照される LAS ファイルを含むフォルダ。この情報はすべての入力データを含む 1 つの文字列、または各データ要素を含む文字列のリストとして提供されます(たとえば、"lidar1.las; lidar2.las; folder1; folder2" または ["lidar1.las", "lidar2.las", "folder1", "folder2"])。リストを指定して入力する方法の詳細については、「ツール構文の理解」をご参照ください。 | File; Folder |
out_las_dataset |
作成される LAS データセット。 | LAS Dataset |
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 |
spatial_reference (オプション) |
LAS データセットの空間参照。空間参照が明示的に割り当てられていない場合には、LAS データセットは最初の LAS ファイルの座標系を使用します。入力ファイルが空間参照の情報を含まず、入力座標系が設定されていない場合には、LAS データセットの座標系は不明と表示されます。 | Coordinate System |
compute_stats (オプション) |
LAS ファイルの統計情報を計算するかどうかと、LAS データセットに生成される空間インデックスを指定します。統計情報が存在することにより、LAS データセット レイヤのフィルタおよびシンボル オプションで、LAS ファイル内に存在する LAS 属性値のみを表示できます。*.lasx 補助ファイルを各 LAS ファイルに作成します。
| Boolean |
relative_paths (オプション) |
LAS データセットが LIDAR ファイルとサーフェス制御フィーチャを、相対パスまたは絶対パスのどちらを使用して参照するかを指定します。LAS データセットとそれに関連付けられたデータが互いに同じ相対位置を維持してファイルシステム内で移動される場合には、相対パスの使用が便利です。
| Boolean |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.CreateLasDataset_management("folder_a; folder_b/5S4E.las",
"test.lasd", "RECURSION",
"LA/boundary.shp <None> Softclip;"\
"LA/ridges.shp Elevation hardline", "",
"COMPUTE_STATS", "RELATIVE_PATHS")
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''*********************************************************************
Name: Export Elevation Raster from Ground LAS Measurements
Description: This script demonstrates how to export
ground measurements from LAS files to a raster using a
LAS dataset. This sample is designed to be used as a script
tool.
*********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
try:
# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
surfCons = arcpy.GetParameterAsText(2)
classCode = arcpy.GetParameterAsText(3)
returnValue = arcpy.GetParameterAsText(4)
spatialRef = arcpy.GetParameterAsText(5)
lasD = arcpy.GetParameterAsText(6)
outRaster = arcpy.GetParameterAsText(7)
cellSize = arcpy.GetParameter(8)
zFactor = arcpy.GetParameter(9)
if arcpy.ProductInfo == 'ArcView':
arcpy.CheckOutExtension('3D')
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasD, recursion, surfCons, sr)
# Execute MakeLasDatasetLayer
lasLyr = arcpy.CreateUniqueName('Baltimore')
arcpy.management.MakeLasDatasetLayer(lasD, lasLyr, classCode, returnValue)
# Execute LasDatasetToRaster
arcpy.conversion.LasDatasetToRaster(lasLyr, outRaster, 'ELEVATION',
'TRIANGULATION LINEAR WINDOW_SIZE 10', 'FLOAT',
'CELLSIZE', cellSize, zFactor)
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)
finally:
arcpy.management.Delete(lasLyr)