ガイドAPIリファレンス
ガイド

時間依存ルート検索

ルートのリクエストでは、departureTimeパラメーターまたはarrivalTimeパラメーターを使用して、それぞれルートの開始時刻または終了時刻を指定できます。

いくつかの可能性があります。

  • デフォルト:現在の時刻を departureTime として使用します。
  • 出発時刻を指定します。例:departureTime=2021-09-03T08:30:25+02:00
  • 到着時刻を指定します。例: arrivalTime=2021-09-03T08:30:25
  • 不明な出発時刻を指定します:departureTime=any。これを「計画モード」と呼びます。

ルートリクエストではdepartureTimeまたはarrivalTimeのいずれかを使用できますが、両方を使用することはできません。

📘

Routing APIでは、RFC 3339に従ってdate-timeまたはfull-date T partial-timeの形式で時間を指定します。

既知の出発時刻を指定する

既知のdepartureTimeを指定すると、サービスはその時間にルートを開始し、ルートに沿って今後の時間を予測します。ルートの各部分は、ユーザーが前の部分の移動時間の推定値に従ってそこに到達すると仮定して評価されます。

たとえば、departureTime=2021-09-03T08:00:00+00:00 を設定すると、次のような効果があります。

  • ルートは origin の経由地から 08:00 UTC に始まります
  • ルートに沿って 1 時間後、マップ データは 09:00 UTC の時間値を使用して評価されます
  • ルートに沿って2時間後、マップデータは10:00 UTCの時間値を使用して評価されます

既知の到着時刻を指定する

既知のarrivalTimeを指定すると、既知のdepartureTimeを指定する場合と同様に機能しますが、時間はoriginから前方に進むのではなく、destination経由地から後方に進みます。

たとえば、arrivalTime=2021-09-03T08:00:00+00:00 を設定すると、次のような効果があります。

  • ルートは destination 経由地で 08:00 UTC に終了します
  • destination から 1 時間後、マップ データは 07:00 UTC の時間値を使用して評価されます
  • destinationから2時間後、マップデータは06:00 UTCの時間値を使用して評価されます

タイムゾーンなしで時間を指定する

タイムゾーンを指定せずにdepartureTimeまたはarrivalTimeを指定した場合、サービスは対応する経由地のローカルタイムゾーンを使用します。

  • departureTime:サービスは origin 経由地のタイムゾーンを使用します
  • arrivalTime:サービスは destination 経由地のタイムゾーンを使用します

たとえば、departureTime=2021-09-03T08:00:00 (夏時間) と origin=52.53095, 13.38517 (ドイツのベルリン) の場合、結果のタイムゾーンは CEST (UTC+02:00) になります。結果として得られる出発時刻は、departureTime=2021-09-03T08:00:00+02:00をリクエストした場合と同じになります。

不明な出発時刻を指定する

departureTime=anyを送信することにより、ルートをいつ通過するかわからないことをサービスに通知します。

これは、正確なスケジュールがわからなくてもルートの見積もりを取得するのに役立つツールであるため、一般的に「計画モード」と呼ばれます。ただし、結果として得られるルートは、出発時刻や到着時刻がわかっているルートよりも、やや楽観的になる傾向がある点に注意する必要があります。

サービスは、時間に依存する属性とデータのほとんどを無視します。次に例を示します。

  • 時間依存の制限
  • リバーシブル レーン
  • 現在および予測されるトラフィック

このサービスでは、次のトラフィック データが_考慮されます_。

  • 自由流速の交通速度
  • 長期閉鎖

結果ルートの到着時間と出発時間

既知の departureTime または arrivalTime を指定した場合、ルート レスポンスの各セクションには出発時刻と到着時刻が含まれ、そのセクションの開始時刻と終了時刻が示されます。この時刻は、場所に関連付けられた場所のローカル タイムゾーンで指定されます。

次の例では、departureTime=2021-09-03T08:30:25-05:00 を指定します。

curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'transportMode=car&'\
'origin=52.5308,13.3847&'\
'destination=52.5323,13.3789&'\
'departureTime=2021-09-03T08:30:25-05:00&'\
'apiKey=YOUR_API_KEY'

origin の場所はベルリンにあり、この時期は CEST タイムゾーン (UTC+02:00) になります。 結果のレスポンスには、出発時刻 2021-09-03T15:30:25+02:00 (ベルリンの +02:00 タイムゾーンでは 2021-09-03T08:30:25-05:00 と表現される) と到着時刻 2021-09-03T15:31:47+02:00 が含まれます。

"routes": [
  {
    "id": "46a98eca-44d8-40b0-9e3c-cf813766b247",
    "sections": [
      {
        "departure": {
          "time": "2021-09-03T15:30:25+02:00",
          ...
        },
        "arrival": {
          "time": "2021-09-03T15:31:47+02:00",
          ...
        },
        ...
      }
    ]
  }
]

この形式で時間を出力すると、出発時刻と到着時刻を現地時間で表示するのに便利です。