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