0

我有两个数据框。一个地图上有大约 600 个人的位置,如下所示:

Names<-c("Mike","Ron","Joe")
Lat<-c(61.5,63.2,50.1)
Long<-c(-140.2,-139.2,-145.6)
df<-data.frame(Names,Lat,Long)

另一个具有人们可能需要到达的位置:

Places<-c("ClinicA","ClinicB","ClinicC")
Lat<-c(58.5,50.2,40.1)
Long<-c(-135.2,-133.2,-140.6)
df1<-data.frame(Places,Lat,Long)

我知道,如果我有一组单独的坐标,我可以使用 googleway 来获取两者之间的距离,如下所示:

df <- google_distance(origins = list(c("Melbourne Airport, Australia"),
                                 c("MCG, Melbourne, Australia"),
                                 c(-37.81659, 144.9841)),
                  destinations = c("Portsea, Melbourne, Australia"),
                  key = key)

我的问题是,我想遍历每个人,计算到每个地点的距离(即为每个人返回三个不同的距离),然后只为每个人保留最小的距离。生成的数据框有望为:

行:名称,纬度,经度,NearestPlace,到那个地方的距离

我假设它可能是一个“for”循环,但在这一点上我有点迷失了。任何帮助将不胜感激,谢谢!

4

0 回答 0