suppressPackageStartupMessages(library(rgdal)) suppressPackageStartupMessages(library(rgeos)) suppressPackageStartupMessages(library(ggplot2)) suppressPackageStartupMessages(library(dplyr)) suppressPackageStartupMessages(library(Hmisc))
load("../data/rides.RData") load("../data/bikeroutes.RData")
In the end, we want a dataframe with the variables:
New theory: the segments are already in the data, I just need to find them.
route.segments <- rides.final %>% rename(long.start = long, lat.start = lat) %>% mutate(long.end = Lag(long.start, shift = -1), lat.end = Lag(lat.start, shift = - 1), order.shifted = Lag(order, shift = -1)) %>% filter(order.shifted != 1 & !is.na(order.shifted) ) %>% select(long.start, lat.start, long.end, lat.end, id, order, piece) segments <- route.segments %>% select(long.start, lat.start, long.end, lat.end) %>% group_by(long.start, lat.start, long.end, lat.end) %>% summarise(count = n()) %>% tbl_df()
There seems to be very few segments that are actually common between the different rides, which is rather troubling.
segments %>% ggplot(aes(x = long.start, y = lat.start, xend = long.end, yend = lat.end)) + geom_segment() + coord_map(projection = "mercator") + xlim(-122.68, -122.64) + ylim(45.5, 45.525) + ggtitle("All of the road segments") segments %>% filter(count > 1) %>% ggplot(aes(x = long.start, y = lat.start, xend = long.end, yend = lat.end)) + geom_segment() + coord_map(projection = "mercator") + xlim(-122.68, -122.64) + ylim(45.5, 45.525) + ggtitle("Road segments that have multiple occurences.")
Now let's save the segments.
save(route.segments, file="../data/route_segments.RData") save(segments, file="../data/segments.RData")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.