Raster-Generalisierung - Puffer in Rastern, Pixel erweitern?

12

Ist es möglich, Puffer für Pixel von Rasterdateien zu erstellen? Eigentlich muss ich die als 1 klassifizierten Pixel (in der Abbildung in Weiß) mit einem räumlichen Bereich von 1 oder 2 Pixeln erweitern, um eine Verallgemeinerung durchzuführen. Ich benutze QGIS, ist das mit gdal möglich oder so?

Bildbeschreibung hier eingeben

vascobnunes
quelle

Antworten:

13

QGIS bietet eine Schnittstelle zu GRASS GIS, das als Raster-GIS begann und daher einige effiziente Tools zur Behebung dieses Problems bereitstellen sollte. In den Handbuchseiten der Rasterbefehle finden wir die folgenden Lösungen:

r.buffer - direkte Pufferung weißer Zellen.

r.cost - kann Entfernungen zu weißen Zellen berechnen. Führen Sie anschließend einen Vergleich durch, um Zellen mit geringem Abstand auszuwählen.

r.grow - eine lokale morphologische Operation, die speziell entwickelt wurde, um weiße Zellen in ihre unmittelbaren Nachbarn zu expandieren.

r.mfilter - ein allgemeiner Fokusfilter . Verschiedene Fokusstatistiken, wie z. B. Maximum, Mittelwert, Summe, Median und Standardabweichung, können das Vorhandensein weißer Zellen in lokalen Nachbarschaften erkennen. Führen Sie anschließend einen Vergleich durch, um solche Zellen auszuwählen.

r.neighbours - ein noch allgemeinerer Fokusfilter , der ähnlich wie r.mfilter verwendet werden kann.

r.resample - Resampling in ein gröberes Raster ist eine Möglichkeit, die weißen Zellen zu erweitern. Das Ergebnis wird etwas "blockig" sein.

r.spread - das "Ausbreiten" weißer Zellen in ihre Nachbarschaften wird die gewünschte Pufferung erreichen.

Wir sollten erwarten, dass r.buffer, r.grow und vielleicht r.mfilter den effizientesten Code verwenden. (Ich habe diese nicht getestet, um herauszufinden.)

whuber
quelle
1

Ich würde behaupten, dass es möglich ist. Ich bin mir nur nicht sicher, ob Sie es mit QGIS schaffen, da ich es nicht gut genug kenne. Kann QGIS Nachbarschaftsstatistiken erstellen? Angenommen, die schwarzen Pixel sind Null und die weißen Pixel sind 1, dann ergibt eine statistische 3 × 3-Nachbarschaftsfunktion, die das Maximum der Zellen berechnet, eine "1" für die benachbarten Pixel des weißen Randes. Sie können diese Pixel dann in einer zweiten Prozedur isolieren (oder die Nachbarschaftsstatistik ein zweites Mal für eine zweite Pixelreihe ausführen).

G-Wizard
quelle