Araçlar varsayılan olarak teslim alma veya teslimat konumuna herhangi bir yönden gelebilir ve ardından herhangi bir yöne gidebilir. Bazı durumlarda bu durum, aracın ziyaret konumunda U dönüşü yapmasına neden olur. Bu da araç boyutu, konumdaki trafik işaretleri veya normal trafik koşulları nedeniyle zor veya imkansız olabilir.
Belirli bir teslim alma veya teslimat konumu için araçların varış ve kalkış arasında yön değiştirmesini önlemek istiyorsanız bu konum için avoid_u_turns değerini doğru olarak ayarlayabilirsiniz. Bu ayarda araç, aynı yönle konuma gidip oradan ayrılır ve böylece U dönüşü yapmaktan kaçınır. Çözümleyici, iki yönlü yollarda her iki yönü de dikkate alır ve rota optimizasyonu kapsamında bir yönü seçer.
Aracın, yol noktasına en yakın yol kenarından gelip ayrıldığı bir rota elde etmek için side_of_road değerini doğru olarak da ayarlayabilirsiniz. Bu durumda araç, varış ve kalkış arasında yönünü de değiştirmez. Aynı sonuca ulaşmak için hem side_of_road hem de avoid_u_turns değerini true olarak ayarlayabilirsiniz. Ayrıntılar için Diğer özelliklerle etkileşim bölümüne bakın.
Uygulamada, yol noktasına ulaşmak için yolun güvenli bir şekilde geçilebileceği durumlarda avoid_u_turns kullanılmalıdır. Geçiş yapılması istenmiyorsa veya mümkün değilse side_of_road simgesini kullanın.
Örnek: avoid_u_turns ile OptimizeTours isteği gönderme
OptimizeTours istekleri REST veya gRPC kullanılarak gönderilebilir.
İstek göndermeden önce aşağıdaki parametreleri ortamınıza uygun değerlerle değiştirin:
- Uygulama Varsayılan Kimlik Bilgileri'ni OAuth'u kullanma bölümünde açıklandığı şekilde yapılandırdığınızdan emin olun.
PROJECT_NUMBER_OR_ID değerini Cloud proje numaranız veya kimliğiniz olarak ayarlayın.
Aşağıdaki komut, RouteOptimization API'ye bir
OptimizeToursisteği gönderir ve senkronize 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 bir 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ümleyici,side_of_road = truedeğerinin tek başına ayarlanmasına benzer şekilde aracın yol noktasınla aynı tarafta olduğu bir rota seçer.- Belirli bir ziyaret isteği için
avoid_u_turns = trueolduğunda, ilgili yanıttakiShipmentRoute.Visitalanındainjected_solution_location_tokenalanı ayarlanır. Değerinin tam anlamı bir uygulama ayrıntısıdır ancak çözücü tarafından seçilen yolun tarafı hakkındaki bilgileri kodlar. - Giriş isteği kapsamında bir
ShipmentRoute.Visitkullandığınızda, buShipmentRoute.Visitavoid_u_turns = trueolan birVisitRequest'ye karşılık geliyorsaShipmentRoute.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, elimizden geldiğince uygulanır. Bazı durumlarda rota yine de U dönüşü içerebilir:
avoid_u_turnsyalnızcaside_of_roadözelliğini destekleyen seyahat modlarında çalışır. ÖzellikleWALKINGseyahat modu için desteklenmez.avoid_u_turns, varış ve kalkış noktalarının aynı olmadığı teslim alma ve teslim etme işlemleri için kullanılamaz.- Alım veya teslimat, çıkmaz sokakta olduğunda yoldan çıkmak için U dönüşü yapmak gerekir.
- Bu özelliğin amacı, teslim alma ve teslimat noktalarında U dönüşü yapmaktan kaçınmaktır. Yol işaretleri arasında U dönüşü yapılması engellenmez.
- Farklı bir yola yapılan çok keskin dönüşler U dönüşü olarak kabul edilmez ve genellikle bu dönüşlerden kaçınılmaz.
Bu özellik geliştirme aşamasında olduğundan ek sınırlamalar vardır. Özellik geliştikçe bu kısıtlamaların kaldırılmasını bekliyoruz.
avoid_u_turns,interpret_injected_solutions_using_labelsile birlikte kullanılamaz.