Почему HereMap вычисляет время прохождения маршрута, включая время остановки для конечной путевой точки?

#javascript #here-api #heremaps

#javascript #здесь-api #heremaps

Вопрос:

Я делаю запрос HereMap Calculate Route API. У путевой точки 0 нет времени остановки, но у путевых точек 1 и 2 есть. Пример запроса:

 https://route.ls.hereapi.com/routing/7.2/calculateroute.json?xnlp=CL_JSMv3.1.18.1amp;apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxamp;mode=fastest;truck;traffic:enabledamp;truckType=truckamp;representation=displayamp;routeattributes=summary,shape,legsamp;legAttributes=travelTime,trafficTimeamp;height=14amp;limitedWeight=7.25amp;trailersCount=0amp;alternatives=0amp;waypoint0=geo!41.978130,-88.232100amp;departure=2020-08-17T06:00:00+5amp;waypoint1=geo!stopOver,2880!41.91621,-87.99025;;03558029amp;waypoint2=geo!stopOver,3120!41.91621,-87.99025;;03559825amp;waypoint3=geo!stopOver,840!41.721474,-87.679846;;03561582amp;waypoint4=geo!stopOver,780!41.719577,-87.793070;;03561720amp;waypoint5=geo!stopOver,1800!41.690945,-87.741590;;03561712amp;waypoint6=geo!stopOver,1320!41.691,-87.74274;;03561312amp;waypoint7=geo!stopOver,780!41.839228,-88.000000;;03561705amp;waypoint8=geo!stopOver,2400!41.7542,-87.74161;;03561534amp;waypoint9=geo!stopOver,1920!41.726269,-87.799493;;03561541amp;waypoint10=geo!stopOver,1680!41.727112,-87.801140;;03561542amp;waypoint11=geo!stopOver,1440!41.719642,-87.768530;;03561707amp;waypoint12=geo!41.978130,-88.232100
  

Таким образом, у waypoint1 остановка составляет 48 минут. Когда я получаю ответ от вызова Calculate Route, этап0 маршрута включает время в пути плюс время остановки для waypoint1.

 {travelTime: 6184, maneuver: Array(13), trafficTime: 6184}
  

6184 секунды — это 55 минут времени в пути плюс 48 минут остановки с течением времени. Я бы не ожидал, что остановка с течением времени будет включена в первый этап. Грузовик не останавливается до путевой точки 1. Поэтому я бы ожидал, что время в пути между waypoint0 и waypoint1 не будет включать никаких остановок с течением времени. В документах API мало говорится о промежуточной остановке. Как работает остановка? В моем примере, почему время остановки включено в первый этап?

Комментарии:

1. Пожалуйста, отправьте весь запрос.

2. @AntoineRaoulIscaros Хорошо, я отправил полный запрос

3. Привет, позвольте мне подтвердить параметры вашего запроса. Я мог видеть, что waypoint1 и waypoint 2 находятся в одном и том же местоположении, но разные StopOverDuration и TransitRadius пусты. путевая точка 1 = гео!Остановка, 2880!41.91621, -87.99025;;03558029 и путевая точка 2 = гео! Остановка,3120!41.91621,-87.99025;;03559825. Не могли бы вы подтвердить, что параметры waypoint1 и waypoint2 установлены правильно?

4. @HEREDeveloperSupport Это правильно, путевая точка 1 и путевая точка 2 находятся в одном и том же местоположении. По сути, грузовику необходимо выгрузить два разных заказа в одном и том же месте, и поскольку заказы разного размера, остановка для каждого из них различна. Нужен ли TransitRadius? Дайте мне знать, если я должен сделать что-то по-другому.

Ответ №1:

Время остановки будет включено во время в пути. Все время в пути имеет время вождения и остановки. Это означает, что можно вычислить время остановки в пути из времени в пути.

Кроме того, при проверке ветвей в ответе время в пути было ниже.

  • w0-w1: отрезок [0] 6182 (остановка: 2880)
  • w1-w2: отрезок [1] 3120 (остановка: 3120)
  • w2-w3: отрезок [2] 6373 (остановка: 840)

Не могли бы вы еще раз проверить свой ответ на результат?

Комментарии:

1. Да, то, что вы опубликовали, соответствует тому, что я вижу. у w1 есть остановка 2880. w2 имеет 3120 остановок. Ответ HereMap для этапа от w1доw2 включает только количество остановок w2 во времени в пути (3120). Я ожидал, что он будет включать только сумму остановки w1 (2880). Таким образом, учитывая две путевые точки, где обе имеют промежуточную остановку, время в пути для отрезка между ними будет включать только время остановки для второй путевой точки? Похоже, это правило. Можете ли вы объяснить, почему это работает таким образом? Спасибо.

2. Не могли бы вы, пожалуйста, записать каждое ожидаемое время в пути? Потому что мы не видим никакой ошибки во времени прохождения ответа.

3. Я не говорю, что что-то не так. Я пытаюсь понять, почему остановка включена только для одной путевой точки во время прохождения этапа. Например, w2 имеет промежуточную остановку 3120, а w3 имеет промежуточную остановку 840. При перемещении между w2 и w3, почему время в пути включает только время остановки в w3, равное 840? Почему время в пути не включает время остановки w2 в 3120 плюс время остановки w3 в течение 840? Или просто время остановки w2 3120, а не время остановки w3 840? Я понимаю, что делает HereMap API, и я не говорю, что это неправильно. Я хочу понять, почему это работает таким образом.

4. Привет, вы имеете в виду, что время прохождения каждого этапа включает обе остановки? Например, w1-w2: 3120 (3120) w1_stopover (2880) и w2-w3: 6373 (840) w2_stopover(3120).

5. Это спецификация при проектировании времени в пути. Вы также можете добавить время остановки в начальной путевой точке к времени в пути в вашем случае использования.