作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个 30m x 30m 的光栅文件,我想从中采样点。在采样之前,我想从图像中移除模糊区域。我求助于 R 和 Hijman 的 Raster 包来完成这项任务。
使用 drawPoly(sp=TRUE) 命令,我绘制了 18 个不同的多边形。该函数似乎不允许将 18 个多边形作为一个 sp 对象,所以我将它们全部分开绘制。然后我给多边形一个匹配光栅的 proj4string,并将它们设置到一个列表中。我通过 lapply 函数运行列表,将它们转换为栅格(Hijman 包中的栅格化函数),多边形区域设置为 NA,图像的其余部分设置为 1。
我的最终目标是将 18 个区域设置为 NA 的栅格层。我已经尝试堆叠栅格化多边形列表,并将其子集化以在相同区域将新栅格设置为 NA。我的可重现代码如下。
library(raster)
r1 <- raster(nrow=50, ncol = 50)
r1[] <- 1
r1[4:10,] <- NA
r2 <- raster(nrow=50, ncol = 50)
r2[] <- 1
r2[9:15,] <- NA
r3 <- raster(nrow=50, ncol = 50)
r3[] <- 1
r3[24:39,] <- NA
r4 <- raster(nrow=50, ncol = 50)
r4[] <- 1
s <- stack(r1, r2, r3)
test.a.cool <- calc(s, function(x){r4[is.na(x)==1] <- NA})
无论出于何种原因,该死的 testacool 是一个空白图,我的目标是将它作为一个栅格,其中除了堆栈中的 NA 之外的所有值都等于 1。
有什么建议吗?
谢谢。
最佳答案
正在做 sum(s)
会工作,因为 sum()
返回 NA
对于任何具有甚至一个 NA
的网格单元堆栈中的值。
要查看它是否有效,请比较以下生成的数字:
plot(s)
plot(sum(s))
关于r - 将单个栅格设置为 NA,其中栅格堆栈的值为 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16270957/
我是一名优秀的程序员,十分优秀!