ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

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

ArcGIS Online

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

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

建物フットプリントの正規化 (Regularize Building Footprint)

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

概要

ジオメトリ内にある不自然な結果を除去して、建物ポリゴンのフットプリントを正規化します。

図

正規化された建物フットプリント

使用法

  • このツールは、ポリライン圧縮アルゴリズムを使用して、不自然な結果が生成される可能性のあるフィーチャ抽出ワークフローによって作成された建物フットプリント ポリゴンの歪みを矯正します。

  • この許容値は、正規化されたポリゴンが適合すべきポリゴン境界の周辺領域を定義します。この領域を最もよく視覚化するには、ポリゴンの境界をライン フィーチャに変換し、次に適切な許容距離でそのラインをバッファー処理します。

  • 建物フットプリントに円形の構造が含まれる場合は、最初にそれらのフィーチャを処理する必要があります。円形の建物の識別には、コンパクト性を使用できます。この値を計算するには、次の手順を実行します。

    1. タイプが double のフィールドを追加します。
    2. フィールド演算を使用して、次の式を計算します。
      (4 * 3.14159265358979 * !shape.area!) / !shape.length! ** 2
    3. 完全な円の場合、値は 1 になりますが、このツールで一般に処理されるポリゴンにはある程度の不規則性があるため、値が 1 に近いほど、円形が含まれる可能性が高くなります。結果を評価して、円形の建物を示す最小値を識別します。次に、[円] の手法を使用してこのツールを実行する前に、その値以上の値を選択します。
  • 指定したパラメーターを使用して、所定の入力の正規化されたソリューションが生成されない場合、元のフィーチャが出力にコピーされます。STATUS フィールドに指定された値は、そのフィーチャが正規化されたかどうかを示します。

    • 0 = 正規化されたフィーチャ
    • 1 = 元のフィーチャ
    メモ:

    出力に正規化できなかったフィーチャが含まれる場合は、処理されなかったフィーチャを選択し、パラメーターを変えながら反復実行することでソリューションを見つけることを検討してください。背景画像は、正規化された出力の精度の評価に非常に役立ちます。

構文

arcpy.ddd.RegularizeBuildingFootprint(in_features, out_feature_class, method, tolerance, densification, precision, diagonal_penalty, min_radius, max_radius)
パラメーター説明データ タイプ
in_features

正規化される建物フットプリントを表すポリゴン。

Feature Layer
out_feature_class

このツールで生成されるフィーチャクラス。

Feature Class
method

入力フィーチャの処理に使用される正規化手法。

  • RIGHT_ANGLES —主に直角で定義される建物フットプリントに有効です。
  • RIGHT_ANGLES_AND_DIAGONALS —直角と対角線で構成される建物フットプリントに有効です。
  • ANY_ANGLE —非常に不規則なフットプリントの建物に有効です。
  • CIRCLE —穀物倉庫や給水塔のような、円形の特性を持つ建物に有効です。
String
tolerance

正規化されたフットプリントが、元のフィーチャの境界から外れることができる最大距離。指定した値は、入力フィーチャの座標系の距離単位で表されます。

Double
densification

正規化されたフィーチャが直線か曲線かを評価するのに使用されるサンプリング間隔。密度は許容値以下である必要があります。

このパラメーターは、直角の識別情報をサポートする方法でのみ使用されます。

Double
precision

正規化プロセスにおける空間グリッドで使用される精度。有効な値の範囲は 0.05 〜 0.25 です。

Double
diagonal_penalty

直角の接続を作成するための距離のバイアス値を制御します。直角を作成するために、対角線のペナルティより小さい距離が使用されます。

このパラメーターは、RIGHT_ANGLES_AND_DIAGONALS 方法でのみ使用されます。

Double
min_radius

正規化された円の最小半径。値が 0 の場合、最小サイズの制限がないことを意味します。このオプションは、CIRCLE 方法でのみ利用可能です。

Double
max_radius

正規化された円の最大半径。このオプションは、[円] 方法でのみ利用可能です。

Double

コードのサンプル

RegularizeBuildingFootprint (建物フットプリントの正規化) の例 1 (Python ウィンドウ)

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

arcpy.env.workspace = 'c:/data'
arcpy.ddd.RegularizeBuildingFootprint('rough_footprints.shp', 
                                      'regularized_footprints.shp',
                                      method='Circle', tolerance=1.5, min_radius=10, 
                                      max_radius=20)
RegularizeBuildingFootprint (建物フットプリントの正規化) の例 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())

環境

  • 現在のワークスペース
  • 出力座標系
  • 地理座標系変換
  • 範囲
  • 並列処理ファクター

ライセンス情報

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

関連トピック

  • 3D フィーチャ ツールセットの概要
  • 3D フィーチャについて
  • ArcGIS 3D Analyst エクステンションのジオプロセシングの基礎

ArcGIS Desktop

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

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

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