【发布时间】:2016-04-21 09:38:36
【问题描述】:
我有两个大型 Rasterstack(每个 6000 个)。我想做一些简单的计算,比如
NewRasterStack = RasterStack_1 + RasterStack2*(-3)
你能帮我推荐工作代码来做这个计算吗?所有数据都是使用 R raster 包处理的,所以我正在寻找 raster calc 函数。
提前谢谢你!
【问题讨论】:
-
如果您能提供一个最小的可重现示例来解决您的问题,那就太好了。我们可以从中工作并使用它来向您展示如何回答您的问题。这样,将来其他人也可以适合您的问题以及随附的答案。您可以查看this SO post,了解如何在 R 中制作出色的可重现示例。
-
你试过
NewRasterStack <- RasterStack_1 + RasterStack2*(-3)吗?如果两个堆栈具有相同的尺寸、层数等,它应该可以工作。 -
有关@JoshO'Brien 评论的其他上下文:Difference between = and <-
-
@Badger 实际上,
=在这里和<-一样有效。我可能应该说“尝试做NewRasterStack = RasterStack_1 + RasterStack2*(-3)”。这里的关键点是 raster 包重载了+和*运算符(以及其他运算符),因此当传递一对Raster*对象。 -
@jbaums,真的。非常真实。我会在下次从罐子里倒出来之前更新它。