我有一个关于最大重叠多边形光栅化的问题,即将具有最高面积重叠的多边形的值分配给光栅单元。
现实世界中的练习是在R中光栅化土壤ID多边形,以产生相对低分辨率的土壤属性地图作为模型输入。
问题在于terra包的函数(和类似stars的)将单元格值从包含单元格中心的多边形分配。如果一个光栅单元格包含多个多边形,则我更愿意选择光栅单元格中覆盖面积最大的多边形(土壤ID)的值。
这里有一个使用terra可视化我的问题的小型自包含示例。
library(terra)
f <- system.file("ex/lux.shp", package="terra")
v <- vect(f)
r <- rast(v, ncols = 3, nrow = 3)
rcc <- vect(xyFromCell(r, cell = 1:ncell(r)))
x <- rasterize(v, r, field = "NAME_2")
plot(x)
lines(r, col = "light gray")
lines(v)
points(rcc)
大多数情况下,包含单元格中心的多边形似乎具有最大的面积份额。但是,在某些情况下(顶行第3个单元格),情况并非如此。 随着单元格与多边形相比越来越大,问题似乎会变得更加严重。因此,我可以从高分辨率栅格图开始,然后使用聚合函数(例如mode)重新采样到所需的(较低)分辨率。但是,也许有人有更有效的想法吗?
感谢您的帮助!
terra
的所有不同可能性。这真的非常启发人。干杯。 - lovalery