サマリー
LAS ポイントにフィルターを適用し、サーフェス制御フィーチャの適用をコントロールできる LAS データセット レイヤーを作成します。
使用法
LAS データセット レイヤーは、LIDAR データをフィルタリングした後で解析を実行するために使用できます。たとえば、地表面の測量値を示すクラス コード 2 を対象としてフィルタリングした後、[LAS データセット → ラスター (LAS Dataset To Raster)] ツールの入力として結果レイヤーを使用することで、デジタル標高モデル (DEM) を簡単に作成できます。
-
LAS 形式は、ASPRS (American Society for Photogrammetry and Remote Sensing) によって定義された仕様に基づいて各ポイントの分類をサポートします。ArcGIS プラットフォームは、LAS ファイル バージョン 1.4 で規定されている以下の分類方式を適用します。
分類値 分類タイプ 0
分類不可
1
未割り当て
2
地表
3
低植生
4
中植生
5
高植生
6
建物
7
低ノイズ
8
モデル キー/予約
9
水資源・水道
10
レール
11
路面
12
オーバーラップ/予約
13
保護線
14
電線
15
送電塔
16
ワイヤー コネクタ
17
橋床版
18
高ノイズ
19 ~ 63
ASPRS 定義用の予約 (LAS 1.1 〜 1.3 はクラス コード 31 までをサポート)
32 ~ 255
ユーザー定義可能 (LAS 1.0 および 1.4 の特定バージョンでのみサポートされる)
構文
MakeLasDatasetLayer_management (in_las_dataset, out_layer, {class_code}, {return_values}, {no_flag}, {synthetic}, {keypoint}, {withheld}, {surface_constraints})
パラメーター | 説明 | データ タイプ |
in_las_dataset | 処理対象の LAS データセット。 | LAS Dataset Layer |
out_layer | 作成される LAS データセット レイヤーの名前。バックスラッシュまたはスラッシュを使用して、グループ レイヤーを示すことができます。 | LAS Dataset Layer |
class_code [class_code,...] (オプション) | 分類コードで LAS ポイントをフィルタリングできます。有効な値の範囲は、LAS データセットが参照する LAS ファイルのバージョンがサポートしているクラス コードによって変わります。デフォルトでは、すべてのクラス コードが選択されます。
| String |
return_values [return_values,...] (オプション) | LAS ポイントのフィルタリングに使用するリターンを指定します。何も指定されていない場合は、すべてのリターンが使用されます。
| String |
no_flag (オプション) | 分類フラグが割り当てられていないデータ ポイントを表示および解析のために有効化するかどうかを示します。
| Boolean |
synthetic (オプション) | Synthetic のフラグが設定されたデータ ポイント、つまり LIDAR 以外のデータ ソースからのポイントを表示および解析のために有効化するかどうかを示します。
| Boolean |
keypoint (オプション) | モデル キー ポイントのフラグが設定されたデータ ポイント、つまり間引きの対象外の重要な測定値を表示および解析のために有効化するかどうかを示します。
| Boolean |
withheld (オプション) | Withheld のフラグが設定されたデータ ポイント (通常は、不要なノイズ測定値を示す) を表示および解析のために有効化するかどうかを示します。
| Boolean |
surface_constraints [surface_constraints,...] (オプション) | レイヤー内で有効化されるサーフェス制御フィーチャの名前。すべてのサーフェス制御がデフォルトで有効となります。 | String |
コードのサンプル
MakeLasDatasetLayer (LAS データセット レイヤーの作成) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.MakeLasDatasetLayer_management('Baltimore.lasd', 'Baltimore Layer',
2, 'LAST', 'INCLUDE_UNFLAGGED',
'EXCLUDE_SYNTHETIC', 'INCLUDE_KEYPOINT',
'EXCLUDE_WITHHELD')
MakeLasDatasetLayer (LAS データセット レイヤーの作成) の例 2 (スタンドアロン スクリプト)
次のサンプルは、スタンドアロン 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
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 Exception as err:
print(err.args[0])
finally:
arcpy.management.Delete(lasLyr)
環境
ライセンス情報
- ArcGIS Desktop Basic: はい
- ArcGIS Desktop Standard: はい
- ArcGIS Desktop Advanced: はい