Ich verwende ArcGIS Desktop 10.0.
Ich habe einen Trick zum Entfernen der Ringlöcher, der darin besteht, das Polygon in Linie umzuwandeln und dann aus den Linien ein Polygon zu erstellen und am Ende alle zusammenzuführen. Der Nachteil dieser Strategie besteht darin, dass andere Löcher und leere Bereiche entfernt werden, die in Wirklichkeit leer sind und leer gehalten werden sollten. Siehe Bild unten:
Antworten:
Ich würde das Union- Tool mit NO_GAPS ausprobieren:
Sie können dann die Features mit leeren Attributen unterhalb eines Schwellenwerts auswählen und ihre Attribute so berechnen, dass sie mit dem ursprünglichen Polygon übereinstimmen. Sie können sie auch im Attributfenster des Editors kopieren / einfügen.
Features mit leeren Attributen über der Schwellengröße sollten gelöscht werden.
Von dort aus sollte das Auflösen- Tool den Job abschließen.
quelle
Die Lösung von PolyGeo ist eine, die ich selbst eingesetzt habe und die gut funktioniert (+1). Eine andere Alternative besteht darin, Ihre Polygone um einen kleinen Betrag zu puffern und das Ergebnis dann um den gleichen Betrag zu entpuffern (beispielsweise + 1 m und dann -1 m). Dies funktioniert ebenfalls gut, birgt jedoch ein geringes Risiko, versehentlich Polygone zu verbinden, die in der gleichen Menge wie Ihr Puffer benachbart sind. Es kann auch die Anzahl der Scheitelpunkte erhöhen (was ein Problem sein kann oder nicht).
Sie können auch ein Skript für eine robuste Lösung schreiben, indem Sie über jedes Polygon iterieren, temporäre Polygone basierend auf den inneren Ringen erstellen und diese auf ihre Bereiche testen. Wenn sie unter Ihrem Schwellenwert liegen, entfernen Sie diesen inneren Ring aus der Geometrie und aktualisieren Ihre Zeile. Diese Lösung ist mehr Arbeit als die Lösung von PolyGeo oder mein Puffer-Hack, ist aber möglicherweise ein "reinerer" Ansatz.
quelle
Sie können das Werkzeug "Polygon-Teil entfernen" (Datenverwaltungswerkzeuge -> Generalisierung) in ArcToolbox verwenden. Sie können angeben, wie viel Prozent der Löcher mindestens entfernt werden sollen.
quelle
Hier ist eine andere Möglichkeit, Seen aus Polygonen zu entfernen (z. B. die Postleitzahl-Kartenebene von Navteq). Dies ist auch nützlich, um Gebietskarten-Layer zu bereinigen, die durch Auflösen des Postleitzahl-Karten-Layers durch den Gebietscode generiert wurden.
Beachten Sie, dass dies das Problem der Flüsse, die in den Umriss des Polygons geschnitten werden, nicht behebt, aber die ursprüngliche Kartenebene verbessert, indem die inneren Ringlöcher entfernt werden.
quelle
Wenn Polygone in der Feature-Class andere Polygone in derselben Feature-Class enthalten (z. B. Lesotho in Südafrika) und Sie die manuelle Bearbeitung zugunsten von ModelBuilder usw. beseitigen müssen, ist die Verwendung von "Eliminate Polygon Part" die schnellste Lösung. Werkzeugeinstellungen:
- "Bedingung (optional)" = BEREICH - "Bereich (optional)" = eine sehr große Anzahl (z. B. 1e + 100) - "Nur enthaltene Teile entfernen (optional)" = [markiert]
Dies ergibt ein Südafrika, in dem Lesothos Bereich ausgefüllt ist, der für Arbeitsabläufe wie die Ausgabe von Scheitelpunkten für die Verwendung in Polygon-Visuals in Tableau unerlässlich ist.
quelle
Da es bisher nicht erwähnt wurde und das richtige Werkzeug für genau das ist, was Sie erreichen möchten : Aggregierte Polygone
Setzen Sie minimum_hole_size auf die Mindestgröße eines Polygonlochs, das Sie behalten möchten. Kleinere werden eliminiert.
Der optionale Wert minimum_area im selben Werkzeug bewirkt dasselbe für die Polygonteile, die keine Löcher sind.
quelle