ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

LAS オーバーラップの分類 (Classify LAS Overlap)

  • サマリー
  • 図
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

サマリー

航空機 LIDAR 測量のオーバーラップ スキャンから LAS ポイントを分類します。

図

LAS オーバーラップの分類 (Classify LAS Overlap)

使用法

  • 未分類のオーバーラップ ポイントがあると、[LAS の建物分類 (Classify LAS Building)] ツールなど、規則的なポイント分布を前提とする操作で不適切な結果が発生する可能性があります。また、オーバーラップが極端なスキャン角度から発生している場合、出力データの生成で不適切なマージン エラーが発生する可能性があります。オーバーラップ ポイントの分類には、オーバーラップ ポイントを除外することで、ポイント分布をより均一にしてより高品質のリターンを得るオプションがあります。

  • LAS ポイントのポイント ソース ID 属性は、収集元のフライト ラインに関する情報を提供します。このツールは、複数のポイント ソース ID が存在するかどうかを判定し、より大きなスキャン角度の ID をオーバーラップとして特定することで、タイル内の LAS データを処理します。処理対象のエリアに、ポイント ソース ID が同じポイントが複数存在する場合、最大強度のスキャン角度を持つポイントのポイント ソース ID を共有するすべてのポイントがオーバーラップとして分類されます。このような理由から、LAS ポイントの評価に使用されるサンプル サイズを LAS データの名目ポイント間隔の約 2 ~ 3 倍のサイズにする必要があります。これより大きいタイル サイズにすると、より小さいスキャン角度値を持つポイントが間違って分類される危険性があるため、避けてください。これより小さいサンプル サイズにすると、オーバーラップ ポイントを正しく識別し分類するのに十分なポイントを取得できない可能性があります。

  • LAS バージョン 1.4 のファイルおよび 6 ~ 8 のポイント記録形式のオーバーラップ ポイントには、オーバーラップ分類フラグが割り当てられますが、元のクラス コード値がそのまま維持されます。サポートされるその他すべての LAS ファイル内のオーバーラップ ポイントには、クラス コード値 12 が割り当てられます。オーバーラップ スキャン以外のイベントを表すためにクラス コード値 12 がすでに入力 LAS ファイルで使用されている場合は、このツールを実行する前に、[LAS クラス コードの変更 (Change LAS Class Codes)] ツールを使用して、それらのポイントに別の値を再割り当てすることを検討してください。

  • 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 1.4 で導入された新しいクラス コード割り当ての大部分はすでに予約として指定されていますが、クラス コード 8 および 12 は、モデル キーおよびオーバーラップから予約に変更されました。

構文

ClassifyLasOverlap_3d (in_las_dataset, sample_distance, {extent}, {process_entire_files}, {compute_stats})
パラメーター説明データ タイプ
in_las_dataset

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

LAS Dataset Layer
sample_distance

LAS データの評価に使用される正方形領域のいずれかのディメンションの距離。この値は、「3 メートル」など、数字と距離単位の値で表すことができます。距離単位が指定されないか、「不明」と入力された場合、単位は入力 LAS ファイルの空間参照によって定義されます。

Linear Unit
extent
(オプション)

このツールが評価するデータの範囲を指定します。

Extent
process_entire_files
(オプション)

処理範囲の適用方法を指定します。

  • PROCESS_EXTENT —対象地域と交差している LAS ポイントだけが処理されます。これがデフォルト設定です。
  • PROCESS_ENTIRE_FILES —LAS ファイルの一部が対象地域と交差している場合、対象地域の外側にあるポイントも含め、その LAS ファイル内のすべてのポイントが処理されます。
Boolean
compute_stats
(オプション)

LAS データセットで参照されている LAS ファイルの統計情報を計算するかどうかを指定します。統計情報が存在することにより、LAS データセット レイヤーのフィルターおよびシンボル オプションで、LAS ファイル内に存在する LAS 属性値のみを表示できます。

  • COMPUTE_STATS —統計情報を計算します。
  • NO_COMPUTE_STATS —統計情報を計算しません。これがデフォルト設定です。
Boolean

派生した出力

名前説明データ タイプ
out_las_dataset

変更対象の LAS データセット。

LAS データセット レイヤー

コードのサンプル

ClassifyLasOverlap (LAS オーバーラップの分類) の例 1 (Python ウィンドウ)

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

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

arcpy.ddd.ClassifyLasOverlap('Denver_2.lasd', '1 Meter')
ClassifyLasOverlap (LAS オーバーラップの分類) の例 2 (スタンドアロン スクリプト)

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

'''****************************************************************************
       Name: Classify Lidar & Extract Building Footprints
Description: Extract footprint from lidar points classified as buildings, 
             regularize its geometry, and calculate the building height.

****************************************************************************'''
import arcpy

lasd = arcpy.GetParameterAsText(0)
dem = arcpy.GetParameterAsText(1)
footprint = arcpy.GetParameterAsText(2)

try:
    desc = arcpy.Describe(lasd)
    if desc.spatialReference.linearUnitName in ['Foot_US', 'Foot']:
        unit = 'Feet'
    else:
        unit = 'Meters'
    ptSpacing = desc.pointSpacing * 2.25
    sampling = '{0} {1}'.format(ptSpacing, unit)
    # Classify overlap points
    arcpy.ddd.ClassifyLASOverlap(lasd, sampling)
    # Classify ground points
    arcpy.ddd.ClassifyLasGround(lasd)
    # Filter for ground points
    arcpy.management.MakeLasDatasetLayer(lasd, 'ground', class_code=[2])
    # Generate DEM
    arcpy.conversion.LasDatasetToRaster('ground', dem, 'ELEVATION', 
                                        'BINNING NEAREST NATURAL_NEIGHBOR', 
                                        sampling_type='CELLSIZE', 
                                        sampling_value=desc.pointSpacing)
    # Classify noise points
    arcpy.ddd.ClassifyLasNoise(lasd, method='ISOLATION', edit_las='CLASSIFY', 
                               withheld='WITHHELD', ground=dem, 
                               low_z='-2 feet', high_z='300 feet', 
                               max_neighbors=ptSpacing, step_width=ptSpacing, 
                               step_height='10 feet')
    # Classify buildings
    arcpy.ddd.ClassifyLasBuilding(lasd, '7.5 feet', '80 Square Feet')
    #Classify vegetation
    arcpy.ddd.ClassifyLasByHeight(lasd, 'GROUND', [8, 20, 55], 
                                  compute_stats='COMPUTE_STATS')
    # Filter LAS dataset for building points
    lasd_layer = 'building points'
    arcpy.management.MakeLasDatasetLayer(lasd, lasd_layer, class_code=[6])
    # Export raster from lidar using only building points
    temp_raster = 'in_memory/bldg_raster'
    arcpy.management.LasPointStatsAsRaster(lasd_layer, temp_raster,
                                           'PREDOMINANT_CLASS', 'CELLSIZE', 2.5)
    # Convert building raster to polygon
    temp_footprint = 'in_memory/footprint'
    arcpy.conversion.RasterToPolygon(temp_raster, temp_footprint)
    # Regularize building footprints
    arcpy.ddd.RegularizeBuildingFootprint(temp_footprint, footprint, 
                                          method='RIGHT_ANGLES')

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

環境

  • 現在のワークスペース
  • 範囲

ライセンス情報

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

関連トピック

  • データ管理ツールセットの概要
  • サーフェスの基礎
  • サーフェスの形式

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2019 Esri. | プライバシー | リーガル