重なり合うポリゴンをディゾルブするにはどうすればよいですか?


10

ArcGIS 9.3でのポリゴンフィーチャのディゾルブに関するクエリがあります。私は最低限のライセンスとVBの非常に基本的な知識しか持っていません。

約4500のポリゴンを含む大きなシェープファイルがあり、オーバーラップするポリゴンをディゾルブする方法があるかどうかを知りたいですか?基本的に、このレイヤーを個別の領域を含むシェープファイルに変換したいので、1つのポリゴンが単独で存在する場合は残りますが、複数のポリゴンが重複する場合は1つに溶解し、各個別の領域は独自の属性セットを持ちます。シェープファイルはかなり頻繁に変更され、今まではすべてを調べて、エディターツールを使用して重複する領域を手動でディゾルブしてきましたが、もっと迅速な方法があると確信しています!

これがどのように達成されるかについての洞察はありますか?


ディゾルブツールを使用して、エクスポートされた属性テーブルを結合しましたが、これは完全に機能します!ディゾルブツールは属性のみで機能し、空間位置では機能しないので、知っておくと非常に役立ちます。また、ModelBuilderコードは


素晴らしい答え。ブラッドネソム、元の属性テーブルの値を分解されたシェープファイルにどのように取得しますか?
Gunnar 2014

私はあなたがしたことを必要としていますが、ディゾルブツールを実行すると、彼のすべての機能が私の形にマージされるため、機能しません。どのように実行しましたか?
フェデリコゴメス

回答:


13

私は何かが足りないかもしれませんが、基本的なDissolveツール(データ管理ツールボックスのどこか)はこれを行いませんか?アートワーク21の答えのようにコードをいじる必要はありません。ディゾルブツールを開き、フィーチャクラスを選択し、ディゾルブするフィールドを選択せず​​に、[マルチパートポリゴンを作成]をオフにします。そうしないと、すべてのポリゴンが1つの大きなマルチパートポリゴンになります。

現在、Arcの前にはいませんが、質問を正しく読んでいる場合は、この方法を使用する前にこれを実行しました。ここでの唯一の問題は、テーブル内の属性です。データを知っているので、ツールの[統計フィールド]の部分で各フィールドを組み合わせる方法を選択する必要があります。

このプロセスが非常に頻繁に行われる場合、または自動的に行いたい場合は、モデルビルダーでこれを行い、スクリプトにエクスポートしますが、このツールは入力に10秒かかります。


14

@トム・パーカー-MWrennは正しいです。
ディゾルブする属性を選択するオプションがあります。(これは属性ディゾルブを行います)または属性なし(これは空間ディゾルブを行います)。

引き継ぐ統計と属性を選択します。(これはあなたが望むようにはうまくいきません)。

オプション

溶解する前に。新しいフィールドを作成し、それにFIDを計算します。
次に、属性のdbfをエクスポートし、それを実行します(後で、それらをポリゴンと結合します)。

これに関するヘルプが必要な場合はお知らせください。スクリーンショットを投稿するか、arcgis.comリソースセンターでヘルプを探します。

次のスクリーンショットに気づいた場合、名前はすべてのポリゴンで同じです(9.3.1はアークマップから正しく溶解しないようです)。arccatalogからお試しください。

解散する

たぶん他の誰かがもっと良い方法を持っているでしょう。

他に考えられる唯一の方法は、場所(互いに交差するポリゴン)で選択することです。
それらを別のファイルにエクスポートしてから、溶解します。
次に、各ファイルがディゾルブされたら、無料のマージレイヤーを使用できます(et-geo-wizards内)


4

モデルビルダー内でモデルを作成してスクリプトをエクスポートし、そのスクリプトをコピーしてArcMap vba内のUIButtonControlに貼り付けることができます。以下のスクリプトの例を参照してください。

Private Sub Dissolve_Click()

' Create the Geoprocessor object
set gp = CreateObject("esriGeoprocessing.GPDispatch.1")

' Load required toolboxes...
gp.AddToolbox "C:/Progra~1/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx"

' Local variables...

Dim test_shp as string

test_shp = "C:\Temp\test.shp"
Output_Feature_Class = "C:\Temp\test_Dissolve.shp"

' Process: Dissolve...
gp.Dissolve_management test_shp, Output_Feature_Class, "", "", 
  "MULTI_PART", "DISSOLVE_LINES"

End Sub
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.