概要
建物ポリゴンの本質的な形状とサイズを維持しながら、その建物ポリゴンの境界またはフットプリントを単純化します。
図
使用法
[最小エリア] パラメーターは、単純化された建物に対してのみ適用されます。 単純化プロセスの完了後に最小領域より小さいサイズに縮小された建物はすべて、出力フィーチャクラスから除去されます。
[入力バリア レイヤー] パラメーターは、単純化された建物が横切ることを許可されないフィーチャを識別するために使用します。 バリア フィーチャには、ポイント、ライン、ポリゴンのいずれかを指定できます。
出力フィーチャクラスは、単純化ステータスを示す BLD_STATUS フィールドを格納しています。BLD_STATUS の値は、次のとおりです。
- 1 - 1 つの建物が単純化されました。
- 2 - 1 つの建物がその最小境界範囲に単純化されました。
- 3 - 許容値の二乗より小さい 1 つの建物がその最小境界範囲に単純化されました。
- 5 - 建物は 1 つも単純化されませんでした。
[空間的な競合を確認] パラメーターを使用した場合、このツールは空間競合を検出し、SimBldFlag フィールドを出力に追加して、競合フラグを格納します。 値 0 は「競合なし」を意味し、値 1 は「競合」を意味します。
このツールは、編集セッションでは実行できません。
入力 Z 値は、環境設定で指定されている場合、保持可能です。 出力頂点が入力フィーチャ頂点に一致する場合、z 値は出力頂点に転送されます。 それ以外の場合、z 値は既存の z 値から、または内挿を介して導き出されます。
無効な (自己交差) ジオメトリが単純化プロセス中に作成されることがあります。このようなジオメトリは修復可能ですが、改良を加えることはできません。 たとえば、自己交差するポリゴンは、複数パート ポリゴンになっても、自己交差の外観を維持します。
大きなデータセットを処理する場合は、メモリの制限を超えることがあります。 このような場合、[カートグラフィック パーティション] 環境設定で関連するポリゴン フィーチャクラスを特定することにより、パーティション単位で入力データを処理することを検討します。 パーティションの境界によって定義されたデータの一部が順次処理されます。 結果のフィーチャクラスは、パーティション エッジにおいてシームレスで一致した形状になります。 詳細については、「パーティションを使用した大きなデータセットのジェネラライズ」をご参照ください。
構文
arcpy.cartography.SimplifyBuilding(in_features, out_feature_class, simplification_tolerance, {minimum_area}, {conflict_option}, {in_barriers})
パラメーター | 説明 | データ タイプ |
in_features | 単純化の対象となる建物ポリゴン。 | Feature Layer |
out_feature_class | 作成される出力フィーチャクラス。 | Feature Class |
simplification_tolerance | 建物の単純化の許容値。 許容値には、0 (ゼロ) より大きい値を指定する必要があります。 優先的に適用される単位を選択することができます。デフォルトはフィーチャ単位です。 | Linear Unit |
minimum_area (オプション) | 単純化された建物に対して、フィーチャ単位で保持される最小領域。 デフォルト値は 0 であり、すべての建物が保持されます。 単位は自由に指定できます。デフォルトはフィーチャの単位です。 | Areal Unit |
conflict_option (オプション) | 建物間の空間競合 (建物同士の重なり合いや接触) を特定するかどうかを指定します。 SimBldFlag フィールドが出力に追加され、競合フラグが格納されます。 値 0 は「競合なし」を意味し、値 1 は「競合」を意味します。
| Boolean |
in_barriers [in_barriers,...] (オプション) | 単純化の際にバリアとしての役割を果たすフィーチャを含む入力レイヤー。 単純化された結果の建物はバリア フィーチャに接したり、バリア フィーチャを横切ったりしません。 たとえば、建物を単純化する場合、単純化された結果の建物エリアは、バリアとして定義された道路フィーチャを横切りません。 | Feature Layer |
派生した出力
名前 | 説明 | データ タイプ |
out_point_feature_class | [最小エリア] パラメーター値 (Python では minimum_area) より小さいという理由で削除される建物を表すポイントを格納するための出力ポイント フィーチャクラス。 このパラメーターは、[長さゼロのラインをポイントとして保持] パラメーターがオンである (Python では collapsed_point_option = "KEEP_COLLAPSED_POINTS") 場合にのみ使用されます。 | Feature Class |
コードのサンプル
SimplifyBuilding (建物ポリゴンの単純化) の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、イミディエイト モードで SimplifyBuilding 関数を使用する方法を示しています。
import arcpy
import arcpy.cartography as CA
arcpy.env.workspace = "C:/data"
CA.SimplifyBuilding("buildings.shp", "C:/output/output.gdb/simplified_buildings", 10)
SimplifyBuilding (建物ポリゴンの単純化) の例 2 (スタンドアロン スクリプト)
次のスタンドアロン スクリプトで、SimplifyBuilding 関数を使用する方法を示します。
# Name: SimplifyBuilding_Example2.py
# Description: Aggregate building features and then simplify them
# Import system modules
import arcpy
import arcpy.cartography as CA
# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Buildings"
# Set local variables
inBuildingFeatures = "houses"
aggregatedFeatures = "C:/data/PortlandOutput.gdb/residential_areas"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/residential_simplified"
# Aggregate house polygons.
CA.AggregatePolygons(inBuildingFeatures, aggregatedFeatures, 10, 100, 100,
"ORTHOGONAL")
# Simplify residential building polygons.
CA.SimplifyBuilding(aggregatedFeatures, simplifiedFeatures, 10, 100,
"CHECK_CONFLICTS")
環境
ライセンス情報
- Basic: いいえ
- Standard: いいえ
- Advanced: はい