ArcGIS Desktopを使用してコーナータッチ連続ポリゴンをグループ化しますか?


12

ArcGIS 10を使用して、ラスター(GRID)(ラスター→ポリゴンツール)から変換したフィーチャクラスがあります。

  • 約あります。180,000ポリゴン。
  • 属性テーブルには、保持する必要がある[grid_code]フィールドが含まれています。
  • 1つ以上のポリゴンが連続していて、角が接触し、同じ[grid_code]値を持っている場合、それらを1つのポリゴン(レコード)にグループ化します(基本的にディゾルブ)。
  • 次に、グループ化されたポリゴンの面積を計算する必要があります。

ロケーション選択ツールを使用して、グループ化する必要のあるポリゴンを正常に選択することができますが、[grid_code]を保持しながら、それらを1つのポリゴンに変換する方法を教えてください。


3
ラスタをポリゴンに変換する前に、Region Groupコマンドを実行することを検討しましたか?
カーククイケンドール

1
カークは絶対に正しいです。元のグリッドを使用してこの計算を実行すると、出力ベクトル形式ではなく、高速で効率的になり、遅くて苦痛になります。
whuber

2
カークとビル、ありがとう。はい、リージョングループは適切なツールです。残念ながら、大規模なデータセットでリージョングループを使用すると、Spatial Analystの既知のエラーである水平ストライピングが発生します。これらのストライプは早くも2009年12月に文書化されましたが、現在、ArcGIS 10を使用すると、これらの問題はまだ存在します。[link](forums.arcgis.com/threads/…)ここでの回避策は、リージョングループツールからの出力をGRIDとして古き良きArcInfoワークスペースに書き込むことです。それはそれを修正するようです!
mjn

その回避策がなく、RegionGroupバグがある場合、2x2のフォーカルバラエティ計算を実行して潜在的なコーナー(多様性は3または4である必要があります)を実行し、それらを使用して潜在的なコーナーとテーブルのテーブルを作成する必要がありますポリゴン間のコーナー関係。これにより、コーナータッチポリゴンの検索が(大幅に)合理化されます。なんて痛い...
whuber

ポリゴンが1つの頂点のみを共有している場合、自己交差が発生し、それによってジオメトリが無効になることに注意してください。
ジムB

回答:


2

Dissolve Toolを使用して、共通のid値を持つ連続ポリゴンをディゾルブできます。

  1. 「Dissolve_Field(オプション)」としてグリッドコードフィールドを選択します
  2. ツールフォームの下部で、[分割されていない行(オプション)]チェックボックスをオンにします。
  3. エリアフィールドを作成
  4. エリアフィールドを右クリックし、[ジオメトリの計算]を選択します

2

それはたくさんのポリゴンです。また、トポロジの処理が簡単な場合、最初にラスター形式のソリューションを見つけます。しかし、コードを書きたくない場合は、次のことができます。

  1. 特定のグリッドコードを選択します。
  2. そのグリッドコードを非常に少量だけバッファリングします(マージされたバッファオプション)
  3. 同じくらい非常に小さい結果を否定的にバッファします。

ジオメトリにわずかな丸みがあります。

単一のレイヤーを作成するには、生成されたグリッドコードレイヤーを交差させ、スライバーポリゴンを削除してクリーニングします。


-1

私は個人的に、ポリゴンをループし、他のポリゴンコーナーと同じであるポリゴンの4つのコーナー座標をチェックし、再帰的に呼び出します-塗りつぶしのようなコードを記述します。

NetCDFグリッドでこれを行い、適切に類似したポリゴンを作成します。

別のオプションは、グリッドを使用してルートで計画的にこれを行うことです。


コメントが無意味なビッカースやノイズに分解された場合、コメントは完全に削除され、セット全体は修復不可能です。
マッパーズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.