首页 > 解决方案 > 使用 R 计算步长

问题描述

我想知道 R 中是否有计算步长的特定函数,即两个连续的 GPS 时间注册位置之间的距离(以米为单位)。

我有一个如下所示的数据集:

> head(datagps)
   Date & Time [Local]  Latitude Longitude
1: 2018-06-18 03:01:00 -2.434901  34.85359
2: 2018-06-18 03:06:00 -2.434598  34.85387
3: 2018-06-18 03:08:00 -2.434726  34.85382
4: 2018-06-18 03:12:00 -2.434816  34.85371
5: 2018-06-18 03:16:00 -2.434613  34.85372
6: 2018-06-18 03:20:00 -2.434511  34.85376

并且想创建一个列Step来执行上述操作。也许geosphere包有这样的功能?如果不是,那么最紧凑的方法是什么?

任何输入表示赞赏!

标签: rgpsgeosphere

解决方案


您可以使用geosphere和计算distHaversine两个坐标之间的:

library(geosphere)
distm(c(lon1, lat1), c(lon2, lat2), fun = distHaversine)

用于mutate添加Step字段


推荐阅读