Wie werden Rasterzellen in QGIS markiert?

10

Ich versuche, eine Rasterdatei mit kleiner Auflösung im QGIS Print Manager-Tool anzuzeigen. Ich möchte mit jedem Zellenwert (Position - ca. Mitte jeder Zelle) ein kleines Etikett anzeigen.

Wie kann ich es tun? Gibt es ein Plugin, das mir helfen kann, diese Aufgabe zu erfüllen?

Meine Idee ist, gdal2xyz zu verwenden, eine solche Datei mit dem CSV-Plugin zu laden und sie dann als Vektordatei zu speichern. Leider ist es viel Arbeit, weil ich viele Rasterdateien habe.

Eine andere Idee ist, gdal2xyz.py und dann ogr2ogr zu verwenden, um es als Vektordatei zu speichern.

Gibt es eine Möglichkeit, diesen Prozess zu stapeln? Gibt es ein Open-Source-Programm, mit dem ich es viel einfacher machen kann?

matandked
quelle
Haben Sie so etwas wie bedeuten diese ? Es gibt bereits eine Funktionsanforderung für diese Funktionalität .
Tomas

Antworten:

7

In QGIS scheint es kein Plugin oder keine Funktionalität zum Beschriften von Zellen zu geben.

Die Verwendung einer konvertierten Vektordatei zum Beschriften der Zellenmitten ist wahrscheinlich die beste Wahl. Das Open-Source-Statistikpaket R verfügt über viele hervorragende räumliche Tools und kann Rasterdateien stapelweise oder schnell verarbeiten, um Shapefiles (Vektor / Punkte) zu erstellen.

library(maptools)
library(raster)

# Load the raster from a file
r <- raster("/workspace/TEMP/raster.asc")

# Convert to spatial points
p <- as(r, "SpatialPointsDataFrame")

# Save as a shapefile
writeSpatialShape(p, "/workspace/TEMP/raster_points")

Das Shapefile enthält eine Spalte mit den Rasterwerten für jeden Punkt. Die Punkte können dann mit einer Größe von 0 in QGIS geladen und entsprechend gekennzeichnet werden. Sie erscheinen in der Mitte der Zellen.

So gehen Sie beispielsweise alle TIF-Dateien in einem Verzeichnis durch:

for (file in dir("/workspace/TEMP/", pattern="*.tif")) { # list all .tif files
  r <- raster(file)
  p <- as(r, "SpatialPointsDataFrame")
  writeSpatialShape(p, substr(file, start = 1, stop = nchar(file) -4)) # substr() removes extension.
}
Simbamangu
quelle
4

Falls R nicht verfügbar ist (oder dies in einer QGIS-Umgebung tun möchte), befindet sich jetzt das SAGA-Tool in der Verarbeitungs-Toolbox, Rasterwerte auf Punkte , um Zellenwerte zu extrahieren.

Wir können die Ausgabeebene beschriften Shapesund mit dem Originalraster überlagern.

Geben Sie hier die Bildbeschreibung ein

Kazuhito
quelle