我在一个名为的数据框中有一组经度/纬度点person_location
+----+-----------+-----------+
| id | longitude | latitude |
+----+-----------+-----------+
| 1 | -76.67707 | 39.399754 |
| 2 | -76.44519 | 39.285084 |
| 3 | -76.69402 | 39.36958 |
| 4 | -76.68936 | 39.369907 |
| 5 | -76.58341 | 39.357994 |
+----+-----------+-----------+
然后我在一个名为的数据框中有另一组经度和纬度点building_location
:
+----+------------+-----------+
| id | longitude | latitude |
+----+------------+-----------+
| 1 | -76.624393 | 39.246464 |
| 2 | -76.457246 | 39.336996 |
| 3 | -76.711729 | 39.242936 |
| 4 | -76.631249 | 39.289103 |
| 5 | -76.566742 | 39.286271 |
| 6 | -76.683106 | 39.35447 |
| 7 | -76.530232 | 39.332398 |
| 8 | -76.598582 | 39.344642 |
| 9 | -76.691287 | 39.292849 |
+----+------------+-----------+
我要做的是计算 内的每个 ID person_location
,最接近的 ID 在 内building_location
。我知道如何使用distHaversine
from 函数计算两个单独点之间的差异library(geosphere)
,但是如何让它评估从一个点到一组多个点的最近距离?