Как пометить растровые ячейки в QGIS?

10

Я пытаюсь показать растровый файл небольшого разрешения в инструменте QGIS Print Manager. Я хотел бы показать небольшую метку с каждым значением ячейки (позиция - около середины каждой ячейки).

Как я могу это сделать? Есть ли плагин, который может помочь мне выполнить эту задачу?

Моя идея состоит в том, чтобы использовать gdal2xyz, загрузить такой файл с помощью плагина CSV, а затем сохранить его как векторный файл. К сожалению, это много работы, потому что у меня много растровых файлов.

Другая идея - использовать gdal2xyz.py, а затем ogr2ogr, чтобы сохранить его как векторный файл.

Есть ли способ пакетировать этот процесс? Есть ли какая-нибудь программа с открытым исходным кодом, где я могу сделать это намного проще?

matandked
источник
Вы имеете в виду что - то вроде этого ? Для этой функции уже есть запрос функции .
Томас

Ответы:

7

Похоже, в QGIS нет плагина или функциональности для маркировки ячеек.

Использование преобразованного векторного файла для обозначения центров ячеек, вероятно, является лучшим выбором. Пакет статистики с открытым исходным кодом R имеет множество превосходных пространственных инструментов и может пакетно или быстро обрабатывать растровые файлы для создания шейп-файлов (вектор / точки).

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

Шейп-файл будет иметь столбец со значениями растра для каждой точки. Затем точки могут быть загружены в QGIS с заданным размером 0 и соответствующим образом помечены; они появляются в центре клеток.

Для просмотра, например, всех файлов TIF в каталоге:

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
источник
4

Если R недоступен (или вы хотите сделать это в среде QGIS), в панели инструментов обработки теперь есть инструмент SAGA, растровые значения которого указывают на точки для извлечения значений ячеек.

Мы можем пометить выходной Shapesслой и наложить его на оригинальный растр.

введите описание изображения здесь

Казухито
источник