U ターン回避は、訪問の特定の集荷場所または配達場所で車両が U ターンするのを防ぐルート最適化機能です。U ターン回避を設定すると、車両が訪問場所に到着したときと出発したときに同じ方向を向くように指定できます。
U ターン回避は次のように機能します。
- U ターン回避プロパティは特定の訪問に設定します。
- この API は、双方向道路の両方向の移動を考慮して、最適な経路を選択します。
- API は、車両が訪問場所で U ターンせずに到着して出発するルートを生成します。この場所に行くには、道路を横断する必要がある場合があります。
このプロパティは、車両のサイズ、交通標識、通常の交通状況により、U ターンが困難または不可能な状況に最適です。
プロパティ
U ターン回避プロパティは、VisitRequest オブジェクト内で定義されます。このオブジェクトは、配送の pickups 配列と deliveries 配列内で使用されます。
| プロパティ | タイプ | 説明 |
|---|---|---|
avoidUTurns |
ブール値 | true に設定すると、API は車両がこの訪問場所で U ターンすることを防ぎます。車両は同じ方向を向いて到着し、出発します。 |
例
このセクションでは、次の 2 種類の例について説明します。
- U ターン回避の構造を示すコードサンプル。
- 特徴を含むリクエストの例。
コードサンプル
次の例は、集荷と配達内の avoidUTurns の構造を示しています。
"pickups":[ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 }, "avoidUTurns": true } ], "deliveries":[ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 }, "avoidUTurns": true } ]
リクエストの例
次の例は、U ターン回避を組み込んだ基本的な optimizeTours リクエストを示しています。このリクエストには次の要素が含まれます。
modelオブジェクト内の集荷と配送を含む配送。avoidUTurnsプロパティを、集荷場所と配達場所の両方でtrueに設定して、車両がそれらの停車場所で方向を変えないようにします。
{ "model": { "shipments":[ { "pickups":[ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 }, "avoidUTurns": true } ], "deliveries":[ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 }, "avoidUTurns": true } ] } ], "vehicles":[ { "travelMode": "DRIVING", "costPerKilometer": 1.0 } ] } }
sideOfRoad で U ターンを回避する
sideOfRoad は別の機能ですが、目的地に最も近い道路の脇に車両を誘導することで多くの U ターンを回避するため、U ターン回避と密接に関連しています。これにより、車両は特定の方向から訪問場所に近づくため、U ターンをする必要がなくなります。
実際には、徒歩で道路を安全に横断して訪問場所に到着できる場合に、U ターン回避を使用する必要があります。道路を横断することが推奨されない、または不可能な場合は、代わりに sideOfRoad を true に設定することを検討してください。
sideOfRoad プロパティは、Waypoint オブジェクト内で定義されます。
他の機能との連携
U ターン回避は、他のルート設定機能と次のように連携します。
- 道路の脇:
avoidUTurnsとsideOfRoadの両方をtrueに設定すると、車両を訪問場所の最寄りの道路脇に誘導する際に、U ターンを回避できる可能性がわずかに高まります。ただし、この方法では、U ターン回避の制限に関連する複雑な処理が増えます。ほとんどの訪問場所では、これらのプロパティのいずれか 1 つを設定するだけで、U ターンを回避できます。 - 挿入されたソリューション: U ターン回避を使用すると、API レスポンスには、生成された
ShipmentRoute.Visit内にinjectedSolutionLocationTokenが含まれ、選択された道路の側が記録されます。この訪問を将来のリクエストで挿入されたソリューションとして再利用する場合は、このトークンを API に返す必要があります。
制限事項
U ターン回避はベスト エフォート型の機能です。ただし、次の条件に該当する場合は、生成されたルートに U ターンが含まれることがあります。
- 移動手段が
DRIVING以外のモードに設定されている。 - 特定の訪問場所の到着場所と出発場所が異なる。この場合、API はエラーを返します。
- 訪問先が行き止まりの道路にあり、出るには U ターンが必要。
- U ターンは、実際の訪問場所ではなく、ルートに沿って行われます。
- この操作は別の道路への急な曲がり角であり、API では U ターンとして分類されません。