我正在尝试使用R
'sterra::nearest()
函数,但我无法理解输出格式以及如何实际找出最近的点!这是一个简单的例子:
> dest <- terra::vect(data.frame(x = c(0, 0, 5, 5), y = c(0, 5, 0, 5), attr = 1:4), geom = c("x", "y"))
> src <- terra::vect(data.frame(x = c(3, 1, 2), y = c(2, 3, 1)), geom = c("x", "y"))
> near_ret <- terra::nearest(src, dest)
> print(near_ret)
class : SpatVector
geometry : points
dimensions : 3, 7 (geometries, attributes)
extent : 0, 5, 0, 5 (xmin, xmax, ymin, ymax)
coord. ref. :
names : from_id from_x from_y to_id to_x to_y distance
type : <num> <num> <num> <num> <num> <num> <num>
values : 1 3 2 1 5 0 2.828
2 1 3 2 0 5 2.236
3 2 1 3 0 0 2.236
好的,所以to_x
和to_y
列distance
对我来说很有意义并且看起来正确。但to_id
对我来说没有任何意义。我会假设该列会有索引dest
,但它显然没有,因为dest[1, ]
不是。(0, 0)
(5, 0)
我的最终目标是找出最接近每个点attr
的点的值。如何找到最接近的点以便查找它的值?dest
src
dest
attr
(这是使用 terra 版本1.3-4
)