大型車両のルート

大型車両向けフリート ルーティングは、物理的な寸法、重量、トレーラーの数を指定して、大型車両のフリート ルートを最適化できる一連のプロパティです。API はこれらの属性を使用して、通行が制限されている道路、低い橋、重量制限のあるルートを回避する実行可能な経路を計算します。

大型車両向けルート検索を使用すると、大型車両のフリート ロジスティクスの課題を解決できます。たとえば、次のような課題を解決できます。

  • 道路の危険を回避する: 車両を低い高架下、重量制限のある道路、その他の物理的な危険から遠ざけるルートプランを生成します。
  • 詳細な車両情報を指定する: 正確な寸法、総重量、車軸数、トレーラー構成をフリート全体のルートプランに組み込みます。
  • フリート全体の計画を改善する: すべての割り当てが物理的な道路の制約に準拠するようにしながら、トラック フリート全体の効率的なルート計画を作成します。
  • ターンバイターン方式ナビを有効にする: 最適化されたフリート ルーティングのルートトークンを生成し、Navigation SDK に渡して、大型車両専用のナビゲーションでドライバーを案内します。

制限事項

始める前に、次の制限事項と要件に注意してください。

  • 利用可能な地域: 大型車両のルート選択は、米国本土の 48 州でのみご利用いただけます。
  • ドライバーへのアドバイスと安全性: ドライバーは、この API から返されるルートのみに頼って安全や合法性を判断してはなりません。ルートが車両に適しているとは限りません。ルートに従うと、低い橋や大型車両の通行が禁止されている道路など、危険にさらされる可能性があります。
  • ベストエフォート ルート: API が、移動制限に完全に準拠するルートを見つけられない場合があります。代わりに、制限区域を通過する可能性のある「ベスト エフォート」ルートを返します。
  • サポートされていない機能: 大型車両向けルート検索機能では、次の機能はサポートされていません。
    • トラックの通行料金
    • 制限速度
    • 放射性危険物のルーティング
  • 課金: リクエストで大型車両のルート設定プロパティが構成されているかどうかに関係なく、すべての optimizeTours リクエストに対して一律に課金されます。
  • 長距離ルート: 500 km 以上の長距離トラック ルートでは、短いルートよりも計算時間が長くなり、ルートデータの品質が低下する可能性があります。ルートの品質を維持するには、配送、車両の開始位置、車両の終了位置の間の距離を制限します。長いルートが必要な場合は、リクエストの期限を延長して DEADLINE_EXCEEDED エラーが発生する可能性を減らします。

プロパティ

大型車両のルート設定プロパティを使用するには、車両の物理的な寸法を構成し、ルート設定モードをトラックに設定する必要があります。

次の表に、大型車両のルート設定の最上位プロパティを示します。

プロパティ タイプ 要件 説明
travelMode 文字列 必須 車両の移動手段を指定します。大型車両のルート プロパティを有効にするには、この値を TRUCK に設定します。
routeModifiers オブジェクト 必須 vehicleInfo などのルート固有の構成が含まれます。

vehicleInfo

vehicleInfo オブジェクトには、車両の物理的な仕様が含まれます。このオブジェクトは routeModifiers プロパティ内で定義します。 travelMode を TRUCK に設定する場合は、vehicleInfo オブジェクトを指定する必要があります。

次の表に、vehicleInfo オブジェクト内で使用できるプロパティを示します。

プロパティ タイプ 要件 説明
totalHeightMm integer 必須 車両の全高をミリメートル単位で指定します。この値は正の整数である必要があります。
totalWidthMm integer 必須 車両の全幅をミリメートル単位で指定します。この値は正の整数である必要があります。
totalWeightKg integer 必須 車両の総重量をキログラム単位で指定します。この値は正の整数である必要があります。
totalLengthMm integer 必須 車両の全長をミリメートル単位で指定します。この値は正の整数である必要があります。
trailerInfo 配列 省略可 トレーラーの仕様の配列が含まれます。これには、各トレーラーの長さをミリメートル単位で指定する lengthMm プロパティが含まれます。
totalAxleCount integer 必須 車両の車軸の総数を指定します。この値は 2 以上の整数にする必要があります。

例

このセクションでは、次の 2 種類の例について説明します。

コードサンプル

次の例は、大型車両のルート設定に使用されるプロパティの構造を示しています。

"vehicles": [
  {
    "travelMode": "TRUCK",
    "routeModifiers": {
      "vehicleInfo": {
        "totalHeightMm": TOTAL_HEIGHT_MM,
        "totalWidthMm": TOTAL_WIDTH_MM,
        "totalWeightKg": TOTAL_WEIGHT_KG,
        "totalLengthMm": TOTAL_LENGTH_MM,
        "trailerInfo": [
          {
            "lengthMm": TRAILER_LENGTH_MM
          }
        ],
        "totalAxleCount": TOTAL_AXLE_COUNT
      }
    }
  }
]

リクエストの例

次の例は、大型車両のルート設定を組み込んだ基本的な optimizeTours リクエストの構造を示しています。

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 40.953523,
              "longitude": -72.2277846
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 40.9546673,
              "longitude": -72.2580151
            }
          }
        ]
      }
    ],
    "vehicles": [
      {
        "travelMode": "TRUCK",
        "routeModifiers": {
          "vehicleInfo": {
            "totalHeightMm": 4000,
            "totalWidthMm": 2500,
            "totalWeightKg": 9000,
            "totalLengthMm": 20000,
            "trailerInfo": [
              {
                "lengthMm": 15000
              }
            ],
            "totalAxleCount": 5
          }
        },
        "costPerKilometer": 1.0
      }
    ]
  }
}

次のステップ

  • ターンバイターン方式ナビを提供する: 各トランジションで返される routeToken を Navigation SDK for Android または iOS に渡す方法について説明します。
  • トランジション ポリラインとルートトークンを生成する: トランジション ポリラインとルートトークンで populateTransitionPolylines を使用してルートトークンをリクエストする方法について学習します。
  • API リファレンス: optimizeTours リファレンスでフィールドの完全なリストを確認します。