Araçlar, varsayılan olarak teslim alma veya teslimat konumuna herhangi bir yönden gelebilir ve herhangi bir yöne gidebilir. Bazı durumlarda bu, aracın ziyaret yerinde U dönüşü yapmasını zorunlu kılar. Bu da araç boyutu, konumdaki trafik işaretleri veya normal trafik koşulları nedeniyle zor ya da imkansız olabilir.
Belirli bir teslim alma veya teslimat konumunda araçların varış ve ayrılış arasında yön değiştirmesini önlemek için bu konumda avoid_u_turns değerini doğru olarak ayarlayabilirsiniz. Bu ayar etkinleştirildiğinde araç, konuma aynı yönde gelir ve aynı yönde ayrılır. Böylece U dönüşü yapmaktan kaçınılır. Çözümleyici, iki yönlü yollarda her iki yönü de dikkate alır ve rota optimizasyonunun bir parçası olarak birini seçer.
Aracın, yol noktasına en yakın olan yol kenarına varıp ayrıldığı bir rota elde etmek için side_of_road değerini true olarak da ayarlayabilirsiniz. Bu durumda araç, varış ve ayrılış arasında da yön değiştirmez. Aynı sonucu elde etmek için hem side_of_road hem de avoid_u_turns değerini doğru olarak ayarlayabilirsiniz. Ayrıntılar için Diğer özelliklerle etkileşim başlıklı makaleyi inceleyin.
Uygulamada, yol noktasını geçmek için yolu geçmenin güvenli olduğu durumlarda avoid_u_turns kullanılmalıdır. Geçişin önerilmediği veya mümkün olmadığı durumlarda side_of_road kullanın.
Örnek: avoid_u_turns ile OptimizeTours isteğinde bulunma
OptimizeTours istekleri REST veya gRPC kullanılarak yapılabilir.
İstek göndermeden önce aşağıdaki parametreleri ortamınıza uygun değerlerle değiştirin:
- Uygulama Varsayılan Kimlik Bilgileri'nin OAuth Kullanma bölümünde açıklandığı şekilde yapılandırıldığından emin olun.
PROJECT_NUMBER_OR_ID değerini Cloud proje numaranız veya kimliğiniz olarak ayarlayın.
Aşağıdaki komut, Route Optimization API'ye bir
OptimizeToursisteği gönderir ve eşzamanlı olarak yanıt alır.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
İstek tamamlandığında yanıt mesajı alırsınız.
Diğer özelliklerle etkileşim
avoid_u_turns,side_of_road = trueile birlikte kullanılabilir. Bu durumda, U dönüşlerinden kaçınılır ancak çözücü, aracı yolun aynı tarafında olacak şekilde bir rota seçer. Bu, yalnızcaside_of_road = trueayarını yapmaya benzer.- Belirli bir ziyaret isteği için
avoid_u_turns = trueolduğunda, karşılık gelen yanıttakiShipmentRoute.Visitalanındainjected_solution_location_tokenalanı ayarlanır. Değerinin tam anlamı bir uygulama ayrıntısıdır ancak çözümü bulan kişi tarafından seçilen yol tarafıyla ilgili bilgileri kodlar. - Giriş isteğinin bir parçası olarak
ShipmentRoute.Visitkullandığınızda, buShipmentRoute.Visit,avoid_u_turns = trueiçindeVisitRequestile eşleşiyorsaShipmentRoute.Visit, çözücü tarafından daha önce döndürülmüş birinjected_solution_location_tokeniçermelidir.
Sınırlamalar
U dönüşü önleme özelliği, en iyi girişim baz alınarak sağlanır. Bazı durumlarda rota yine de U dönüşleri içerebilir:
avoid_u_turnsyalnızcaside_of_roadözelliğini destekleyen seyahat modlarında çalışır. ÖzellikleWALKINGulaşım modu için desteklenmez.avoid_u_turns, varış ve ayrılış noktalarının aynı olmadığı teslim alma ve teslimat işlemleri için kullanılamaz.- Teslim alma veya teslimat işlemi çıkmaz bir yolda yapılıyorsa yoldan çıkmak için U dönüşü yapmak gerekir.
- Bu özelliğin amacı, teslim alma ve teslimat konumlarında U dönüşü yapmayı önlemektir. Ara noktalar arasında U dönüşü yapılmasını önlenmez.
- Farklı bir yola yapılan çok keskin dönüşler U dönüşü olarak kabul edilmez ve genellikle kaçınılmazdır.
Bu özellik geliştirme aşamasındayken ek sınırlamalar vardır. Bu özelliğin gelişmesiyle birlikte bu sınırlamaların kaldırılacağını düşünüyoruz.
avoid_u_turns,interpret_injected_solutions_using_labelsile birlikte kullanılamaz.