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")


wjones127/thesis documentation built on May 4, 2019, 7:34 a.m.