Wie überlappende Polygone auflösen?

10

Ich habe eine Frage zum Auflösen von Polygon-Features in ArcGIS 9.3. Ich habe nur die Bare-Bones-Lizenz und ein extrem grundlegendes Wissen über VB.

Ich habe ein großes Shapefile mit ungefähr 4500 Polygonen und möchte wissen, ob es überhaupt möglich ist, die überlappenden aufzulösen. Grundsätzlich möchte ich diese Ebene in ein Shapefile verwandeln, das separate Bereiche enthält. Wenn also ein Polygon für sich allein ist, bleibt es bestehen, aber wenn sich mehrere Polygone überlappen, lösen sie sich in 1 auf, wobei jeder separate Bereich seine eigenen Attribute hat. Das Shapefile ändert sich ziemlich häufig und bis jetzt habe ich sie alle durchgearbeitet und überlappende Bereiche mit dem Editor-Tool manuell aufgelöst, aber ich bin mir sicher, dass es einen viel schnelleren Weg gibt!

Gibt es einen Einblick, wie dies erreicht werden könnte?


Ich habe versucht, das Überblendungswerkzeug zu verwenden und mich der exportierten Attributtabelle anzuschließen, und das funktioniert perfekt! Ich dachte, das Überblendungswerkzeug funktioniert nur bei Attributen und nicht bei räumlichen Orten. Das ist also äußerst nützlich zu wissen. Auch der ModelBuilder-Code ist

PolyGeo
quelle
Tolle Antworten. Brad Nesom, wie erhalten Sie den Wert der ursprünglichen Attributtabelle für das aufgelöste Shapefile?
Gunnar
Ich brauche, was Sie getan haben, aber wenn ich das Überblendungswerkzeug ausführe, werden alle Funktionen in meiner Form zusammengeführt, sodass es nicht funktioniert. Wie hast du es zum Laufen gebracht?
Federico Gómez

Antworten:

13

Möglicherweise fehlt mir etwas, aber erledigt das grundlegende Dissolve-Tool (irgendwo in der Datenverwaltungs-Toolbox) dies nicht für Sie? Sie müssen sich nicht mit Code wie in der Antwort von artist21 herumschlagen. Öffnen Sie einfach das Auflösungswerkzeug, wählen Sie Ihre Feature-Class aus, wählen Sie kein Feld zum Auflösen aus und deaktivieren Sie dann "Mehrteilige Poygons erstellen". Andernfalls werden alle Ihre Polys zu einem großen mehrteiligen Poly.

Ich habe momentan keinen Arc vor mir, aber wenn ich Ihre Frage richtig lese, habe ich dies getan, bevor ich diese Methode verwendet habe. Das einzige Problem hierbei sind Attribute in der Tabelle. Sie kennen die Daten und müssen daher auswählen, wie jedes Feld im Teil "Statistikfelder" des Tools kombiniert werden soll.

Wenn dieser Vorgang extrem häufig ausgeführt wird oder Sie möchten, dass er automatisch ausgeführt wird, führen Sie dies mit dem Modellbauer aus und exportieren Sie ihn in ein Skript. Das Ausfüllen dieses Tools sollte jedoch 10 Sekunden dauern.

MWrenn
quelle
14

@ Tom Parker - MWrenn ist richtig.
Sie haben die Möglichkeit, ein Attibute auszuwählen, auf dem aufgelöst werden soll (dies führt zu einer Auflösung eines Attributs) oder kein Attribut (dies führt zu einer räumlichen Auflösung).

Wählen Sie die Statistiken und Attribute aus, die Sie übertragen möchten. (Dies wird nicht ganz so funktionieren, wie Sie es wollen).

Optionen

Vor dem Auflösen. Erstellen Sie ein neues Feld und berechnen Sie die FID darin.
Exportieren Sie dann eine Datenbank Ihrer Attribute und Sie können (verbinden Sie sie anschließend wieder mit den Polygonen).

Wenn Sie dabei Hilfe benötigen, lassen Sie es mich wissen und ich werde weitere Screenshots veröffentlichen oder Hilfe im arcgis.com Resource Center finden.

Wenn Sie im folgenden Screenshot feststellen, dass der Name in allen Polygonen gleich ist (9.3.1 scheint sich aus der Arcmap nicht korrekt aufzulösen). Probieren Sie es aus arccatalog.

nach auflösen

Vielleicht hat jemand anderes eine bessere Methode.

Die einzige andere Möglichkeit, die ich mir vorstellen kann, ist die Auswahl nach Ort (Polygone, die sich schneiden).
Exportieren Sie diese in eine separate Datei und lösen Sie sie dann auf.
Nachdem Sie jede Datei aufgelöst haben, können Sie die kostenlosen Zusammenführungsebenen verwenden (in et-geo-Assistenten).

Brad Nesom
quelle
4

Sie können ein Modell in Model Builder erstellen und das Skript exportieren. Anschließend können Sie dieses Skript kopieren und in ein UIButtonControl in ArcMap vba einfügen. Siehe Skriptbeispiel unten.

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
Artwork21
quelle