LAS → マルチポイント(LAS to Multipoint) (3D Analyst)

ライセンス レベル:BasicStandardAdvanced

サマリ

1 つ以上の LIDAR ファイルを使用してマルチポイント フィーチャを作成します。

LAS to Multipoint

使用法

構文

LASToMultipoint_3d (input, out_feature_class, average_point_spacing, {class_code}, {return}, {attribute}, {input_coordinate_system}, {file_suffix}, {z_factor}, {folder_recursion})
パラメータ説明データ タイプ
input
[input,...]

LAS バージョン 1.0、1.1、1.2 形式のデータを含む 1 つ以上のファイルまたはフォルダ。LAS 形式は、LIDAR データ対応の業界標準の形式です。

Folder or File
out_feature_class

出力フィーチャクラス。

Feature Class
average_point_spacing

入力ファイル(複数可)内のポイント間の平均 2D 距離。この値は概算値で構いません。さまざまな密度で面積がサンプリングされている場合、小さいほうの間隔を指定します。この値は、出力座標系の投影単位で設定する必要があります。

Double
class_code
[class_code,...]
(オプション)

LAS データ ポイントのクエリ フィルタとして使用する分類コード。有効な値は 1 から 32 までの範囲です。デフォルトではフィルタは適用されません。

Long
return
[return,...]
(オプション)

クエリ フィルタとして使用するリターン。有効なリターンは 1 ~ 5、LAST_RETURNS、ANY_RETURNS です。デフォルト値は ANY_RETURNS です。

String
attribute
[[keyword, name],...]
(オプション)

読み込んで格納する 1 つ以上の LAS 属性と、任意の使用フィールド名。デフォルトでは何もありません。サポートされている属性キーワードは、INTENSITY、RETURN_NUMBER、NUMBER_OF_RETURNS、SCAN_DIRECTION_FLAG、EDGE_OF_FLIGHTLINE、CLASSIFICATION、SCAN_ANGLE_RANK、FILE_MARKER、USER_BIT_FIELD、GPS_TIME です。

Value Table
input_coordinate_system
(オプション)

入力 LAS ファイルの座標系。LAS ファイル内で指定されている座標系にデフォルト設定されます。何らかの理由で、ファイル内で定義されていないものの、それがわかっている場合は、ここで指定します。

Coordinate System
file_suffix
(オプション)

入力フォルダからインポートするファイルの接尾辞。フォルダが入力として指定されている場合は、このパラメータが必要です。

String
z_factor
(オプション)

標高値に乗算する係数。一般的には、Z の距離単位を変換して、XY の距離単位に一致させるために使用されます。デフォルトは 1 です。この場合、標高値は変更されません。

Double
folder_recursion
(オプション)

サブフォルダ ディレクトリにデータの格納された入力フォルダが選択されたときに、サブフォルダまでスキャンします。出力フィーチャクラスは、ディレクトリ構造で検出された各ファイルの行で生成されます。

  • NO_RECURSION入力フォルダにある LAS ファイルだけがマルチポイント フィーチャに変換されます。これがデフォルトです。
  • RECURSION入力フォルダのサブディレクトリにあるすべての LAS ファイルがマルチポイント フィーチャに変換されます。
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)

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: 次のものが必要 3D Analyst
ArcGIS for Desktop Standard: 次のものが必要 3D Analyst
ArcGIS for Desktop Advanced: 次のものが必要 3D Analyst
9/14/2013