【发布时间】:2020-01-29 22:30:59
【问题描述】:
我正在尝试使用 raster 包中的镶嵌()在 [r] 中镶嵌(a 的子集)栅格列表。
我的代码基于以下帖子:
R: Raster mosaic from list of rasters?
下面这两种方法我都试过了,
allrasters_m$fun<-mean
allrasters_dnbr_mosaic<-do.call("mosaic",allrasters_m[grep("_dnbr",allrasters_m)])
allrasters_dnbr<-allrasters_m[grep("_dnbr",allrasters_m)]
allrasters_dnbr_mosaic<-do.call(mosaic,allrasters_dnbr)
两者都给我这个错误信息:
.makeTextFun(fun) 中的错误:缺少参数“fun”,没有默认值
有什么想法吗?谢谢!
如果有帮助,这里是一些前面的代码:
rastlist_m <- list.files(path=path, pattern='tif$', full.names=TRUE)
allrasters_m <- lapply(rastlist_m, raster)
【问题讨论】:
-
您需要指定在重叠区域使用的函数,例如mean、min或max。比如:
mosaic(...., fun = mean) -
抱歉,我忘记添加我在这篇文章的第一行代码之前运行的
allrasters_m$fun<-mean语句。我还尝试了其他两种方法 1)allrasters_dnbr_mosaic<-do.call(mosaic,allrasters_m[grep("_dnbr",allrasters_m)], fun=mean)和 2)allrasters_dnbr_mosaic<-do.call(mosaic,allrasters_dnbr, fun=mean)都给我错误消息“do.call 中的错误(mosaic,allrasters_m[grep(“_dnbr”,allrasters_m)],:未使用的参数(有趣 = 意思)” -
注意 - 我特意掩盖了这些栅格,以免重叠,即它们看起来像长颈鹿身上的斑点。
-
我想知道即使使用 fun=mean 的马赛克()是否从未起作用,因为我正在镶嵌的栅格中没有重叠区域,这可以解释错误消息“未使用的参数(fun=mean)” . Merge() 能够处理组合多个没有重叠的栅格。