Ich habe zwei Ebenen: eine Rasterebene und eine Vektorebene (Polygon). Ich kann die Werte der Rasterpixel sehen, weiß aber nicht, wie ich sie mit Informationen aus der Polygonebene kombinieren soll. Genauer gesagt möchte ich:
- Summenwerte aller Pixel innerhalb der Grenzen eines Polygons
- Zählen Sie die Anzahl der Pixel mit einem bestimmten Wert innerhalb der Grenzen eines Polygons
Kann jemand helfen und beraten, wie dies in QGIS zu tun ist?
Antworten:
Früher mussten Sie v.rast.stats im GRASS-Plugin verwenden, aber jetzt können Sie die eingebauten Zonenstatistiken im Raster-Menü verwenden.
Sie haben eine Polygonebene geladen und das Raster. Sie führen den Menüpunkt aus.
das wird Teil a) Ihrer Frage beantworten.
v.rast.stats und andere Tools geben Ihnen eine detailliertere Ausgabe, aber wahrscheinlich besteht ein einfacher Workflow für b) darin, jedes Polygon zu extrahieren (verwenden Sie das Menü Raster | Extraktion | Clipper) und dann für jedes ein Histogramm auszuführen. Hängt von der Struktur Ihrer Daten ab, wie oft Sie dies tun müssen usw.
quelle
Wie Willy sagte, können Sie für Ihr erstes Ziel das Modul v.rast.stat verwenden. Das Modul erstellt neue Spalten in Ihrer Vektordatenbank mit den gesuchten statistischen Werten (Min-Wert, Max, Mittelwert, Standardabweichung, Anzahl usw.).
Bei Ihrer zweiten Frage müssen Sie die Werte "verbergen", die unter (oder über) Ihrem Schwellenwert liegen. Eine Möglichkeit, dies zu tun, besteht darin, den Rasterrechner von qgis zu verwenden und den folgenden Ausdruck zur Berechnung einzugeben:
Die Klammer erstellt eine Maske, dh alle Werte über 10 nehmen den Wert 1 und alle Werte den Wert 0 an. Als Nächstes multiplizieren Sie beide Werte mit den ursprünglichen Werten. Und offensichtlich ist 0 durch etwas gleich 0.
Setzen Sie den Knotenwert für das erzeugte Maskenraster auf 0 und führen Sie v.rast.stats erneut aus.
quelle