概要
LAS データの建物の屋上と側面を分類します。
図
使用法
壁、垂直面、および小さな屋根フィーチャ (屋根窓や煙突など) を表すポイントは、建物の分類に含まれない場合があります。そのようなポイントが必要な場合は、屋根の上下にあるポイントを分類するオプションを含むツールの実行を検討してください。
建物の屋上ポイントを分類するには、LAS データの地表ポイントを分類する必要があります。地表ポイントがまだ分類されていない場合は、[LAS の地表分類 (Classify LAS Ground)] ツールを使用することを検討してください。地表ポイントのクラス コード値は 2 である必要があります。地表ポイントのクラス コード値が 2 以外の場合は、[LAS クラス コードの変更 (Change LAS Class Codes)] ツールを使用してクラス コードを適切に再割り当てします。
クラス コード値が 0、1 と 6 の LAS ポイントは、建物の屋上の特性と適合しているかどうかを判定するために評価されます。この条件を満たしていない建物として分類されたポイントは、既存の建物に分類されたポイントを再利用するオプションが指定されていない限り、クラス コード値 1 に再割り当てされます。
[方法] パラメーターは、[写真測量データ] オプションが指定されている場合は使用されません。
構文
arcpy.3d.ClassifyLasBuilding(in_las_dataset, {min_height}, min_area, {compute_stats}, {extent}, boundary, {process_entire_files}, point_spacing, {reuse_building}, {photogrammetric_data}, {method}, {classify_above_roof}, {above_roof_height}, {above_roof_code}, {classify_below_roof}, {below_roof_code})
パラメーター | 説明 | データ タイプ |
in_las_dataset | 分類対象の LAS データセット。 | LAS Dataset Layer |
min_height (オプション) | 屋上ポイントに識別される最低ポイントを定義する、地表からの高さ。 | Linear Unit |
min_area | 建物の屋上の最小エリア。 | Areal Unit |
compute_stats (オプション) | LAS データセットで参照されている LAS ファイルの統計情報を計算するかどうかを指定します。統計情報を計算することで、LAS ファイルごとの空間インデックスが提供され、解析と表示のパフォーマンスが向上します。また統計によって、分類コードやリターン情報などの LAS 属性の表示が LAS ファイルに存在する値に制限されるので、フィルタリングとシンボルのエクスペリエンスも強化されます。
| Boolean |
extent (オプション) | このツールが評価するデータの範囲を指定します。
| Extent |
boundary | このツールで処理される対象地域を定義するポリゴン フィーチャ。 | Feature Layer |
process_entire_files (オプション) | 処理範囲の適用方法を指定します。
| Boolean |
point_spacing | LAS ポイントの平均間隔。このパラメーターは使用されなくなりました。 | Linear Unit |
reuse_building (オプション) | 既存の建物に分類されたポイントを再利用するか再評価するかを指定します。 既存の建物に分類されたポイントを再利用するか再評価するかを指定します。
| Boolean |
photogrammetric_data (オプション) | LAS ファイル内のポイントが写真測量技術を使用して取得されたものであるかどうかを指定します。 LAS ファイル内のポイントが写真測量技術を使用して取得されたものであるかどうかを指定します。
| Boolean |
method (オプション) | 使用される分類方法。
| String |
classify_above_roof (オプション) | 検出した屋上の平面より上のポイントを分類するかどうかを指定します。
| Boolean |
above_roof_height (オプション) | 建物の屋上より上にあるポイントの最大高度。[屋上より上のクラス コード] パラメーターで指定した値に分類されます。 | Linear Unit |
above_roof_code (オプション) | 屋上より上にあるポイントに割り当てられるクラス コード。 | Long |
classify_below_roof (オプション) | 屋上と地表の間にあるポイントを分類するかどうかを指定します。
| Boolean |
below_roof_code (オプション) | 屋上と地表の間にあるポイントに割り当てられるクラス コード。 | Long |
派生した出力
名前 | 説明 | データ タイプ |
derived_las_dataset | 建物の屋上に分類される LAS データセット。 | LAS データセット レイヤー |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet',
minArea='30 Square Feet', compute_stats=True)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: Tile & Classify LAS Files
Description: Creates & classifies tiled LAS files.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math
in_las = arcpy.GetParameterAsText(1) # The LAS files that need to be tiled
out_folder = arcpy.GetParameterAsText(2) # folder for LAS files
basename = arcpy.GetParameterAsText(3) # basename for output files
out_lasd = arcpy.GetParameterAsText(4) # output LAS dataset
try:
# Create temp LAS dataset to reference LAS files that will be tiled
temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
arcpy.management.CreateLasDataset(in_las, temp_lasd)
arcpy.ddd.TileLas(temp_lasd, out_folder, basename, out_lasd, las_version=1.4,
point_format=7, file_size=300)
arcpy.management.Delete(temp_lasd)
arcpy.ddd.ClassifyLasGround(out_lasd, method='AGGRESSIVE')
arcpy.ddd.ClassifyLasBuilding(out_lasd, min_height='3 Meters', min_area='4 Meters')
arcpy.ddd.ClassifyLasByHeight(out_lasd, height_classification=[(3, 6), (4,20), (5,70)],
noise='All Noise', compute_stats='COMPUTE_STATS')
except arcpy.ExecuteError:
print(arcpy.GetMessages())
ライセンス情報
- Basic: 次のものが必要 3D Analyst
- Standard: 次のものが必要 3D Analyst
- Advanced: 次のものが必要 3D Analyst