【发布时间】:2019-02-20 23:28:07
【问题描述】:
我有一个类似于以下示例的数据集。对于每个code,我想计算与它属于同一area 的下一个最近代码的距离。因此,在我的示例中,对于属于区域 A001 的每个代码,我将位于数据集中的附加列之后,该列包含与属于区域 A001 的其他点之一的最小距离。我认为应该有一种方法可以使用st_distance 来实现这一点?
require("data.table")
require("sf")
dt1 <- data.table(
code=c("A00111", "A00112","A00113","A00211","A00212","A00213","A00214","A00311","A00312"),
area=c("A001", "A001","A001","A002","A002","A002","A002","A003","A003"),
x=c(325147,323095,596020,257409,241206,248371,261076,595218,596678),
y=c(286151,284740,335814,079727,084266,078283,062045,333889,337836))
sf1 <- st_as_sf(dt1, coords = c("x","y"), crs=27700, na.fail=FALSE)
【问题讨论】:
标签: r data.table distance sf