Я хочу сделать некоторые вычисления со списком растров.Поэтому я написал цикл, который до сих пор работал нормально, когда я использовал только растры.Теперь у меня есть расчеты с растрами и числовыми значениями, и это как-то вызывает ошибку в функции наложения.Мой код:
список файлов
NDVI <- list.files(path =
"C:/Users/Felix/Desktop/Bachelorarbeit/Daten/Datenverarbeitung_R/L8_NDVI",
pattern = 'NDVI.tif$', full.names=T)
определение функции
fun_PV <- function(x,y,z){((x-y)/(z+y))^2}
Loop
for(i in seq_along(NDVI))
{
PV <- overlay(x = raster(NDVI[i]),
y = minValue(raster(NDVI[i])[[i]]),
z = maxValue(raster(NDVI[i])[[i]]),
fun = fun_PV)
sat = substr(NDVI[i], 73, 77)
path = substr(NDVI[i], 78, 84)
date = substr(NDVI[i], 85, 92)
setwd
("C:/Users/Felix/Desktop/Bachelorarbeit/Daten/Datenverarbeitung_R/L8_PV")
writeRaster(PV,filename = paste0(sat, path, date, '_PV', '.tif'))
removeTmpFiles(h=0.1)
}
Ошибка, которую я получаю:
Ошибка в (функция (классы, fdef, mtable): не удалось найти унаследованный метод для функции 'overlay' для подписи '' RasterLayer ',' numeric ''