Standardmäßig können Fahrzeuge einen Abhol- oder Lieferort aus jeder Richtung erreichen und dann in jede Richtung weiterfahren. In einigen Fällen ist es daher erforderlich, am Zielort einen U-Turn zu machen, was aufgrund der Fahrzeuggröße, der Verkehrsschilder am Standort oder der üblichen Verkehrsbedingungen schwierig oder unmöglich sein kann.
Wenn Sie verhindern möchten, dass Fahrzeuge zwischen Ankunft und Abfahrt an einem bestimmten Abhol- oder Lieferort die Richtung ändern, können Sie für diesen Ort avoid_u_turns
auf „wahr“ setzen. Bei dieser Einstellung fährt das Fahrzeug mit derselben Fahrtrichtung zum Ziel und wieder zurück, sodass kein Umkehren erforderlich ist. Bei zweispurigen Straßen berücksichtigt der Solver beide Richtungen und wählt eine als Teil der Routenoptimierung aus.
Sie können auch side_of_road
auf „wahr“ setzen, um eine Route zu erhalten, bei der das Fahrzeug auf der dem Wegpunkt am nächsten gelegenen Straßenseite ankommt und abfährt. In diesem Fall ändert das Fahrzeug auch zwischen Ankunft und Abfahrt nicht die Fahrtrichtung. Sie können sowohl side_of_road
als auch avoid_u_turns
auf „wahr“ setzen, um dasselbe Ergebnis zu erzielen. Weitere Informationen finden Sie unter Interaktion mit anderen Elementen.
In der Praxis sollte avoid_u_turns
verwendet werden, wenn es sicher ist, die Straße zu überqueren, um zum Wegpunkt zu gelangen. Verwenden Sie side_of_road
, wenn das Überqueren nicht empfohlen oder nicht möglich ist.
Beispiel: OptimizeTours
-Anfrage mit avoid_u_turns
stellen
OptimizeTours
-Anfragen können entweder mit REST oder gRPC gestellt werden.
Ersetzen Sie vor dem Senden einer Anfrage die folgenden Parameter durch Werte, die für Ihre Umgebung geeignet sind:
- Die Standardanmeldedaten für Anwendungen müssen wie unter OAuth verwenden beschrieben konfiguriert sein.
Legen Sie PROJECT_NUMBER_OR_ID auf Ihre Cloud-Projektnummer oder -ID fest.
Mit dem folgenden Befehl wird eine
OptimizeTours
-Anfrage an die Routenoptimierungs-API gesendet und eine Antwort wird synchron empfangen.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "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 } ], } } EOM
Sobald die Anfrage abgeschlossen ist, erhalten Sie eine Antwort.
Interaktion mit anderen Funktionen
avoid_u_turns
kann mitside_of_road = true
verwendet werden. In diesem Fall werden U-Turns vermieden, aber der Solver wählt eine Route aus, bei der sich das Fahrzeug auf derselben Straßenseite wie der Wegpunkt befindet, ähnlich wie bei der alleinigen Einstellung vonside_of_road = true
.- Wenn
avoid_u_turns = true
für eine bestimmte Besuchsanfrage gilt, ist das Feldinjected_solution_location_token
in der entsprechenden Antwort fürShipmentRoute.Visit
festgelegt. Die genaue Bedeutung dieses Werts ist ein Implementierungsdetail, aber er codiert die Informationen zur Seite der Straße, die vom Solver ausgewählt wurde. - Wenn Sie eine
ShipmentRoute.Visit
als Teil der Eingabeanfrage verwenden und dieseShipmentRoute.Visit
einerVisitRequest
entspricht, in deravoid_u_turns = true
, mussShipmentRoute.Visit
eineinjected_solution_location_token
enthalten, die zuvor vom Solver zurückgegeben wurde.
Beschränkungen
Die Vermeidung von U-Wenden erfolgt nach dem Best-Effort-Prinzip. In bestimmten Situationen kann die Route jedoch weiterhin U-Turns enthalten:
avoid_u_turns
funktioniert nur mit Mobilitätsoptionen, dieside_of_road
unterstützen. Insbesondere wird sie nicht für denWALKING
-Reisemodus unterstützt.avoid_u_turns
kann nicht für Abholungen und Lieferungen verwendet werden, bei denen Ankunft und Abfahrt nicht am selben Ort sind.- Wenn eine Abholung oder Lieferung in einer Sackgasse erfolgt, müssen Sie umkehren, um die Straße zu verlassen.
- Mit dieser Funktion sollen Umkehren an Abhol- und Lieferorten vermieden werden. U-Turns zwischen Wegpunkten werden nicht vermieden.
- Sehr scharfe Kurven zu einer anderen Straße gelten nicht als Kehrtwende und werden in der Regel nicht vermieden.
Während der Entwicklungsphase dieser Funktion gelten zusätzliche Einschränkungen. Wir gehen davon aus, dass sie mit der Weiterentwicklung der Funktion aufgehoben werden.
avoid_u_turns
kann nicht mitinterpret_injected_solutions_using_labels
verwendet werden.