在R中使用foreach循环投影大型栅格

时间:2019-03-30 04:04:37

标签: r r-raster

我正在尝试投影大的R栅格并对其重新采样20到10米。这个过程太慢了,然后我使用了foreach包来加速这个过程。

但是,我不知道如何在下一行中在循环内使用生成的栅格(例如,在栅格堆栈S2中,因为调用的图像NIR_downs看起来像不存在了。)

path<-"D:/Multiscale"
r_S2<-list.files(path=path,pattern = glob2rx("*.jp2$"), ## nc es la extension de HDF
                 full.names = TRUE, recursive = TRUE)

ROI<-readOGR("E:/Mapa/ROI_5km.shp")
sr<-"+proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0"
ROI<-spTransform(ROI,CRS=sr)

cores <- detectCores()-1
cl       <- parallel::makeCluster(cores)
registerDoParallel(cl)

foreach(i=11, .packages = "raster") %dopar% {
        NIR_downscalled<-projectRaster(raster(r_S2[i]),res=10,crs=sr,method="ngb")
}

stopCluster(cl)

S2<-stack(r_S2[2:4],r_S2[8],NIR_downscalled)

0 个答案:

没有答案