r - 基于类的加权栅格聚合
问题描述
假设我有一个以特定分辨率表示土地利用类别的栅格。我必须将此栅格与 R 聚合为更粗略的分辨率和模态值方法,以便在更粗略的栅格中拥有最主要的像元值。这很容易实现
m <- aggregate(r, fact = 3, fun = modal, na.rm = TRUE)
但是,我想对不同的土地利用类别进行加权——例如,森林类(代码 1)的权重为 4,而水类(代码 2)的权重为 2,街道类的权重为 1。
是否有一个函数可以遍历栅格单元并为每个单元应用权重?
谢谢你的帮助?
解决方案
您可以使用reclassify
权重,但那又如何呢?之后你还想计算模态值吗?
我认为你想要的是你自己提供的聚合函数。也许像这样
library(raster)
f <- function(x, ...) {
y <- c(
rep(x[x==1], 4),
rep(x[x==2], 2),
x[x==3]
)
modal(y, ...)
}
r <- raster(res=5)
values(r) <- sample(c(1:3,2,3,3), ncell(r), replace=TRUE)
a <- aggregate(r, fact=10, fun=f)
推荐阅读
- angular - MatAutocompleteTrigger 不适用于响应数据
- javascript - Apple Pay 界面在移动 Safari 上重定向后冻结页面
- sockets - Linux内核中的TCP/IP——控制套接字关闭超时
- r - 使用命令 metamean 为单个研究打包 meta 错误计算置信区间
- django - 使用文本框在 django 中搜索多个视图函数
- pandas - KeyError 即使密钥存在
- apache-spark - 算法计算时间问题
- python - 有没有办法让 GraphSAGE 考虑加权边缘
- android - 在 Dagger 中查找循环依赖错误的根源(使用 Bazel 构建)
- android - 如何让应用程序出现在消歧对话框中