LAS データセットの作成(Create 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 のファイルで使用されている分類コードは、データ ベンダによって定義され、補助情報を通じて提供されます。
構文
パラメータ | 説明 | データ タイプ |
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 属性値のみを表示できます。
| Boolean |
relative_paths (オプション) |
LAS データセットが LIDAR ファイルとサーフェス制御フィーチャを、相対パスまたは絶対パスのどちらを使用して参照するかを指定します。LAS データセットとそれに関連付けられたデータが互いに同じ相対位置を維持してファイルシステム内で移動される場合には、相対パスの使用が便利です。
| Boolean |
コードのサンプル
The following sample demonstrates how to use this tool in the Python window:
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")
The following sample demonstrates how to use this tool in a stand-alone Python script:
'''*********************************************************************
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)