Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library(ggmap)
- library(readr)
- library(rjson)
- test <- read_csv("../input/test.csv.zip")
- map <- readRDS("../input/99percentile_bw_map_copyright_openstreetmap_contributors.rds")
- positions <- function(row) as.data.frame(do.call(rbind, fromJSON(row$POLYLINE)))
- coordinates <- data.frame(TripId=c(), Ordinal=c(), Lat=c(), Lon=c(), Status=c(), EndPoint=c())
- for (i in 1:nrow(test)) {
- pos <- positions(test[i,])
- if (nrow(pos)==1) {
- status <- c("Start")
- } else {
- status <- c("Start", rep("During Trip", nrow(pos)-2), "Last Observation")
- }
- coordinates <- rbind(coordinates, data.frame(TripId=test$TRIP_ID[i],
- Ordinal=1:nrow(pos),
- Lat = pos$V2,
- Lon = pos$V1,
- Status = status,
- Endpoint = status != "During Trip"))
- }
- coordinates$Status <- factor(coordinates$Status, levels <- c("Start", "During Trip", "Last Observation"))
- p <- ggmap(map) +
- geom_point(data=coordinates, aes(x=Lon, y=Lat, color=Status, size=Endpoint)) +
- ggtitle("Taxi Trips in the Test Set") +
- scale_color_manual(values=c("#377EB8", "#4DAF4A", "#E41A1C")) +
- scale_size_manual(values=c(1.5, 3))
- ggsave("test_trips_map.png", p, width=10, height=8, units="in")
Add Comment
Please, Sign In to add comment