为目录中的每个波段栅格创建栅格堆栈

时间:2021-03-23 16:50:38

标签: for-loop gis raster r-raster

我正在从单波段 geo-tiff 创建多波段栅格。这个想法是通过将单个图像堆叠三次来创建从单波段到多 (3) 波段的堆叠。我可以通过 - image1<-raster("image1.tif") 轻松地对单个图像执行此操作 stack_image1<- stack(image1,image1,image1)

如何运行此代码片段以在目录中的所有光栅图像上运行。

1 个答案:

答案 0 :(得分:0)

你可以做这样的事情。 示例文件

f  <- system.file("external/test.grd", package="raster")
ff <- c(f,f,f)

library(raster)
x <- lapply(ff, function(i) stack(rep(i,3)))

或者用terra

library(terra)
x <- lapply(ff, function(i) rast(rep(i,3)))

或者像这样

y <- lapply(ff, function(i) rep(rast(i), 3))