计算轴承到行程的最远点

时间:2016-02-17 11:36:34

标签: r gps angle direction bearing

我有GPS数据,我正在尝试计算行程中最远的部分。我的数据如下:

  

Time Lat Long 18:11:25 -38.621449 142.931061 18:13:25 -38.62212 142.929871 18:15:33 -38.623333 142.92868 ... 23:16:26 -38.793068 142.827881 23:18:54 -38.795414 142.838516 23:23:02 -38.795803 142.839066 ... 09:59:49 -38.621532 142.930786

我正在尝试计算起点(-38.621449 142.931061)和最远点(-38.793068,142.827881)之间的方位。

我可以通过手动从电子表格中提取2个位置并使用我的脚本计算方位来实现这一目的:

`   bearing <- function(lat1,lon1,lat2,lon2){
lat1 <- angledim(lat1,"degrees","radians")
lon1 <- angledim(lon1,"degrees","radians")
lat2 <- angledim(lat2,"degrees","radians")
lon2 <- angledim(lon2,"degrees","radians")

dlon <- lon1 - lon2


theta <- atan2(cos(lat2)*sin(dlon),cos(lat1)*sin(lat2)-sin(lat1)*cos(lat2)*cos(dlon))
theta <- angledim(theta,"radians","degrees")
theta <- (theta+360) %% 360
theta   
}`

有没有更简单的方法来计算这一点而无需通过无穷无尽的电子表格?

(如果事情格式不正确,请事先道歉,这是我的第一个问题!)

谢谢!

1 个答案:

答案 0 :(得分:1)

我在这里使用化石包装中的earth.bear功能,但你可以使用自己的自定义书写功能。

earth.bear(mydata$Long[1],mydata$Lat[1],
       tail(mydata$Long, n=1),tail(mydata$Lat, n=1))