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

问题描述 投票:0回答:1

我正在从单波段 geo-tiff 创建多波段栅格。这个想法是通过将单个图像堆叠三次来创建从单波段到多 (3) 波段的堆栈。我可以轻松地在单个图像上执行此操作 -

image1<-raster("image1.tif")
stack_image1<- stack(image1,image1,image1)

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

r for-loop raster r-raster
1个回答
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))
© www.soinside.com 2019 - 2024. All rights reserved.