我有两个坐标列表,mapped_coords,unmapped_coords,它们都是坐标列表。
我想采用 unmapped_coords 并为每个元素返回具有 mapped_coord 中最小距离的点的索引。
> head(mapped_coords)
[[1]]
[1] -79.2939 43.8234
[[2]]
[1] -79.7598 43.4381
[[3]]
[1] -79.4569 43.6693
[[4]]
[1] -81.2472 42.9688
[[5]]
[1] -79.1649 43.8073
[[6]]
[1] -79.7388 43.6753
str(mapped_coords)
List of 62815
$ : num [1:2] -79.3 43.8
$ : num [1:2] -79.8 43.4
$ : num [1:2] -79.5 43.7
使用 geosphere 包,我可以使用 distHaversine 计算一对的距离,但我不确定如何在整个列表中进行计算。
> distHaversine(unlist(unmapped_coords[1]), unlist(mapped_coords[1]))
[1] 100594.6