皆様、こんにちは!
Google Maps Platform のプロフェッショナル集団、ゴーガです。
Google Maps Platform において、トラックなどの大型車両に適したルートや ETA(到着予定時刻)を計算できる「大型車ルーティング(LVR: Large Vehicle Routing)」機能が提供されています。
こちらの大型車ルーティング機能は、個別ルートの道順を計算する Routes API だけではなく、複数車両の配送計画・巡回順をまとめて最適化する Route Optimization API や、ターンバイターンナビを実現する Navigation SDK の 3 つのプロダクトで提供されています。
本機能は公式には米国本土の 48 州でのサポートとされていますが、日本国内でも試験運用版として提供が開始されています。今回は、Routes API を例に、新しく登場したリクエストパラメータの使い方と、迂回挙動をご紹介します。
【重要】試す前の事前準備
大型車ルーティングの各種パラメータやドキュメントは一般公開されていますが、 大型車ルーティング機能へのアクセスは事前の申請が必要になりますので、弊社までお問い合せください。
https://www.goga.co.jp/contact/
1. Routes API 大型車ルーティングの基本設定
大型車のルートを計算させるには、従来の乗用車向けリクエストに大型車専用のパラメータを追加します。
必須の基本設定
大型車ルーティングを有効化するには、以下の 4 つの設定がポイントとなります。
- travelMode: "TRUCK" を設定します。
- routingPreference: "TRAFFIC_AWARE_OPTIMAL" を設定します。
- routeModifiers.vehicleInfo: 車両スペック(高さ、重量、幅など)を定義するオブジェクトです。travelMode: "TRUCK" を指定する場合は、この vehicleInfo の記述が必須となります。
- X-Goog-FieldMask (リクエストヘッダー): レスポンスに「一部規制無視警告フラグ」を表す routes.travelAdvisory.routeRestrictionsPartiallyIgnored を含めるように設定します。
車両パラメータ(vehicleInfo)の主な仕様
LVR 機能の最大の特徴が、リクエストボディ内の routeModifiers.vehicleInfo オブジェクトです。ここでは、ミリメートル(mm)およびキログラム(kg)単位で車両サイズや重量、積載物の種別を指定します。
- totalHeightMm: 車両の最大高さ(mm)
- totalWidthMm: 車両の最大幅(mm)
- totalLengthMm: 車両とトレーラーを合わせた全長(mm)
- totalWeightKg: トレーラーを含む車両総重量(kg)
- totalAxleCount: 車両とトレーラーを合わせた総軸数
- trailerInfo: トレーラーの情報を保持するオブジェクト配列
- hazardousGoodsTypes: 積載している危険物の種類(例: EXPLOSIVES や FLAMMABLE など)
リクエスト JSON の例
{
"origin": {
"location": {
"latLng": {
"latitude": 35.698865709530644,
"longitude": 139.77534702074976
}
}
},
"destination": {
"location": {
"latLng": {
"latitude": 35.69966183015648,
"longitude": 139.77075152758528
}
}
},
"travelMode": "TRUCK",
"routingPreference": "TRAFFIC_AWARE_OPTIMAL",
"routeModifiers": {
"vehicleInfo": {
"totalHeightMm": 2445,
"totalWidthMm": 2230,
"totalLengthMm": 8677,
"totalWeightKg": 7950,
"totalAxleCount": 2
}
},
"languageCode": "ja"
}
2. 検証例:大型車の車高規制道路の回避挙動
大型トラックの運行において、高さ制限のあるガード下や歩道橋を回避し、安全なルートを確保することはスムーズな配送に欠かせません。
API のリクエストに totalHeightMm(車高)を設定すると、ルート上にある高さ制限道路を判別し、安全に通過できる迂回路を自動的に選択してくれます。
検証例: 東京秋葉原・明神坂ガード(高さ制限 2.8m)
秋葉原駅の北側にある「明神坂ガード(高さ制限 2.8m)」周辺での挙動を検証してみました。ここは一般的な高架よりもかなり低く設定されているため、大型車両は迂回が必要となるポイントです。
神田松永町から外神田へ向かうルートにて、通常の「ドライブモード(乗用車)」と「トラックモード(大型車)」でどのような違いが出るかを比較しました。
- ドライブモード(travelMode: "DRIVE") [左図]: 高さ制限を受けないため、明神坂ガードを真っ直ぐ通過する最短ルートが返ってきます。
- トラックモード(travelMode: "TRUCK") [右図]: 車高設定により明神坂ガード(2.8m)の通過が不可と判定され、ガードを回避して北側の蔵前橋通り方面へ大きく迂回するルートへ切り替わりました。
※紫色の円で囲んでいる部分が、明神坂ガードがあるポイントになります
まとめ
大型車ルーティング(Large Vehicle Routing)を活用することで、配送ルートの安全性向上はもちろん、事故リスクや無理な進入による遅延を大幅に削減することが可能になります。
ゴーガには Google Maps Platform に精通したエンジニアが多く在籍しています。
「そもそも Google Maps Platform って何?」や「自社でも大型車ルーティングを事前に検証してみたい」など、気になることがありましたらお気軽にご相談ください!
それでは、また次の記事でお会いしましょう!