我希望使用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"))