找到不同个体的一系列坐标与单个点之间的最大距离
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年的数据
感谢任何帮助!
这是 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.
输出应以米为单位。
我有一系列来自离开和返回同一个地方的人的坐标形式的跟踪数据(即,所有人都从同一个坐标离开),我想找到从每个人的起点,我的数据集看起来或多或少像这样
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年的数据
感谢任何帮助!
这是 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.
输出应以米为单位。