Я пытаюсь обработать несколько тысяч изображений GeoTIFF в R с помощью простой операции вычисления (преобразование температуры из Кельвина в градусы Цельсия) из растрового пакета.
Расчет работает, но мне нужны исходные имена входных файлов в качестве выходных для последующего назначения изображений.
С моим текущим кодом берется только первое имя файла в списке, и выходной файл постоянно перезаписывается.
Полный список файлов с путем использования 'calc':
library(raster)
files <- list.files(path="myInputPath",
pattern="1km.tif$",
full.names=T)
Список имен файлов без пути к имени выходных данных:
filenames <- list.files(path="myInputPath",
pattern="1km.tif$",
full.names=F)
Два цикла для обработки данных и присвоения имени выводу:
for(j in seq(filenames)){
for(i in seq(files)){
celsius <- calc(x=raster(files[i]), fun=function(x){x*0.02-273.15})
writeRaster(celsius,
filename=paste0("myOutputPath",#path where the data should be stored
filenames[j],#filenames from list
"_celsius",#suffix to distinguish from input data
".tif"),
overwrite=T)
}
}