LAS データセット → ラスタ(LAS Dataset to Raster) (変換)
サマリ
LAS データセットが参照する lidar ファイル(*.las)に格納された高さ、強度、あるいは RGB の値を使用してラスタを作成します。
図
使用法
LAS データセットを入力として指定すると、それが参照する LAS ファイルのすべてのデータ ポイントが処理されます。
LAS データセット レイヤを使用すると、LAS ポイントをクラス コードやリターンでフィルタ処理できます。レイヤを作成するには、[LAS データセット レイヤの作成(Make LAS Dataset Layer)] ツールを使用するか、ArcMap または ArcScene に LAS データセットを読み込んで、レイヤ プロパティ ダイアログ ボックスからクラス コードまたはリターンを指定します。
-
大規模なラスタをエクスポートする場合、Z 値の精度要件を整数データで表現できるようであれば、[出力データ タイプ] を整数に指定して、ディスク容量を節約することを検討してください。
分析範囲の境界をクリップ制限として入力 LAS データセットの定義に含めることを強くお勧めします。その理由の 1 つは、調査する実データの範囲外で内挿が起こらないようにするためです。次に、データ範囲が正しく定義されていないときに Natural Neighbor 法を使うと著しくパフォーマンスが低下する可能性があるからです。
注意:ラスタ化を使うと、クリップ制限、消去制限ならびに置換制限のみが使用されます。しかしブレークラインとアンカー位置は使用されません。TIN 化のオプションを使うとすべての制限を使用できますが実行に長い時間がかかります。
構文
パラメータ | 説明 | データ タイプ |
in_las_dataset |
入力 LAS データセット。 | LAS Dataset Layer |
out_raster |
出力ラスタの場所と名前。ジオデータベースまたは Esri Grid などのフォルダにラスタ データセットを格納する場合、ラスタ データセットの名前にファイル拡張子は付けません。ラスタをフォルダに格納するときにその形式を定義するためにファイル拡張子を付けることはできます。
ラスタを TIFF ファイルとして、またはジオデータベースに格納する場合は、ジオプロセシング環境設定を使用して、そのラスタ圧縮のタイプと品質を指定できます。 | Raster Dataset |
value_field (オプション) |
ラスタ出力を生成する際に用いられる lidar 情報を指定します。
| String |
interpolation_type "BINNING {cell_assignment_type} {void_fill_method}" or "TRIANGULATION {interpolation_method} {point_thinning_type} {point_selection_method} {resolution}" (オプション) |
ラスタの生成に使用する内挿法。 ラスタ化 - セル値はその範囲内に配置されたポイントによって得られるが、セルによってはその範囲内にポイントが含まれません。この手法では、次のオプションが利用できます。
TIN 化 - LAS データセットで TIN 化を意味するところから計測を内挿することによりセル値が得られます。この手法では、次のオプションが利用できます。
| String |
data_type (オプション) |
出力ラスタのデータ タイプは、以下のキーワードで定義できます。
| String |
sampling_type (オプション) |
出力ラスタの解像度を定義するために、[サンプリング値] の解釈に使用する方法を指定します。
| String |
sampling_value (オプション) |
[サンプリング タイプ] と組み合わせて、出力ラスタの解像度を定義するために使用される値を指定します。 | Double |
z_factor (オプション) |
標高値に乗算する係数。一般的には、Z の距離単位を変換して、XY の距離単位に一致させるために使用されます。デフォルトは 1 です。この場合、標高値は変更されません。 | Double |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.LasDatasetToRaster_3d('baltimore.lasd', 'baltimore.tif', 'INTENSITY',
'TRIANGULATION LINEAR WINDOW_SIZE 10', 'FLOAT',
'CELLSIZE', 10, 3.28)
次のサンプルは、スタンドアロン 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)