我尝试了逐行的方法,如下所示:
library(geosphere)
best <- 1000000
for ( var1 in df1 )
{ findpoint <- c(df1$longitude[var1], df1$latitude[var1])
for ( var2 in df2 )
{ basepoint <- c(df2$longitude[var2], df2$latitude[var2])
dis <- distHaversine( basepoint, findpoint, 6378137)
if (dis < best) {best <- dis
}
print ( best)
}
并得到“.pointsToMatrix(p1) 中的错误:向量的长度错误,应为 2”
我想使用一种没有任何外部函数的方法,这样我就可以确认使用一个方法的结果。当然,我实际上会寻找最好的 5 分并用 df1 数据记录他们的信息。