9
Używam funkcji trasy ggmap do obliczania i wizualizacji setek tras przy użyciu danych DCC Capital Bikeshare. Z powodzeniem mogę to zrobić z jednym drobnym problemem, ścieżka trasy nie podąża drogami, szczególnie zakrzywionymi (patrz zrzut ekranu poniżej). Czy istnieje sposób na wyszukanie mojego kodu dla wszystkich bardziej szczegółowych ścieżek?Jak uzyskać dane trasy ggmap do podążania ścieżką drogową
library(tidyverse)
library(ggmap)
# Example dataset
feb_14 <- read.csv('https://raw.githubusercontent.com/smitty1788/Personal-Website/master/dl/CaBi_Feb_2017.csv', stringsAsFactors = FALSE)
# Subset first 300 rows, keep start and end Lat/Long strings
start<-c(feb_14[1:300, 14])
dest<-c(feb_14[1:300, 15])
# df of individual routes
routes <- tibble(
start,
dest)
# Function to calculate route
calculationroute <- function(startingpoint, stoppoint) {
route(from = startingpoint,
to = stoppoint,
mode = 'bicycling',
structure = "route")}
# Calculate route path for all individual trips
calculatedroutes <- mapply(calculationroute,
startingpoint = routes$start,
stoppoint = routes$dest,
SIMPLIFY = FALSE)
# Unlist and merge in single dataframe
do.call(rbind.data.frame, lapply(names(calculatedroutes), function(x) {
cbind.data.frame(route=x, calculatedroutes[[x]], stringsAsFactors=FALSE)
})) -> long_routes
# create map with routes
basicmap <- get_map(location = 'washingtondc',
zoom = 13,
maptype = "toner-background",
source = "google",
color = "bw")
basicmap <- ggmap(basicmap)
basicmap + geom_path(data=long_routes,
aes(x=lon, y=lat, group=route), color = "red",
size=1, alpha = .4, lineend = "round")
spróbuj 'wyjścia = "all"' 'wewnątrz trasy (from = startpoint, to = stoppoint, mode = 'bicycling', structure = "route", output = "all") ' – SymbolixAU
Powoduje to wywołanie do.call (rbind ..., aby rzucić ten błąd. function (..., row.name s = NULL, check.rows = FALSE, check.names = TRUE,: argumenty sugerują różną liczbę wierszy: 1, 0 –
Mapnie Valhalla to usługa internetowa, która może zapewnić trasy od punktu do punktu, w tym GeoJSON trasy. https://mapzen.com/blog/valhalla-intro/. Pakiet GeoJSONio może najwyraźniej pochłonąć to. –