如何在另一个栅格具有NA的情况下将栅格值设置为“ NA”

时间:2020-09-08 21:12:46

标签: r raster na

我对R和栅格数据还很陌生。我有两个大的栅格图层。一个栅格图层的值只有“ 1”-其他所有值(不是1的值)都设为“ NA”。我想使第二个栅格图层在第一个栅格具有“ NA”的相同位置/像素中具有“ NA”。这两个栅格图层具有相同的范围和分辨率。

到目前为止,我已经尝试堆叠栅格并使用 NAvalue 函数使栅格“ NA”成为另一个(第一个栅格)为==“ NA。 ”这没用。

我还认为 cover() 函数可能会起作用,但这只会将一层的NA值更改为其他层中的非NA值。 (但是我想做相反的事情-将非NA /有效值更改为NA)。

我认为这是一个简单的解决方案;但是,我到处都在寻找如何执行此任务的方法,却找不到任何东西。

1 个答案:

答案 0 :(得分:0)

您正在寻找mask方法

library(raster)
r <- raster(ncol=10, nrow=10)
m <- raster(ncol=10, nrow=10)
values(r) <- 1:ncell(r)
values(m) <- rep(c(1,NA,1,NA), 25)
mr1 <- mask(r, m)

因为所有值或m为1,您也可以这样做

mr2 <- r * m
相关问题