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?
qgis
grass
generalization
Diogo Caribé
quelle
quelle
Antworten:
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
quelle
Ich vermute, Sie verwenden GRASS,
6.4.x
da 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:
Verwenden Sie das Differenz- Werkzeug sowohl für die ursprüngliche als auch für die gefüllte Ebene:
Verwenden Sie das Werkzeug v.generalize sowohl für die gefüllte als auch für die Differenzschicht :
Führen Sie abschließend das Differenz- Werkzeug erneut auf beiden verallgemeinerten Ebenen aus:
quelle
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.
quelle