如何使用另一个栅格中的条件呈现栅格(矩阵)中的某些区域?

时间:2013-12-16 13:19:00

标签: r matrix raster

我有两个矩阵r和r2。我想绘制r,这可以使用

完成
       plot (r)

但我想在r2的图中标记r中所有高于20的值。 一个可重复的例子:

   library(raster)
  r <- raster(nrows=10, ncols=10)
  r <- setValues(r, 1:ncell(r))
  r2 <- raster(nrows=10, ncols=10)
 r2 <- setValues(r2, 1:ncell(r))
 plot(r)

这将产生这个:

enter image description here

我想在此图中标记r2高于20的所有区域,例如红色。感谢您的想法

1 个答案:

答案 0 :(得分:1)

您可以这样做:

set.seed(1)
library(raster)
r <- raster(nrows=5, ncols=5)
r <- setValues(r, 1:ncell(r))
r2 <- raster(nrows=5, ncols=5)
r2 <- setValues(r2, round(runif(ncell(r),10,20)),2)
## 100 here as a value that don't exist in range of values(r)
## and it gives the blue value
r[r2<15] <- '100'
## I plot the 3 to see check the result
plot(stack(r,r2,r2<15))

enter image description here