Warum sind die Löcher in meinen Polygonen nicht verallgemeinert?

8

Ich habe eine Polygonebene mit vielen Löchern. Ich möchte es verallgemeinern. Ich habe v.generalize von Gras verwendet. Damit habe ich den Chaiken-Algorithmus verwendet. Aber nur die Ränder von Polygonen wurden verallgemeinert, die Löcher in ihnen haben ihre Kanten nicht geglättet.

Was kann ich tun, um alle Kanten (Hinzufügen von Lochkanten) des Polygons zu glätten?

Löcher mit gezackten Kanten

Diogo Caribé
quelle
1
Ich würde Polygone in der äußeren Hülle und in den Löchern explodieren lassen, sie verallgemeinern und wieder Donut-Polygone bauen. Ich kann momentan nicht überprüfen, welche Befehle dafür verwendet werden sollen.
Detlev
Tritt dieses Problem auch in GRASS GIS 7 auf?
MarkusN

Antworten:

4

Ich empfehle Ihnen, den brandneuen Geoalgorithmus aus QGIS 2.14.1 mit dem Namen Smooth.py zu verwenden

Mit Smooth Geometry ist es möglich, das gesamte Polygon und nicht nur die Grenzen zu glätten, wie bei der Chaiken-Methode von v.generalize

eduardosteps
quelle
Interessant, muss bald QGIS 2.14 ausprobieren!
Joseph
6

Ich vermute, Sie verwenden GRASS, 6.4.xda es Probleme bei der Verallgemeinerung von Polygonen mit Löchern gab . Dies wurde in GRASS 7 behoben, obwohl ich diese Version nicht habe und sie daher nicht bestätigen kann.

Eine Problemumgehung besteht darin, das Werkzeug " Löcher füllen" aus der Verarbeitungs-Toolbox auf Ihrer ursprünglichen Ebene zu verwenden:

Beispielpolygon

Gefüllte Löcher

Verwenden Sie das Differenz- Werkzeug sowohl für die ursprüngliche als auch für die gefüllte Ebene:

Unterschied

Verwenden Sie das Werkzeug v.generalize sowohl für die gefüllte als auch für die Differenzschicht :

Verallgemeinert gefüllt

Unterschied verallgemeinert

Führen Sie abschließend das Differenz- Werkzeug erneut auf beiden verallgemeinerten Ebenen aus:

Endergebnis

Joseph
quelle
1
Ich denke zu tun, was Sie mir raten. Selbst wenn Sie das Problem meiner Frage lösen, scheint Ihre Lösung ein wenig schwierig zu sein. Ich werde überprüfen, welche Version ich meine Arbeit mache. Sie sind rigth, die Grasversion ist 6.4.x. Ich werde in Version 7.0 tun und Ihnen sagen, was passiert. Vielen Dank
Diogo Caribé
@ DiogoCaribé - Vielleicht könnten Sie Ihr Shapefile teilen, damit andere es mit anderen Methoden testen können?
Joseph
1

Ich glaube, das beste Generalisierungstool da draußen ist http://www.mapshaper.org/ und es scheint gut mit Löchern umzugehen. Super einfach zu bedienen / viel kürzere Problemumgehung. Normalerweise verwende ich den Visvalingam-Algorithmus.

Geben Sie hier die Bildbeschreibung ein

CCantey
quelle
Ich mag dieses Tool nicht. Besser, ich mag den Algorithmus nicht. Das Ergebnis ist so unhöflich. Es gibt andere Algorithmen, die Polygone kontinuierlich glätten.
Diogo Caribé