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
Другие вопросы по тегам