Googleway не учитывает трафик на время в пути (поиск маршрутов)
С использованием google_directions
функция от googleway
пакет, он не отображает время в пути в соответствии с поиском браузера карт Google.
Кажется, что это не принимая во внимание информацию о трафике.
Пример на оживленной улице в Нью-Йорке.
a <- google_directions(origin = c(40.862804, -73.934743),
destination = "212 5th Ave, New York, NY 10010, USA",
mode = "driving",
units = "metric",
simplify = TRUE,
key = MY_API)
Ответ в текущий момент:
b <- direction_steps(a)
total_time <- sum(b$duration$value)/60 # minutes
total_time # minutes
#[1] 26.1166
Однако браузер карт Google отображает 35 минут за то же время поиска. Я проверил маршруты, и это то же самое.
То же самое происходит с помощью mapsapi
пакет:
c <- mp_directions(origin = c(-73.934743,40.862804),
destination = "212 5th Ave, New York, NY 10010, USA",
mode = "driving",
key = MY_API)
total_time1 <- sum(mp_get_segments(c)$duration_s)/60 # minutes
total_time1 # minutes
# [1] 26.11667
Кто-нибудь знает, как включить информацию о трафике в эти функции? Или я должен сделать вывод, что Google не предоставляет этот уровень информации?
0 ответов
В googleway
документация для google_directions
покрывает это. Для получения данных в реальном времени вам потребуется следующее:
- а
departure_time
, либо текущее использование"now"
или указанное время в будущем с использованиемPOSIXct
дата и время. traffic_model
: Должно ли предположение Google бытьbest_guess
,optimistic
, илиpessimistic
.
Вы запросили историческое время в пути с вашим кодом, в то время как Карты Google используют время в пути в реальном времени (вероятно, best_guess
оценить).
В документации Google указано:
best_guess
(по умолчанию) указывает, что возвращенныйduration_in_traffic
должна быть наилучшей оценкой времени в пути с учетом того, что известно как об исторических условиях дорожного движения, так и о реальном трафике. Живой трафик становится тем важнее, чем ближеdeparture_time
сейчас.
Попробуйте вместо этого:
a <- google_directions(
origin = c(40.862804, -73.934743),
destination = "212 5th Ave, New York, NY 10010, USA",
mode = "driving",
units = "metric",
simplify = TRUE,
key = MY_API,
departure_time = "now",
traffic_model = "best_guess")
# Travel time in seconds
travel_time <- a$routes$legs[[1]]$duration_in_traffic$value