我刚开始学习R语言,但是希望能尽快完成项目。这是一个相对简单的任务:我有一个X列和一个Y列,分别包含X坐标和Y坐标。(使用NAD27坐标系)。从第一个坐标开始,我想在数据集中找到最近的点,然后继续移动到下一个坐标,并在同一数据集中找到它的最近点。理想情况下,它会遍历每个点并确定最接近的点。
point x y
1 1601774 14544454
2 1616574 14579422
3 1608698 14572922
4 1602948 14572990
5 1607355 14573871
6 1615336 14578178
7 1603398 14574495
8 1605153 14570727
9 1606758 14573845
10 1606655 14570953
sp::spDists
或rgeos::gDistance
应该会有所帮助,但你需要先尝试一些东西(人们不会只为你写代码)。 - hrbrmstrds <- as.matrix(dist(dat, diag=TRUE, upper=TRUE)); diag(ds) <- Inf; apply(ds, 1, which.min)
。不过也可能有更巧妙的方法。 - Rorschach