r - 在 R 中使用 sf 查找最近的特征

标签 r sf

我想使用 R 中的 sf 包在 R 中的一个简单特征数据框中找到与另一个简单特征数据框中一组点最近的多边形。我一直在“st_join”语句中使用“st_is_within_distance”,但是这将返回给定距离内的所有内容,而不仅仅是最近的特征。

以前,我使用了 'rge​​os' 包中的 'gDistance' 和这样的 'sp' 功能:

m = gDistance(a, b, byid = TRUE)
row = apply(m, 2, function(x) which(x == min(x)))
labels = unlist(b@data[row, ]$NAME)
a$NAME <- labels

我想将这种使用 rgeos 和 sp 为一组点查找最近特征的方法转换为使用 sf。任何意见或建议非常感谢。

最佳答案

看来我的问题的解决方案已经发布了 -- https://gis.stackexchange.com/questions/243994/how-to-calculate-distance-from-point-to-linestring-in-r-using-sf-library-and-g -- 这种方法正是我所需要的给定 sf点特征 'a' 和 sf多边形特征“b”:

closest <- list()
for(i in seq_len(nrow(a))){
    closest[[i]] <- b[which.min(
    st_distance(b, a[i,])),]
}

关于r - 在 R 中使用 sf 查找最近的特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49200458/

相关文章:

在 dplyr 0.7+ 函数中重命名

r - 错误: "HTML widgets cannot be represented in plain text"

对 data.frame 中多列中的行重新排序,然后删除仅包含 NA 的行

r - st_read() 中的查询问题

r - 格式化多个 geom_sf 图例

r - 修复更新和检查更新数据条件的循环

r - 根据 R 中的其他变量更改值

r - 在大型数据集上加速 st_crop(sf 包)的方法

r - 在 sf 中测试/过滤几何图形的相等性?

r - 如何转换从 CSV 读取为纬度/经度坐标的地理空间数据以匹配从 SHP 读取的数据?