サマリー
水平範囲が一定グリッドで分割されている、オーバーラップしない LAS ファイル セットを作成します。
使用法
サイズが 500 MB を超える大きな LAS ファイルを分割すると、空間クラスターのデータの読み取りを利用する操作 (サーフェスの作成を必要とする解析操作、データの視覚化操作など) のパフォーマンスが向上します。デフォルトのタイル スキーマは、250 MB というターゲット サイズの制限によって定義された幅と高さで、四角形のタイルを作成します。1 つのタイルのエリア内に複数の LAS ファイルがある場合、そのポイントは出力ファイルにマージされます。
オーバーラップする範囲のある LAS ファイルから構成される LAS データセットでは、ファイルごとの解析を利用する操作で不正確な結果が発生する可能性があります。たとえば、ポイント間隔の推定は、各ファイル内のカバレッジ エリアにおけるポイント解析によって取得されるため、オーバーラップ領域のポイントの影響を調整するメカニズムがありません。同様に、[LAS の間引き (Thin LAS)] ツールもファイルごとの処理を利用するため、ファイルのオーバーラップが存在する領域で、結果が期待どおりの出力になりません。
LAS ポイントを整理すると、LIDAR データが空間的にクラスター化され、解析操作を視覚化または実行するときのパフォーマンスが向上します。このプロセスでは、一時ファイルを作成する必要があります。この処理速度を向上するには、環境設定で [テンポラリ ワークスペース] として SSD 上のフォルダーを指定することを検討してください。
LIDAR データがすでに分類され、アーカイブまたは配布が可能な状態の場合は、ZLAS 圧縮を指定することを検討してください。ZLAS ファイルは編集も再分類もできませんが、通常、およそ圧縮前の LAS ファイルの 1/3 のサイズに縮小されます。
LAS タイルは、次のいずれかの方法で定義できます。
- 非圧縮の LAS ファイルのターゲット ファイル サイズを指定します。このサイズは、範囲全体にポイントが均等に分散している LAS タイルの推定値です。
- タイルの幅と高さを指定します。
- タイル スキーマを定義する入力フィーチャを指定します。各ポリゴンは長方形で、幅と高さは一定です。[フィッシュネットの作成 (Create Fishnet)] ツールまたは [テッセレーションの生成 (Generate Tessellation)] ツールを使用すると、LAS データの範囲とオーバーラップするタイル化されたポリゴンを作成できます。カスタム LAS タイルは、入力フィーチャを使用し、[命名方法] パラメーターでテキスト フィールドを選択することで、割り当てることができます。
出力 LAS タイルは、環境設定で [出力座標系] を指定するか、元の LAS ファイルとは空間参照が異なる入力フィーチャを使用することで、再投影できます。
構文
TileLas_3d (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 属性値のみを表示できます。
| Boolean |
las_version (オプション) | 各出力ファイルの LAS ファイル バージョン。デフォルトは 1.4 です。
| String |
point_format (オプション) | 出力 LAS ファイルのポイント レコード形式。使用できるオプションは、point_format パラメーターで指定されている LAS ファイル バージョンによって異なります。 | Long |
compression (オプション) | 出力 LAS ファイルを圧縮形式にするか、標準の LAS 形式にするかを指定します。
| String |
las_options [las_options,...] (オプション) | 出力 LAS ファイルに対するオプションの変更のリスト。
| String |
tile_feature (オプション) | LIDAR データのタイルを作成するときに使用されるタイルの幅と高さを定義するポリゴン フィーチャ。ポリゴンは長方形と見なされ、最初のフィーチャの範囲がタイルの幅と高さの定義に使用されます。 | Feature Layer |
naming_method (オプション) | 各出力タイルの命名方法を定義します。入力フィーチャが [tile_feature] パラメーターで指定される場合、そのテキストまたは数値フィールド名も出力 LAS ファイル名を定義するためのソースとして指定されます。この名前は、[base_name] パラメーターで定義されたテキストの後に追加されます。次の自動生成命名規則がサポートされています。
| 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())
環境
ライセンス情報
- ArcGIS Desktop Basic: 次のものが必要 3D Analyst
- ArcGIS Desktop Standard: 次のものが必要 3D Analyst
- ArcGIS Desktop Advanced: 次のものが必要 3D Analyst