LAS タイルの作成 (Tile LAS) (3D Analyst)

概要

水平範囲が一定グリッドで分割されている、オーバーラップしない LAS ファイル セットを作成します。

使用法

  • タイル操作では、適用されるレイヤー フィルター設定にかかわらず、タイル化される LAS データセットの処理範囲に存在するすべてのポイントが保持されます。フィルタリングが必要な場合、LAS データセットをタイル化する前または後に [LAS の抽出 (Extract LAS)] ツールを使用することを検討してください。

  • サイズが 500 MB を超える大きな LAS ファイルを分割すると、空間クラスターのデータの読み取りを利用する操作 (サーフェスの作成を必要とする解析操作、データの視覚化操作など) のパフォーマンスが向上します。デフォルトのタイル スキーマは、250 MB というターゲット サイズの制限によって定義された幅と高さで、四角形のタイルを作成します。1 つのタイルのエリア内に複数の LAS ファイルがある場合、そのポイントは出力ファイルにマージされます。

  • オーバーラップする範囲のある LAS ファイルから構成される LAS データセットでは、ファイルごとの解析を利用する操作で不正確な結果が発生する可能性があります。たとえば、ポイント間隔の推定は、各ファイル内のカバレッジ エリアにおけるポイント解析によって取得されるため、オーバーラップ領域のポイントの影響を調整するメカニズムがありません。同様に、[LAS の間引き (Thin LAS)] ツールもファイルごとの処理を利用するため、ファイルのオーバーラップが存在する領域で、結果が期待どおりの出力になりません。

  • LAS ポイントを整理すると、LIDAR データが空間的にクラスター化され、解析操作を視覚化または実行するときのパフォーマンスが向上します。このプロセスでは、一時ファイルを作成する必要があります。この処理速度を向上するには、環境設定で [テンポラリ ワークスペース] として SSD 上のフォルダーを指定することを検討してください。

  • LAS データがすでに分類され、アーカイブまたは配布が可能な状態の場合は、ZLAS 圧縮を指定することを検討してください。ZLAS ファイルは編集も再分類もできませんが、通常、およそ圧縮前の LAS ファイルの 1/3 のサイズに縮小されます。

  • LAS タイルは、次のいずれかの方法で定義できます。

    • 非圧縮の LAS ファイルのターゲット ファイル サイズを指定します。このサイズは、範囲全体にポイントが均等に分散している LAS タイルの推定値です。
    • タイルの幅と高さを指定します。
    • タイル スキーマを定義する入力フィーチャを指定します。各ポリゴンは長方形で、幅と高さは一定です。[フィッシュネットの作成 (Create Fishnet)] ツールまたは [テッセレーションの生成 (Generate Tessellation)] ツールを使用すると、LAS データの範囲とオーバーラップするタイル化されたポリゴンを作成できます。カスタム LAS タイルは、入力フィーチャを使用し、[命名方法] パラメーターでテキスト フィールドを選択することで、割り当てることができます。
  • 出力 LAS タイルは、環境設定で [出力座標系] を指定するか、元の LAS ファイルとは空間参照が異なる入力フィーチャを使用することで、再投影できます。Z 測地基準系変換は、鉛直測地基準系変換グリッドがインストールされている場合にのみ実行できます。

  • このツールを使用すると、入力 LAS データセットの範囲よりも大きいタイル サイズを指定して、複数のファイルに分布された LAS ポイントを 1 つの LAS ファイルにマージできます。

構文

arcpy.3d.TileLas(in_las_dataset, target_folder, {base_name}, {out_las_dataset}, {compute_stats}, {las_version}, {point_format}, {compression}, {las_options}, {tile_feature}, {naming_method}, {file_size}, {tile_width}, {tile_height}, {tile_origin})
パラメーター説明データ タイプ
in_las_dataset

処理対象の LAS データセット。

LAS Dataset Layer
target_folder

タイル化された LAS ファイルが書き込まれるフォルダー。

Folder
base_name
(オプション)

各出力ファイルの先頭に付く名前。

String
out_las_dataset
(オプション)

このツールによって作成されるタイル化された LAS ファイルを参照する新しい LAS データセット。これはオプションです。

LAS Dataset
compute_stats
(オプション)

LAS データセットで参照されている LAS ファイルの統計情報を計算するかどうかを指定します。統計情報を計算することで、LAS ファイルごとの空間インデックスが提供され、解析と表示のパフォーマンスが向上します。また統計によって、分類コードやリターン情報などの LAS 属性の表示が LAS ファイルに存在する値に制限されるので、フィルタリングとシンボルのエクスペリエンスも強化されます。

  • COMPUTE_STATS統計情報を計算します。
  • NO_COMPUTE_STATS統計情報を計算しません。これがデフォルトです。
Boolean
las_version
(オプション)

各出力ファイルの LAS ファイル バージョンを指定します。デフォルトは 1.4 です。

  • 1.0このバージョンは、256 の一意のクラス コードをサポートしましたが、事前定義された分類スキーマはありませんでした。
  • 1.1このバージョンには、事前定義された分類スキーマ、0 と 1 のポイント記録形式、LIDAR センサー以外のソースから取得されたポイントの合成分類フラグが導入されています。
  • 1.2このバージョンは、ポイント レコード 2 および 3 で GPS 時間と RGB レコードをサポートしました。
  • 1.3このバージョンには、波長データのポイント レコード 4 と 5 のサポートが追加されました。ただし、ArcGIS では波長情報は読めません。
  • 1.4このバージョンは、新しいクラス定義、256 の一意のクラス コード、オーバーラップ分類フラグとともに、ポイント レコード形式 6 ~ 10 を導入しました。
String
point_format
(オプション)

出力 LAS ファイルのポイント レコード形式。使用できるオプションは、point_format パラメーターで指定されている LAS ファイル バージョンによって異なります。

Long
compression
(オプション)

出力 LAS ファイルを圧縮形式にするか、標準の LAS 形式にするかを指定します。

  • NO_COMPRESSION出力は標準の LAS 形式 (**.las ファイル) になります。これがデフォルトです。
  • ZLAS出力 LAS ファイルは zLAS 形式で圧縮されます。
String
las_options
[las_options,...]
(オプション)

出力 LAS ファイルに対するオプションの変更のリスト。

  • REARRANGE_POINTS空間クラスタリングに従い、LAS ポイントが整理されます。
  • REMOVE_VLRヘッダーの後に追加された可変長レコードと各ファイルのポイント レコードが削除されます。
  • REMOVE_EXTRA_BYTES入力 LAS ファイル内の各ポイント レコードとともに存在する余分なバイトが削除されます。
String
tile_feature
(オプション)

LIDAR データのタイルを作成するときに使用されるタイルの幅と高さを定義するポリゴン フィーチャ。ポリゴンは長方形と見なされ、最初のフィーチャの範囲がタイルの幅と高さの定義に使用されます。

Feature Layer
naming_method
(オプション)

各出力タイルの命名方法を指定します。入力フィーチャが [tile_feature] パラメーターで指定される場合、そのテキストまたは数値フィールド名も出力 LAS ファイル名を定義するためのソースとして指定されます。この名前は、[base_name] パラメーターで定義されたテキストの後に追加されます。次の自動生成された命名方法がサポートされています。

  • XY_COORDS各タイルの中心の X 座標と Y 座標が追加されます。これがデフォルトです。
  • ROW_COLUMN全体のタイル スキーマにおけるタイルのロウとカラムに基づいて、タイル名が割り当てられます。ロウは上から下、カラムは左から右に増加します。
  • ORDINAL最初のタイルは 1、2 番目のタイルは 2 というように、作成順序に基づいてタイル名が割り当てられます。
String
file_size
(オプション)

この値はメガバイトで表現され、範囲全体にポイントが均等に分散している出力 LAS タイルにおける、非圧縮ファイルのサイズの上限を表します。デフォルト値は 250 で、この値を使用してタイルの幅と高さが推定されます。このパラメーターは、tile_feature または tile_width および tile_height パラメーターの値が指定されている場合、無視されます。

Double
tile_width
(オプション)

各タイルの幅。タイルの幅と高さの値が指定されている場合、file_size パラメーターは無効化されます。入力フィーチャが tile_feature パラメーターで指定されている場合、タイルの幅は、最初のフィーチャの幅から取得され、このパラメーターは無効化されます。

Linear Unit
tile_height
(オプション)

各タイルの高さ。タイルの幅と高さの値が指定されている場合、file_size パラメーターは無効化されます。入力フィーチャが tile_feature パラメーターで指定されている場合、タイルの高さは、最初のフィーチャの高さから取得され、このパラメーターは無効化されます。

Linear Unit
tile_origin
(オプション)

タイル グリッドの原点の座標。デフォルト値は、入力 LAS データセットの左下隅から取得されます。入力フィーチャが tile_feature パラメーターで指定されている場合、原点は、最初のフィーチャの左下隅から継承され、このパラメーターは無効化されます。

Point

派生した出力

名前説明データ タイプ
out_folder

出力 LAS ファイルが書き込まれるフォルダー。

フォルダー

コードのサンプル

TileLas (LAS タイルの作成) の例 1 (Python ウィンドウ)

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

arcpy.env.workspace = 'C:/data'

arcpy.ddd.TileLas('Denver_2', basename='2014_', out_las_dataset='Denver_2014.lasd', 
                  las_version='1.4', point_format=6, compression='ZLAS Compression', 
                  las_options=['Rearrange points'], naming_method='ROW_COLUMN', file_size=300)
TileLas (LAS タイルの作成) の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。

'''****************************************************************************
       Name: Tile LAS File
Description: Creates tiled LAS files form an untiled collection.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math

in_las = arcpy.GetParameterAsText(1) # The LAS files that need to be tiled
out_folder = arcpy.GetParameterAsText(2) # folder for LAS files
basename = arcpy.GetParameterAsText(3) # basename for output files
out_lasd = arcpy.GetParameterAsText(4) # output LAS dataset


try:
    # Create temp LAS dataset to reference LAS files that will be tiled
    temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
    arcpy.management.CreateLasDataset(in_las, temp_lasd)
    arcpy.ddd.TileLas(temp_lasd, out_folder, basename, out_lasd, las_version=1.4, 
                      point_format=7, file_size=300)
    arcpy.management.Delete(temp_lasd)
    arcpy.ddd.ClassifyLasGround(out_lasd, method='AGGRESSIVE')
    arcpy.ddd.ClassifyLasBuilding(out_lasd, min_height='3 Meters', min_area='4 Meters')
    arcpy.ddd.ClassifyLasByHeight(out_lasd, height_classification=[(3, 6), (4,20), (5,70)],
                                  noise='All Noise', compute_stats='COMPUTE_STATS')

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

ライセンス情報

  • Basic: 次のものが必要 3D Analyst
  • Standard: 次のものが必要 3D Analyst
  • Advanced: 次のものが必要 3D Analyst

関連トピック