6

我想创建一个具有四个波段的图像子集。因此我在R中使用crop函数。

A<-raster("L8_stacked.tif")
subset<-extent(c(639451, 660104, 5469254, 5489566))
B<-crop(A,subset)

结果,我在 .tif 文件中得到了一个只有一个波段的栅格。我是否必须定义其他选项才能获得具有 4 个波段的子集图像?

4

1 回答 1

11

正如其他人已经在评论中指出的那样,该raster()函数返回一个(单个) RasterLayer 对象。如果你想要一个多层光栅对象,你需要使用stack()orbrick()函数将图像加载到 Rie 中:

A <- stack("L8_stacked.tif")

如果您随后使用该函数应用范围crop(),则结果应该是包含原始图像中所有波段的栅格堆栈。

要了解有关光栅包的更多信息,请阅读此文档

于 2015-10-02T11:21:45.277 回答