Jak oznakować komórki rastrowe w QGIS?

10

Próbuję wyświetlić plik rastrowy o małej rozdzielczości w narzędziu QGIS Print Manager. Chciałbym pokazać małą etykietę z każdą wartością komórki (pozycja - około połowy każdej komórki).

Jak mogę to zrobić? Czy jest jakaś wtyczka, która może mi pomóc w wykonaniu tego zadania?

Moim pomysłem jest użycie gdal2xyz, załadowanie takiego pliku za pomocą wtyczki CSV, a następnie zapisanie go jako plik wektorowy. Niestety jest to dużo pracy, ponieważ mam wiele plików rastrowych.

Innym pomysłem jest użycie gdal2xyz.py, a następnie ogr2ogr, aby zapisać go jako plik wektorowy.

Czy jest jakiś sposób na wsadowe przeprowadzenie tego procesu? Czy jest jakiś program typu open source, w którym mogę to zrobić o wiele łatwiej?

matandked
źródło
Czy masz na myśli coś jak to ? Jest już prośba o tę funkcję .
Tomas,

Odpowiedzi:

7

Wydaje się, że w QGIS nie ma wtyczki ani funkcji do oznaczania komórek.

Najlepszym rozwiązaniem jest użycie przekonwertowanego pliku wektorowego do oznakowania centrów komórek. Pakiet statystyk open source R ma wiele doskonałych narzędzi przestrzennych i może grupować lub szybko przetwarzać pliki rastrowe w celu utworzenia plików kształtowych (wektor / punkty).

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")

Plik kształtu będzie miał kolumnę z wartościami rastrowymi dla każdego punktu. Punkty można następnie załadować do QGIS, mając rozmiar 0 i odpowiednio oznakować; pojawiają się w środku komórek.

Aby na przykład przejść przez wszystkie pliki TIF w katalogu:

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
źródło
4

W przypadku, gdy R nie jest dostępne (lub chcesz to zrobić w środowisku QGIS), w przyborniku przetwarzania znajduje się teraz narzędzie SAGA, wartości rastrowe do punktów w celu wyodrębnienia wartości komórek.

Możemy oznaczyć Shapeswarstwę wyjściową i nałożyć ją na oryginalny raster.

wprowadź opis zdjęcia tutaj

Kazuhito
źródło