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

ドライバーのスケジュールを使ってルートを計算する

driver[schedule]パラメーターは、ドライバーがスケジュールされた休憩を取る必要があるルートを計算するのに役立ちます。 パラメーター値は、最大許容運転時間と休憩時間を交互に指定する所要時間 (秒単位) のカンマ区切りリストです。

ドライバーが 4.5 時間運転し、その後 30 分間休憩し、その後さらに 4.5 時間運転して、さらに 11 時間休憩するルートを予定しているとします。 このようなシーケンスは driver[schedule]=16200,1800,16200,39600 としてエンコードされます。 所要時間は 0 より大きい正の整数になります。 ドライバーが出発する前に出発地点で休憩時間を追加する場合は、必要な休憩時間を出発時間の値に追加します。 これにより、目的のルートが提示されます。休憩時間に0を指定することはできません。

上記の例では、ルートは少なくとも2つのセクションに分割され、それぞれの走行時間は16200秒近くになります。 各セクションには、休憩時間と等しい所要時間のwaitポストアクションがあります (それぞれ180039600)。

{
  "postActions": [
    {
      "action": "wait",
      "duration": 1800
    }
  ]
}

ルートの移動時間がスケジュール内の合計運転時間を超える場合、スケジュールされた運転時間の後のセクション (ルート計画にvia個の経由地がある場合は複数のセクション) が、waitのアクションなしで追加されますが、通知travelTimeExceedsDriverWorkHoursが含まれます。

リクエストとレスポンスの例。ルートはスケジュールに従って分割されます。

curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=37.409438,-6.043584&'\
'destination=43.574211,1.424529&'\
'return=polyline,summary,actions,instructions&'\
'transportMode=truck&'\
'driver[schedule]=16200,1800,16200,39600&'\
'apiKey=YOUR_API_KEY'
{
  "routes": [
    {
      "id": "7b316838-eaba-49b7-9419-ddce4c97162a",
      "sections": [
        {
          ...,
          "id": "99b4e3f6-cdd9-4e52-a4ed-3f15423a8fba",
          "postActions": [
            {
              "action": "wait",
              "duration": 900
            }
          ],
          "summary": {
            "baseDuration": 16871,
            "duration": 16871,
            "length": 380112
          },
          "transport": {
            "mode": "truck"
          },
          "type": "vehicle"
        },
        {
          ...,
          "id": "7aff75f1-fe0a-4a5b-b4d5-32757101aa62",
          "postActions": [
            {
              "action": "wait",
              "duration": 39600
            }
          ],
          "summary": {
            "baseDuration": 55576,
            "duration": 55576,
            "length": 389440
          },
          "transport": {
            "mode": "truck"
          },
          "type": "vehicle"
        },
        {
          ...,
          "id": "721c295d-3b7c-48b7-98ab-bd5e314e71b8",
          "notices": [
            {
              "code": "travelTimeExceedsDriverWorkHours",
              "severity": "critical",
              "title": "Travel time exceeds maximum scheduled driver time"
            }
          ],
          "summary": {
            "baseDuration": 20882,
            "duration": 20882,
            "length": 485031
          },
          "transport": {
            "mode": "truck"
          },
          "type": "vehicle"
        }
      ]
    }
  ]
}