Wie konvertiert man gefälschte Doughnut-Löcher in Polygonen in echte?

14

Ich habe das Problem, dass ich Shapefiles in unser System importieren muss, die geometrisch gültig sein müssen, aber die Software, die jeder verwendet, um sie zu erstellen, scheint Dateien auszugeben, bei denen jedes Polygon, das ein Loch enthalten sollte, stattdessen aus einem einzigen äußeren Ring besteht, der umrundet die Grenze und geht dann auf einem beliebigen Weg nach innen, umrundet den inneren Ring und verdoppelt sich dann auf sich selbst zurück nach außen.

Was ich suche, ist eine Möglichkeit, diese aufzulösen, indem ich die Scheitelpunkte entlang des willkürlichen Pfades in das Loch hinein und wieder heraus löse, um einen separaten inneren und äußeren Ring zu bilden, der ein gültiges Polygon bildet. Ich habe die Testversion von ArcGIS ausprobiert und es scheint, als würde dies automatisch geschehen, wenn Sie die Scheitelpunkte des Double-Back-Teils zusammenschnappen. Mein Unternehmen verfügt jedoch nicht über eine Kopie von ArcGIS, und es fällt mir möglicherweise schwer, meinen Chef davon zu überzeugen Ich hatte gehofft, dass QGIS es mir erlauben würde, so etwas zu tun?

Bildschirmfoto: Beschreibung

Ich konnte nicht herausfinden, wie ich WKT aus diesem Problem herausholen kann, aber ich bin mir ziemlich sicher, dass es ein einzelner Ring ist, der sich für ein bisschen auf sich selbst zurückverdoppelt.

Sam
quelle
1
Kannst du einen Screenshot und vielleicht eine WKT-Ausgabe posten?
blah238
Ja, WKT hilft möglicherweise dabei, ein Problem zu identifizieren. Um WKT zu erhalten, wählen Sie ein solches Polygon-Feature aus. Drücken Sie Strg + C (oder Bearbeiten-Menü> Features kopieren). Öffnen Sie den Notizblock und fügen Sie ihn dort ein. Kopieren Sie den WKT-Teil in Ihren Beitrag.
Vinayan

Antworten:

12

Haben Sie versucht, einen Puffer mit einem Abstand von 0 anzuwenden?

Bildbeschreibung hier eingeben

julien
quelle
Das hat wunderbar geklappt, danke! Der Gedanke war mir gekommen, aber die Buffer-Funktion des ArcGIS-Bearbeitungstools akzeptiert keine 0 als Argument, was mich in die Irre führte, dass es etwas war, das als Unsinn galt, aber jetzt, wo ich darüber nachdenke, führte das Bearbeitungstool tatsächlich eine Null aus puffern bei jedem editieren alles für sich.
Sam