gpt4 book ai didi

r - n 个栅格层的堆栈{栅格}

转载 作者:行者123 更新时间:2023-12-04 19:59:58 27 4
gpt4 key购买 nike

我有一个关于 stack() 的问题栅格图层。

平时我stack()像这样的光栅层:

stack(RasterLayer1,RasterLayer2,RasterLayer3) # e.g. for 3 Layers

我的问题是,我怎样才能 stack()光栅层无需在每个光栅层中输入?

例如: n是栅格图层的数量(例如 12 个),全部命名为 band .

我创建了 n-Raster图层,现在我想在不键入 n 次栅格图层名称的情况下堆叠所有图层。所以不要输入:
stack(band1,band2,band3,band4,band5,band6,band7,band8,band9,band10,band11,band12)

我想通过 stack(band[n]) 做空它,但这不起作用。

如果我创建了一个包含所有乐队的列表,我就无法堆叠该列表,因为它们没有出现在我的工作目录中,因为我刚刚创建了它们。

任何人都可以帮助我吗?

最佳答案

如果您的数据位于目录中,您可以使用搜索模式(例如:*.tif、*.grd、...)并将其存储在变量中。

bands <- list.files(path=".",pattern="*.tif",full.names=TRUE,recursive=TRUE)

现在假设您的数据被称为:
band_01.tif
band_02.tif
band_03.tif
band_04.tif
band_05.tif
band_06.tif
band_07.tif

那么你可以堆叠例如:
data_stack <- stack(bands) #stack all data
data_stack <- stack(bands[1:3]) #stack 1,2 and 3 data
data_stack <- stack(bands[c(1,3,5,7)])

关于r - n 个栅格层的堆栈{栅格},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37941164/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com