如果我有一个栅格堆栈:
我想在layer.1中的同一单元格中基于其值将一个函数应用于layer.2,请问该如何操作?
举个简单的例子,将layer.1中等价单元格值为-1的layer.2中的值相乘。
require(raster)
r_test <- stack(
raster(ncols = 10, nrows = 10, vals = sample(c(-1, 0, 1), 100, TRUE)),
raster(ncols = 10, nrows = 10, vals = rnorm(100, 7, 0.4)
我想在layer.1中的同一单元格中基于其值将一个函数应用于layer.2,请问该如何操作?
举个简单的例子,将layer.1中等价单元格值为-1的layer.2中的值相乘。
overlay
来实现这个?overlay(x = r_test[[1]], y = r_test[[2]], fun = function(x, y) ifelse(x == -1, x * y, y))
- Roman Luštrik