経由地の重量変化を追跡するには
計算されたルートの後続の中間経由地において、車両の重量がどのように変化するかを、viaオプションのcurrentWeightChangeパラメーターを使用して指定できます。
この情報をルート計算リクエストに追加することで、APIは道路へのアクセスや違反処理を考慮してルートを調整し、消費量の推定に影響を与えます。
これは、ルート上で荷物の積み込みや積み下ろしを行う多数のドライバーを抱える配送会社にとって、特に役立ちます。 停車するたびに車両の重量が変化するため、特定の道路へのアクセスが可能になったり不可能になったり、道路によって走行速度が遅くなったり速くなったり、航続距離が増減したりする可能性があります。
使用方法
ルート計算リクエストに重量変更情報を追加するには、少なくとも1つの中間経由地を追加する必要があります。
さらに、リクエストにはvehicle[currentWeight]パラメーターを含める必要があり、これはすべての重量変更計算の開始点としてAPIで使用されます。
この経由地到達時の車両の重量変更を定義するには、経由地座標に!currentWeightChange=VALUEを追加します。
重量変更は、キログラム単位の正または負の値で指定できます。この値は、車両が経由地に到達した時点で有効なvehicle[currentWeight]パラメーターの値に加算されます。
たとえば、ワルシャワ市中心部に中間経由地を追加し、重量が1トン (1000 kg) の荷物を降ろす場合、ルート計算リクエストに次のコードを追加します。
via=52.2136,21.0232!currentWeightChange=-1000
負の重量の処理
中間経由地での重量変更により、vehicle[currentWeight]パラメーターの値が負になった場合、APIはレスポンスで重要な通知を返します。
currentWeightChangeの追加によって、vehicle[currentWeight]が負の値になるセクションについてもルートが計算されますが、APIはvehicle[currentWeight]=0を使用します。
重量制限
currentWeightChangeパラメーターで定義された値を追加した結果、選択した移動モードの最大重量制限を超過した場合、APIは重要な通知を返し、移動モードで許可されている最大vehicle[currentWeight]値を使用してルートを計算します。
無効な重量の検証
システムは、vehicle[currentWeight]が1 kgの場合や、vehicle[currentWeight]がvehicle[grossWeight]の2倍の場合など、その他の潜在的に無効な値を検証しません。
例
次のリクエストは、トラックの経由地が2つあるルートを計算します。開始時点でトラックの重量は5000 kgです。最初の経由地で3000 kgの荷物を積み込み、2番目の経由地で4000 kgの荷物を積み下ろします。
curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=52.535153,13.269925&'\
'destination=52.535153,13.269925&'\
'via=52.529435,13.297411!currentWeightChange=+3000&'\
'via=52.517161,13.317204!currentWeightChange=-4000&'\
'return=summary&'\
'transportMode=truck&'\
'vehicle[grossWeight]=10000&'\
'vehicle[currentWeight]=5000&'\
'apiKey=YOUR_API_KEY'レスポンス情報
各ルートセクションで使用される重量がレスポンスで返されます。transport.currentWeightフィールドには、各セクションの実効重量が表示されます。
{
"routes": [
{
"id": "36110c03-3b74-4698-bcec-0b75edf865b1",
"sections": [
{
"id": "29598024-11ba-44ec-9428-0fe7e72f06fd",
"type": "vehicle",
"departure": {
"time": "2025-10-29T11:10:46+01:00",
"place": {
"type": "place",
"location": {"lat": 52.5351699, "lng": 13.26993},
...
}
},
"arrival": {
"time": "2025-10-29T11:19:52+01:00",
"place": {
"type": "place",
"location": {"lat": 52.5294482, "lng": 13.2974065},
...
}
},
"summary": {"duration": 546, "length": 2514, "baseDuration": 278},
"transport": {"mode": "truck", "currentWeight": 5000}
},
{
"id": "b774ed30-c109-44c9-8d9d-134e9e0297f9",
"type": "vehicle",
...,
"transport": {"mode": "truck", "currentWeight": 8000}
},
{
"id": "98a2d99d-e09a-44c0-8508-fe5ea8323109",
"type": "vehicle",
...,
"transport": {"mode": "truck", "currentWeight": 4000}
}
]
}
]
}EV消費への影響
経由地での重量変更は、物理的な消費モデルを使用する場合にのみEV消費に影響します。重量変更の影響を受けるセクションのエネルギー消費量が変化します。
消費量の変化は車両の航続距離に影響します。これにより、ev[makeReachable]オプション使用時にルートに自動的に追加される充電地点にも影響を与えます。
ルートハンドルでの使用
重量変更のある経由地に到達した後にナビゲーションを再開する際は、vehicle[currentWeight]パラメーターを更新します。
例
まず、経由地で重量変更が発生するルートをリクエストします。
curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=52.535153,13.269925&'\
'destination=52.535153,13.269925&'\
'via=52.529435,13.297411!currentWeightChange=+3000&'\
'via=52.517161,13.317204!currentWeightChange=-4000&'\
'return=summary,routeHandle&'\
'transportMode=truck&'\
'vehicle[grossWeight]=10000&'\
'vehicle[currentWeight]=5000&'\
'apiKey=YOUR_API_KEY'車両が最初の経由地に到達して荷物を積み込んだ後、ナビゲーションを再開する際は、vehicle[currentWeight]値を更新して新しい重量を反映させます。
curl -gX GET 'https://router.hereapi.com/v8/routes/{ROUTE_HANDLE}?'\
'origin=52.528672,13.300004&'\
'return=summary&'\
'rerouting[mode]=returnToRoute&'\
'rerouting[lastTraveledSectionIndex]=1&'\
'transportMode=truck&'\
'vehicle[grossWeight]=10000&'\
'vehicle[currentWeight]=8000&'\
'apiKey=YOUR_API_KEY'ここで、vehicle[currentWeight]が8000 kgに設定されていることに注意してください。これは、最初の停車地で積み込んだ荷物の重量を加えた後の車両重量です。ルートハンドルには残りの経由地の重量変更値が保存されるため、次の経由地では-4000 kgの重量変更が適用されます。
関連コンテンツ
25 日前の更新