找到不同个体的一系列坐标与单个点之间的最大距离

find maximum distance between a series of coordinates of different individuals to a single point

我有一系列来自离开和返回同一个地方的人的坐标形式的跟踪数据(即,所有人都从同一个坐标离开),我想找到从每个人的起点,我的数据集看起来或多或少像这样

   LON      LAT      ID year    
-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年的数据

感谢任何帮助!

这是 dplyrdistHaversine 的方法:

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.

输出应以米为单位。