LAS → マルチポイント(LAS to Multipoint) (3D Analyst)
サマリ
This tool imports one or more files in LAS format, the industry standard for lidar data, into a new multipoint feature class. Supported LAS file format versions are 1.0, 1.1, and 1.2.
使用法
LAS ポイントは、地表または地面、樹冠頂上、水域などを含む多くのカテゴリに分類できます。さまざまなクラスの定義には、整数値のコードを使用します。あいにく、LAS 1.0 仕様には事前定義された分類スキーマがなく、ポイントによって使用されるクラス コード(存在する場合)をまとめたファイルもありません。この情報はデータ プロバイダから入手する必要があります。
LAS 1.1 または 1.2 仕様を操作している場合は、必要なデータ カテゴリについて、American Society for Photogrammetry and Remote Sensing(ASPRS)によって事前定義された分類スキーマをご参照ください。以下の表に、ASPR によって定義された LAS バージョン 1.2 に基づく LAS クラス コードを示します。
事前定義された LAS ポイントを LAS ファイル(複数可)からインポートするために、これらを [入力クラス コード] パラメータで指定できます。
ASPRS 標準の LiDAR ポイント クラス分類値
意味
0
作成されているが分類不可
1
未分類
2
地面
3
低位植生
4
中間植生
5
高位植生
6
建物
7
低地ポイント(ノイズ)
8
モデル キー ポイント(標高点)
9
水域
10
ASPRS 定義のために予約されている
11
ASPRS 定義のために予約されている
12
オーバーラップ ポイント
13-31
ASPRS 定義のために予約されている
-
サポートされている LAS バージョンは 1.0、1.1、および 1.2 です。
-
リターン番号に基づくポイントのインポートに関心がない場合、またはポイントがフィルタ処理または分類されているため、ファイルで指定されたすべてのリターンが 0 に設定されている場合は、[ANY_RETURNS] をオンにします。
-
複数の LAS 属性を Oracle データベースに読み込む場合は、パラメータ attribute_binary のすべての DBTUNE キーワードが LONGRAW ではなく BLOB(Binary Large Object)を使用するように設定されている必要があります。その理由は、LAS 属性は BLOB として読み込まれますが、Oracle では LONGRAW 表で複数の BLOB をサポートしていないためです。詳細については、Oracle データベース管理者に問い合わせてください。
構文
パラメータ | 説明 | データ タイプ |
input |
One or more files or folders with data in the LAS version 1.0, 1.1, and 1.2 format. The LAS format is the industry standard for lidar data. | Folder; File |
out_feature_class |
The newly created multipoint feature class to which lidar points are added. | Feature Class |
average_point_spacing |
The average 2D distance between points in the input file or files. This can be an approximation. If areas have been sampled at different densities, specify the smaller spacing. The value needs to be provided in the projection units of the output coordinate system. | Double |
class_code (オプション) |
Numeric classification codes to use as a query filter. The default is no filter. | Long |
return (オプション) |
The return values used as a query filter. Valid return values are 1-5, LAST_RETURNS, and ANY_RETURNS. The default is ANY_RETURNS. | String |
attribute (オプション) |
One or more LAS attributes to load and store and optionally the field names to use. The default is none. Supported attribute keywords are INTENSITY, RETURN_NUMBER, NUMBER_OF_RETURNS, SCAN_DIRECTION_FLAG, EDGE_OF_FLIGHTLINE, CLASSIFICATION, SCAN_ANGLE_RANK, FILE_MARKER, USER_BIT_FIELD, and GPS_TIME. | String |
input_coordinate_system (オプション) |
The coordinate system of the input LAS file. This defaults to that specified in the LAS file. If for some reason it's not defined in the file but you know what it is, provide it here. | Coordinate system |
file_suffix (オプション) |
The suffix of the files to import when a folder is specified on input. | String |
z_factor (オプション) |
Specifies a factor by which to multiply the surface heights. Used to convert z units to x and y units. | Double |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで LAS To Multipoint(LAS → マルチポイント)関数を使用する方法を示しています。
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)
次の Python スクリプトは、スタンドアロン スクリプトで LAS To Multipoint(LAS → マルチポイント)関数を使用する方法を示しています。
'''**************************************************************************** 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)