Чтение определенных растровых файлов и создание среднего растра в R - PullRequest
0 голосов
/ 21 мая 2019

Я в отчаянии, потому что моя проблема кажется очень простой, но я не могу понять, как с ней справиться.

Цель:

  1. Я хотел бы прочитать от 1 до 4 растровых файлов из папки. Имена того, что мне нужно, перечислены в списке как символы.
  2. После открытия файлов я хотел бы создать новый растр, соответствующий среднему значению файлов.

Я могу управлять им в QGIS, но мне нужно автоматизировать процесс, так как у меня много людей!

1) Он должен работать с list.files(pattern = ), но поскольку имена в списке, я не знаю, как это сделать.

Пример: для первого человека я должен прочитать 2 файла с именами 2018-12-27_sic.tif и 2018-12-27_sic_con.tif

Я пытался читать с readGDAL, open.GDAL это не сработало

большое спасибо за вашу ценную помощь

1 Ответ

0 голосов
/ 21 мая 2019

Я бы использовал функции stack и calc из пакета raster. Функция stack создает стек растров с одинаковым разрешением и экстентом и позволяет легко выполнять такие операции, как получение среднего значения для каждой ячейки. Итак:

library(raster)

fs <- list.files(pattern='tif$')

rasterstack <- stack(fs)

rastermean <- calc(rasterstack, fun=mean)

Обратите внимание, что если ваши растры имеют разное разрешение, вам придется использовать функцию resample, а если они не совпадают, вам придется использовать crop. При вводе ?resample и ?crop в RStudio вы увидите инструкции по использованию этих функций.

...