概要
1 つ以上の LIDAR ファイルを使用してマルチポイント フィーチャを作成します。
図
使用法
このツールは、バージョン 1.0 〜 1.4 の ZLAS ファイルおよび LAS ファイルをサポートしています。
-
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 の特定バージョンでのみサポートされる)
LAS 形式は、LIDAR ポイントごとの、事前に定義された多数の属性の格納をサポートしています。特定の LAS ファイルのコレクションで使用できる属性がわからない場合は、LAS データセットを使用して LAS ファイルのプロパティを確認することを検討してください。
複数の LAS 属性を Oracle データベースに読み込む場合は、パラメーター attribute_binary のすべての DBTUNE キーワードが LONGRAW ではなく BLOB (Binary Large Object) を使用するように設定されている必要があります。LAS 属性は BLOB として読み込まれますが、Oracle では LONGRAW 表で複数の BLOB をサポートしていないためです。詳細については、Oracle データベース管理者に問い合わせてください。
構文
arcpy.ddd.LASToMultipoint(input, out_feature_class, average_point_spacing, {class_code}, {return}, {attribute}, {input_coordinate_system}, {file_suffix}, {z_factor}, {folder_recursion})
パラメーター | 説明 | データ タイプ |
input [input,...] | マルチポイント フィーチャクラスにインポートされる LAS または ZLAS ファイル。フォルダーを指定した場合、そのフォルダーにあるすべての LAS ファイルがインポートされます。 Windows エクスプローラーでフォルダーを選択して、パラメーターの入力ボックスにドラッグすると、ツール ダイアログ ウィンドウでフォルダーを指定することもできます。 | Folder; File |
out_feature_class | このツールで生成されるフィーチャクラス。 | Feature Class |
average_point_spacing | 入力ファイル (複数可) 内のポイント間の平均 2D 距離。この値は概算値で構いません。さまざまな密度で面積がサンプリングされている場合、小さいほうの間隔を指定します。この値は、出力座標系の投影単位で設定する必要があります。 | Double |
class_code [class_code,...] (オプション) | LAS データ ポイントのクエリ フィルターとして使用する分類コード。有効な値の範囲は 1 〜 32 です。デフォルトではフィルターは適用されません。 | Long |
return [return,...] (オプション) | マルチポイント フィーチャにインポートされる LAS ポイントのフィルタリングに使用されるリターン。
| String |
attribute [[keyword, name],...] (オプション) | 出力の属性テーブル内の BLOB (Binary Large Object) フィールドに格納される値を持つ LAS ポイント プロパティ。生成されるフィーチャがテレイン データセットに属する場合は、格納された属性を使用してテレインをシンボル表示できます。[名前] 列は、指定した属性の格納に使用されるフィールドの名前を示します。以下の LAS プロパティがサポートされています。
| Value Table |
input_coordinate_system (オプション) | 入力 LAS ファイルの座標系。 | Coordinate System |
file_suffix (オプション) | 入力フォルダーからインポートするファイルの接尾辞。フォルダーが入力として指定されている場合は、このパラメーターが必要です。 | String |
z_factor (オプション) | Z 値に乗算する係数。これは通常、Z リニア単位から XY リニア単位に変換する場合に使用されます。デフォルトは 1 です。この場合、標高値は変更されません。入力サーフェスの空間参照に距離単位の指定された Z 測地基準系がある場合、このパラメーターは無効になります。 | Double |
folder_recursion (オプション) | サブフォルダー ディレクトリにデータの格納された入力フォルダーが選択されたときに、サブフォルダーまでスキャンします。出力フィーチャクラスは、ディレクトリ構造で検出された各ファイルの行で生成されます。
| Boolean |
コードのサンプル
LASToMultipoint (LAS → マルチポイント) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.LASToMultipoint_3d("001.las", "Test.gdb/feature_dataset/sample_1", 1.5,
"2", "ANY_RETURNS", "INTENSITY", "Coordinate Systems"\
"/Projected Coordinate Systems/UTM/NAD 1983/NAD 1983 "\
"UTM Zone 17N.prj", "las", 1)
LASToMultipoint (LAS → マルチポイント) の例 2 (スタンドアロン スクリプト)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: Define Data Boundary of LAS File
Description: This script demonstrates how to delineate data boundaries of
LAS files with irregularly clustered points. It is intended for
use as a script tool with one input LAS file.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set local variables
inLas = arcpy.GetParameterAsText(0) #input LAS file
ptSpacing = arcpy.GetParameterAsText(1) # LAS point spacing
classCode = arcpy.GetParameterAsText(2) # List of integers
returnValue = arcpy.GetParameterAsText(3) # List of strings
outTin = arcpy.GetParameterAsText(4) # TIN created to delineate data area
outBoundary = arcpy.GetParameterAsText(5) # Polygon boundary file
try:
arcpy.CheckOutExtension("3D")
# Execute LASToMultipoint
arcpy.AddMessage("Creating multipoint features from LAS...")
lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code,
"ANY_RETURNS", "", sr, inFormat, zfactor)
# Execute CreateTin
arcpy.AddMessage("Creating TIN dataset...")
arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
.format(lasMP), "Delaunay")
# Execute CopyTin
arcpy.AddMessage("Copying TIN to delineate data boundary...")
arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
# Execute DelineateTinDataArea
arcpy.AddMessage("Delineating TIN boundary...")
maxEdge = ptSpacing * 4
arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
# Execute TinDomain
arcpy.AddMessage("Exporting data area to polygon boundary...")
arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
arcpy.AddMessage("Finished")
arcpy.CheckInExtension("3D")
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)
環境
ライセンス情報
- Basic: 次のものが必要 3D Analyst
- Standard: 次のものが必要 3D Analyst
- Advanced: 次のものが必要 3D Analyst