我想根据附加到栅格Map(SpatRaster
)的属性表而不是像元值对栅格Map进行分类。
下面是terra::activeCat()
函数的帮助下的一个reprex:
set.seed(0)
r <- rast(nrows=10, ncols=10)
values(r) <- sample(3, ncell(r), replace=TRUE) + 10
d <- data.frame(id=11:13, cover=c("forest", "water", "urban"), letters=letters[1:3], value=10:12)
levels(r) <- d
cats(r)
# [[1]]
# id cover letters value
# 11 forest a 10
# 12 water b 11
# 13 urban c 12
我想将urban
类(cover == "urban"
)的单元格更改为NA
。
# this does not work
activeCat(r) <- 2
classify(r, cbind("urban", NA))
# this works but using the cell value
classify(r, cbind(13, NA))
谢谢
1条答案
按热度按时间bq3bfh9z1#
您可以使用
subst
示例数据
解决方案
尽管将标签设置为NA有点奇怪。所以我会做这个
或与您显示的
classify
等效的。对于更复杂的情况,可以删除类别,然后在以后重新设置它们