terra::nearest() to_id 列的含义
Meaning of terra::nearest() to_id column
我正在尝试使用 R
的 terra::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)
.
我的最终目标是计算每个 src
点最近的 dest
点的 attr
值。我怎样才能找到最近的 dest
点,以便我可以查找它的 attr
值?
(这是使用terra版本1.3-4
)
此错误已在 terra 版本中修复 1.4-4
我正在尝试使用 R
的 terra::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)
.
我的最终目标是计算每个 src
点最近的 dest
点的 attr
值。我怎样才能找到最近的 dest
点,以便我可以查找它的 attr
值?
(这是使用terra版本1.3-4
)
此错误已在 terra 版本中修复 1.4-4