循环 R 中的原点和终点坐标



我希望使用library(geosphere)中可用的distCosine函数计算一组经度和纬度之间的大圆距离

结构将遵循

distCosine(c(Longo,Lato),c(Longd,Latd))

对于每一行,前两行的示例如下所示

      Longo     Lato    Longd     Latd
1 -2.098389 57.14816 4.965820 52.34876
2 -2.098389 57.14816 5.723877 58.96700

第一行的值应为 700303.8

如何循环函数以计算第二行?

理想情况下,除此之外,还有一种方法可以输出这些距离值

你可以

试试

distCosine(as.matrix(df[,1:2]), as.matrix(df[,3:4]))
#[1] 700303.9 502835.0

这似乎也有效,但从?distCosine中不清楚

distCosine(df[,1:2], df[,3:4])
#[1] 700303.9 502835.0

?distCosine

二余弦(p1, p2, r=6378137(

P1:点的经度/纬度。可以是两个向量 数字,一个由 2 列组成的矩阵(第一列是经度, 第二个是纬度(或空间点*对象

P2:同上

数据

df <- structure(list(Longo = c(-2.098389, -2.098389), Lato = c(57.14816, 
57.14816), Longd = c(4.96582, 5.723877), Latd = c(52.34876, 58.967
)), .Names = c("Longo", "Lato", "Longd", "Latd"), class = "data.frame", row.names = 
 c("1", "2"))

最新更新