Я хотел бы создать что-то похожее на это:
С моими пробежками с использованием ggplot2:
Imho лучший способ добиться этого - использовать geom_path но я столкнулся с некоторыми проблемами. В моей базе данных есть 3 столбца: ID (идентификатор прогона, полезный для группировки данных). Lat Lon Вот пример: https://docs.google.com/spreadsheets/d/1lUUwVUzt4wCvbDLSrusfH9pVFXw-8icC8mLJ0QKBYKU/edit?usp=sharing
PS. Извините, данные слишком велики для dput
1: Как рассчитать интенсивность пути. Я думал о подсчете количества координат (широта, долгота) в пределах диапазона (например, 50 м). Итак, пара лат, долг с большим количеством координат рядом с ним. Это точка с высокой интенсивностью. Проблема в размерности данных. У меня есть тонны строк, и моя вычислительная мощность не может рассчитать эту большую матрицу (известная ошибка: не могу выделить вектор.). Мое решение обойти ошибку - al oop, которая вычисляет расстояние для каждой строки:
npoints_2<-c()
for (i in 1:nrow(db)){
vector_distance<-distm(db[i,2:3], db[-i,2:3], fun = distHaversine) #for each row calculate the distance between the point and the dataset
npoints<-sum(vector_distance<50) #count points within 50m
npoints_2<-c(npoints_2,npoints)
}
Поскольку это всего лишь oop, это решение очень медленное (и нереальное). Должно быть более разумное решение, но, вероятно, я слишком нуб, поэтому, пожалуйста, помогите мне.
Результат этого подхода с несколькими прогонами следующий:
ggplot(db, aes(lon,lat, group=id,color = log(n_punti_2))) +
geom_path() +
scale_colour_continuous(low = "darkblue", high = "cyan")
В связи с этим возникает вторая проблема: похожие маршруты с небольшими различиями в терминах координат.
Какой наилучший способ объединить похожие маршруты? Имхо по графической причине лучше иметь одну единственную линию с высокой интенсивностью, чем 2/3 / n, довольно похожие линии с одинаковой интенсивностью
Заранее спасибо за вашу помощь. Это очень ценно !!!