【发布时间】:2020-06-03 10:19:23
【问题描述】:
我希望在 R 中绘制地理空间数据。
我有一个数据框,其中包含 Lon、lat 和 activity 作为列。简化,看起来像
structure(list(lon = c(-0.198418, -0.19847, -0.198493, -0.198261,
-0.198308, -0.19826), lat = c(51.565559, 51.565564, 51.565588,
51.565695, 51.565524, 51.565492), ride = c(10L, 10L, 10L, 11L,
11L, 11L)), row.names = c(NA, -6L), class = c("grouped_df", "tbl_df",
"tbl", "data.frame"), groups = structure(list(ride = 10:11, .rows = list(
1:3, 4:6)), row.names = c(NA, -2L), class = c("tbl_df", "tbl",
"data.frame"), .drop = TRUE))
类似这样,但每次骑行有几千行:
lon, lat, ride
1 -0.19842 51.566 10
2 -0.19847 51.566 10
3 -0.19849 51.566 10
4 -0.19826 51.566 11
5 -0.19831 51.566 11
6 -0.19826 51.565 11
我想根据每次骑行将坐标绘制到地图上的路线中。我尝试使用 {leaflet},代码如下
leaflet(data = unnested_rides) %>%
addTiles() %>%
addPolylines(~lon, ~lat)
但它无法区分分组变量,这意味着它只是一条长线,当我包含 group 时,它会使 RStudio 崩溃。如果可能的话,我想在 {leaflet} 中执行此操作,因为它不需要 Google API,但如果它更容易/质量更好,则可以使用 {ggmaps}。
我的直觉是迭代数据,将分组数据分层添加,尽管我不太确定如何去做。有没有人有什么建议?数据已从 Strava 下载,如果有人对此感兴趣的话。
谢谢!
【问题讨论】: