我有一系列坐标数据,这些坐标数据来自离开并返回同一地点的个人(即,他们都从同一坐标离开),并且希望找到从起点开始的最大欧几里得距离每个人,我的数据集或多或少像这样
LON LAT ID年-5.473959 51.72998 1 2010-5.502444 51.58304 1 2010-5.341897 50.97509 1 2010-5.401117 50.76360 1 2010
并且起点的坐标为x = -5.479,y = 51.721
ID代表每个人(仅将ID 1显示为非常长的数据集),其中我每年有100多个人,并且有8年的数据。
感谢您的任何帮助!
这里是使用dplyr
和distHaversine
的方法:
library(dplyr)
library(geosphere)
data %>%
mutate(distance = distHaversine(c(-5.479,51.721), cbind(LON, LAT))) %>%
group_by(ID) %>%
summarize(max = max(distance, na.rm = TRUE))
# A tibble: 1 x 2
ID max
<int> <dbl>
1 1 106715.
输出应以米为单位。