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 erforderlich, am Ort des Besuchs einen U-Turn zu machen. Dies kann aufgrund der Fahrzeuggröße, der Verkehrsschilder am Standort oder der üblichen Verkehrsbedingungen schwierig oder unmöglich sein.
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_turnskann mitside_of_road = trueverwendet 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 = truefür eine bestimmte Besuchsanfrage gilt, ist das Feldinjected_solution_location_tokenin der entsprechenden Antwort fürShipmentRoute.Visitfestgelegt. 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.Visitals Teil der Eingabeanfrage verwenden und dieseShipmentRoute.VisiteinerVisitRequestentspricht, in deravoid_u_turns = true, mussShipmentRoute.Visiteineinjected_solution_location_tokenenthalten, 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_turnsfunktioniert nur mit Mobilitätsoptionen, dieside_of_roadunterstützen. Insbesondere wird sie nicht für denWALKING-Reisemodus unterstützt.avoid_u_turnskann nicht für Abholungen und Lieferungen verwendet werden, bei denen Ankunft und Abfahrt nicht identisch sind.- Wenn eine Abholung oder Lieferung in einer Sackgasse erfolgt, müssen Sie umkehren, um die Straße zu verlassen.
- Mit dieser Funktion soll verhindert werden, dass Sie an Abhol- und Lieferorten umkehren müssen. 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 dieser Funktion noch in der Entwicklungsphase ist, gelten zusätzliche Einschränkungen. Wir gehen davon aus, dass sie mit der Weiterentwicklung der Funktion aufgehoben werden.
avoid_u_turnskann nicht mitinterpret_injected_solutions_using_labelsverwendet werden.