我无法解决错误:尝试计算两点(跑道入口/终点)之间的(跑道长度)距离时,“向量长度错误,应为 2”。更糟糕的是,我无法理解像这里这样的答案R error: Wrong length for a vector, should be 2并将它们应用于我的案例。(跑道末端)位置的简化数据框如下所示:
runways <- data.frame(
RWY_ID = c(1,2,3)
,RWY = c("36R", "36L","01")
,LAT = c(40.08, 40.12, 40.06)
,LON = c(116.59, 116.57, 116.62)
,LAT2 = c(40.05, 40.07,40.09)
,LON2 = c(116.6, 116.57, 116.61)
)
使用 geosphere 中的 distHaversine() 函数,我尝试计算距离:
runways <- mutate(runways
, CTD = distHaversine( c(LON, LAT), c(LON2, LAT2))
)
我不确定我在这里做错了什么。如果我拉出 LON LAT 位置,它是一个具有正确长度的数值向量。
myv <- c(runways$LON[1], runways$LAT[1])
myv
[1] 116.59 40.08
str(myv)
num [1:2] 116.6 40.1