Entfernen Sie Löcher, die in einem einzelnen Polygon für einen bestimmten Bereich in Qgis vorhanden sind

8

Ich habe ein Shapefile, das aus einem einzelnen Polygon besteht. Ich habe Lücken innerhalb des Polygons, die beseitigt werden müssen, aber nur solche, die weniger als 200 m2 groß sind.

Ich habe verschiedene Methoden ausprobiert, aber keine davon funktioniert. Ich muss diesen Prozess als Batch-Prozess ausführen.

Irgendwelche Ideen?

Aram
quelle

Antworten:

7

1) Erstellen Sie Polygone, in denen Sie ein Loch haben. Dies kann mit dem Werkzeug "Differenz" erfolgen (zeichnen Sie einfach manuell ein großes Polygon in einer anderen Ebene oder mit dem Pufferwerkzeug).

2) Wählen Sie die Polygone mit einer Größe von weniger als 200 m² aus und führen Sie diese mit Ihrem ursprünglichen Shapefile zusammen (Sie können das Vereinigungswerkzeug verwenden).

3) Verwenden Sie das Auflösungswerkzeug, um zu einem einzelnen Polygon zurückzukehren

Radouxju
quelle
Vielen Dank für die Antwort. Ich habe vergessen zu erwähnen, dass ich dies als Batch-Prozess ausführen muss. Daher kann ich während des Batches keine Polygone mit einer Fläche von weniger als 200 m2 auswählen. Irgendeine andere Idee?
Aram
Sie können während des Stapels eine Auswahl treffen. zB mit sextante.runalg ("qgis: selectbyattribute", "yourshp", "AREA", 4.200)
radouxju
3

Ein bisschen googeln Ich habe dieses experimentelle " Ringer " -Plugin für QGIS kennengelernt, das für Ihre Aufgabe gut zu sein scheint. Wenn dies funktioniert (ich habe es nicht getestet), können Sie Ihre Löcher in Polygone umwandeln. Dann würden Sie ein neues Feld in der Attributtabelle der neuen Polygone erstellen und deren Fläche berechnen (mit dem Feldrechner). Dann würden Sie die Lochpolygone mit Ihrem ursprünglichen Polygon zusammenführen und nur die Löcher auswählen, die größer als 200 m2 sind. Hoffe das hilft.

umbe1987
quelle
Ich sollte erwähnen, dass ich qgis 2.4 verwende und es hier nicht funktioniert, da es für eine andere Version geschrieben wurde (nicht auf der Seite angegeben).
umbe1987
Vielen Dank für die Antwort, ich werde morgen einen Blick auf dieses Plugin werfen, aber was das angeht, muss ich die Polygone auswählen, und ich habe nicht erwähnt, ich habe nur die Frage geändert, ich muss dies in einem Bach ausführen Laufen, ich habe Tausende von Schichten zu reinigen. Irgendeine Idee? Grüße
Aram
3

1) Polygone zu Linien

2) Linien zu Polygonen

3) Auflösen

4) Wählen Sie Polygone aus Punkt 2) <200 m2

5) Differenzpolygone von Punkt 3) mit Polygonen von Punkt 4)

Petr Hofman
quelle