建物ポリゴンの単純化(Simplify Building) (カバレッジ)
サマリ
建物ポリゴンの本質的な形状とサイズを維持しながら、その建物ポリゴンの境界またはフットプリントを単純化します。
図
使用法
-
入力カバレッジはポリゴン トポロジを持つ必要があります。
-
重複した境界が作成される可能性があるため、予備のリージョンが結果のフィーチャとして使用されます。予備のリージョンから完全に構築されたリージョンを作成するには、out_cover に対して POLY オプションで [クリーン(Clean)] を使用します。
-
このツールは、in_cover が大きい場合は、非常に時間がかかる可能性があります。実行速度を高めるには、入力カバレッジに Arc コマンドの INDEX を使用して、空間インデックスを作成します(コマンドの詳細については、ArcInfo Workstation のヘルプをご参照ください)。
-
次の INFO テーブルが作成されます。output_coverage.bnd、output_coverage.tic、output_coverage.aat、output_coverage.patbldgsim。
-
out_cover.aat は、新しいアークを格納し、input_coverage.aat からの情報は保存しません。
-
in_cover からのすべてのルートおよびリージョン属性とトポロジは失われます。
-
input_coverage.pat 内のすべての属性(AREA と PERIMETER を除く)は、output_coverage.patbldgsim にコピーされます。このツールは、予備のリージョンの AREA 値は計算しませんが、output_coverage.PATBLDGSIM の AREA 値をゼロに設定し、PERIMETER を計算します。POLY オプションで [クリーン(Clean)] ツールを実行すると、AREA 値が計算されます。
-
output_coverage.patbldgsim には、BDS-STATUS と BDS-GROUP という 2 つの新しいアイテムも含まれます。アイテム BDS-STATUS は、次の単純化のステータスを記録します。
- 単純化された個別の建物
- 空間競合のため部分的に単純化された個別の建物
- 結果の建物に見つかった短辺
- 直線と繋がっている(部分的に)単純化された建物
- 単純化なし
アイテム BDS-GROUP は、接続した建物の各グループに対して、一意となる正の数を格納します。1 つの建物は BDS-GROUP 値が 0 になります。穴のある 1 つの建物は、外側と内側の境界に一意となる負の数が与えられます。
-
選択ファイルが指定されていない場合やポリゴンが含まれていない場合、入力カバレッジ内のすべてのポリゴンが単純化の対象に選択されます。選択ファイルにポリゴン フィーチャクラスが含まれていない場合や入力カバレッジと一致しない場合(選択ファイルが入力カバレッジから派生していない場合)、プログラムは停止します。
-
グループ内に 500 を超える隣接ポリゴンが検出された場合、ツールは停止し、「500 を超える隣接ポリゴンが検出されました。処理は停止しました。(More than 500 adjacent polygons detected. The process has stopped.)」というメッセージが返されます。
構文
パラメータ | 説明 | データ タイプ |
in_cover |
建物ポリゴンを含む入力カバレッジ。 | Coverage |
out_cover |
サブクラス BLDGSIM を持つ、予備のリージョンとして単純化された建物を含む出力カバレッジ。出力カバレッジ名は、入力カバレッジ名と異なる必要があります。 | Coverage |
simplification_tolerance |
単純化許容値をカバレッジ単位で設定します。許容値には、ゼロより大きい値を指定する必要があります。 | Double |
minimum_area (オプション) |
維持する最小エリアをカバレッジ単位で設定します。デフォルトは、単純化許容値の二乗です。すべての建物を含める場合は 0 を入力します。 | Double |
selection_file (オプション) |
ArcPlot コマンドの WRITESELECT を使用して作成される特殊ファイル(コマンドの詳細については、ArcInfo Workstation のヘルプをご参照ください)。これは、ArcPlot で選択されたカバレッジのフィーチャを識別します。このオプションを使用すると、入力カバレッジ内の選択した建物を単純化できます。 | File |
CheckConflict (オプション) |
建物間に発生する可能性のある競合(建物同士の重なり合いや接触)をチェックするかどうかを指定します。
| Boolean |
コードのサンプル
次のスタンドアロン スクリプトで、建物カバレッジを単純化する方法を示します。
# Name: SimplifyBuilding_Example.py # Description: Simplifies a building coverage # Requirements: ArcInfo Workstation # Import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data" # Set local variables inCover = "campus" outCover = "C:/output/cartocampus" simplificationTolerance = 6 minimumArea = 55 checkConflict = "CHECK_CONFLICT" # Execute SimplifyBuilding arcpy.SimplifyBuilding_arc(inCover, outCover, simplificationTolerance, minimumArea, "", checkConflict) arcpy.Clean_arc(outCover)