如何根据 R 中的分类栅格数据用最近邻填充栅格中的 NA 值?

问题描述 投票:0回答:0

我正在使用以 shapefile 形式提供的地质数据。但是,我需要它们作为光栅。因此,我使用 Terra 将它们转换为分类栅格。数据中充满了湖泊、河流和其他开放水域的 NA。我需要用最近的邻居类别或相邻单元格中最常见的类别来填充这些 NA 单元格。不幸的是,焦点计算值而不仅仅是扩展类别。我也尝试过使用多边形来填充 Terra 的孔,但同样无法完全填补空白。

例如:

r <- raster(matrix(c(rep(1, 10), 11:16), nrow = 8, ncol = 8))
r[1,1] <- NA

NA 值应该用 1 填充,因为最近的值是 1.

在我的真实示例中,这将是一个因素。我已经在这个问题上停留了一段时间,所以任何帮助将不胜感激。

我已经在多边形数据和 terra::focal 上尝试了 terra::fillholes。填充孔没有完全关闭间隙和焦点计算值。我试图为焦点函数选择模态,但它没有用最近的样本填充值。我不能做插值,因为它是分类的,没有其他栅格可以预测。

r gis raster spatial terra
© www.soinside.com 2019 - 2024. All rights reserved.