U턴 방지는 차량이 방문의 특정 픽업 또는 배송 위치에서 회전하지 않도록 하는 경로 최적화 기능입니다. U턴 방지를 설정하면 차량이 방문 위치에 도착할 때와 떠날 때 동일한 방향을 향해야 한다고 지정할 수 있습니다.
U턴 방지는 다음과 같이 작동합니다.
- 특정 방문에 유턴 방지 속성을 설정합니다.
- API는 양방향 도로의 양방향 이동을 모두 고려하여 최적의 경로를 선택합니다.
- API는 차량이 방문 위치에서 U턴하지 않고 도착하고 출발하는 경로를 생성합니다. 이 위치에 도착하려면 운전자가 도로를 건너야 할 수 있습니다.
이 속성은 차량 크기, 교통 표지판 또는 평상시 교통 상황으로 인해 U턴이 어렵거나 불가능한 상황에 적합합니다.
속성
유턴 방지 속성은 VisitRequest 객체 내에 정의되어 있습니다.
이 객체는 배송의 pickups 및 deliveries 배열 내에서 사용됩니다.
| 속성 | 유형 | 설명 |
|---|---|---|
avoidUTurns |
부울 | true로 설정하면 API가 차량이 이 방문 위치에서 유턴하는 것을 방지합니다. 차량은 동일한 방향으로 도착하고 출발합니다. |
예
이 섹션에서는 두 가지 유형의 예시를 다룹니다.
- 유턴 방지 구조를 보여주는 코드 샘플
- 기능이 포함된 요청 예시
코드 샘플
다음 예는 픽업 및 배송 내에서 avoidUTurns의 구조를 보여줍니다.
"pickups":[ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 }, "avoidUTurns": true } ], "deliveries":[ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 }, "avoidUTurns": true } ]
요청 예
다음 예시에서는 회전 금지를 통합하는 기본 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으로 유턴 방지
sideOfRoad는 별도의 기능이지만, 차량을 목적지에 가장 가까운 도로 쪽으로 안내하여 많은 유턴을 방지하므로 유턴 방지와 밀접한 관련이 있습니다. 이렇게 하면 차량이 특정 방향에서 방문 위치에 접근하므로 유턴할 필요가 없습니다.
실제로 방문 위치로 이동하기 위해 도보로 길을 건너도 안전한 경우 U턴 방지를 사용해야 합니다. 도로를 건너는 것이 권장되지 않거나 불가능한 경우 sideOfRoad을 true로 설정하는 것이 좋습니다.
sideOfRoad 속성은 Waypoint 객체 내에 정의됩니다.
다른 기능과의 상호작용
U턴 방지는 다음과 같은 방식으로 다른 라우팅 기능과 상호작용합니다.
- 도로 측면:
avoidUTurns및sideOfRoad을 모두true로 설정하면 차량을 방문 위치에 가장 가까운 도로 측면으로 안내하는 동안 U턴을 피할 가능성이 약간 높아집니다. 하지만 이렇게 하면 U턴 방지 제한사항과 관련된 복잡성이 추가됩니다. 대부분의 방문 위치에서 이러한 속성 중 하나만 설정해도 U턴을 방지할 수 있습니다. - 삽입된 솔루션: 유턴 방지를 사용하면 API 응답에 생성된
ShipmentRoute.Visit내에injectedSolutionLocationToken가 포함되어 선택한 도로 측면을 기록합니다. 이 방문을 향후 요청에서 삽입된 솔루션으로 재사용하는 경우 이 토큰을 API에 다시 전달해야 합니다.
제한사항
U턴 방지는 최선의 노력 방식으로 제공되는 기능입니다. 다음 조건에서는 API에서 생성된 경로에 유턴이 포함될 수 있습니다.
- 이동 모드가
DRIVING이외의 모드로 설정되어 있습니다. - 특정 방문 위치의 도착 및 출발 위치가 다릅니다. 이 경우 API는 오류를 반환합니다.
- 방문 장소가 막다른 길에 있어 나가려면 유턴해야 합니다.
- U턴은 실제 방문 위치가 아닌 경로를 따라 발생합니다.
- 이 기동은 다른 도로로 매우 급격하게 회전하는 것으로, API에서는 유턴으로 분류하지 않습니다.