サマリ
LAS ポイントにフィルターを適用し、サーフェス制御フィーチャの適用をコントロールできる LAS データセット レイヤーを作成します。
使用法
- LAS データセット レイヤーは、以下の解析の中間データとして使用することができます。たとえば、[LAS データセット → ラスター (LAS Dataset To Raster)] ツールに結果レイヤーとして地表面の測量値をしめしたクラス コード 2 を対象としてフィルタリングすることで、LIDAR からデジタル標高モデル (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}, {overlap})| パラメータ | 説明 | データ タイプ | 
| in_las_dataset | 処理対象の LAS データセット。 | LAS Dataset Layer | 
| out_layer | 作成される LAS データセット レイヤーの名前。バックスラッシュまたはスラッシュを使用して、グループ レイヤーを示すことができます。 | Las Dataset Layer | 
| class_code [class_code,...] (オプション) | 分類コードで LAS ポイントをフィルタリングできます。有効な値の範囲は、LAS データセットが参照する LAS ファイルのバージョンがサポートしているクラス コードによって変わります。デフォルトでは、すべてのクラス コードが選択されます。 
 | Long | 
| return_values [return_values,...] (オプション) | LAS ポイントのフィルタリングに使用するリターンを指定します。何も指定されていない場合は、すべてのリターンが使用されます。 
 | String | 
| no_flag (オプション) | 分類フラグが割り当てられていないデータ ポイントを表示および解析のために有効化するかどうかを示します。 
 | Boolean | 
| synthetic (オプション) | Synthetic のフラグが設定されたデータ ポイント、つまり LIDAR 以外のデータ ソースからのポイントを表示および解析のために有効化するかどうかを示します。 
 | Boolean | 
| keypoint (オプション) | モデル キー ポイントのフラグが設定されたデータ ポイント、つまり間引きの対象外の重要な測定値を表示および解析のために有効化するかどうかを示します。 
 | Boolean | 
| withheld (オプション) | Withheld のフラグが設定されたデータ ポイント (通常は、不要なノイズ測定値を示す) を表示および解析のために有効化するかどうかを示します。 
 | Boolean | 
| surface_constraints [surface_constraints,...] (オプション) | レイヤー内で有効化されるサーフェス制御フィーチャの名前。すべてのサーフェス制御がデフォルトで有効となります。 | String | 
| overlap (オプション) | オーバーラップとしてフラグが設定されたデータ ポイントを表示および解析のために有効化するかどうかを示します。 
 | Boolean | 
コードのサンプル
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 for Desktop Basic: ○
- ArcGIS for Desktop Standard: ○
- ArcGIS for Desktop Advanced: ○