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öne doğru gelip aynı yöne doğru 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 karşı tarafına geçmenin güvenli olduğu 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
OptimizeTours
isteğ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 = true
ile birlikte kullanılabilir. Bu durumda U dönüşü yapılmaz ancak çözümleyici,side_of_road = true
değ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 = true
olduğunda, ilgili yanıttakiShipmentRoute.Visit
alanındainjected_solution_location_token
alanı 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.Visit
kullandığınızda, buShipmentRoute.Visit
avoid_u_turns = true
değerinin bulunduğu birVisitRequest
'a karşılık geliyorsaShipmentRoute.Visit
, çözücü tarafından daha önce döndürülmüş birinjected_solution_location_token
içermelidir.
Sınırlamalar
U dönüşünden kaçınma işlemi, elimizden geldiğince yapılır. Bazı durumlarda rota yine de U dönüşü içerebilir:
avoid_u_turns
yalnızcaside_of_road
özelliğini destekleyen seyahat modlarında çalışır. ÖzellikleWALKING
seyahat 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.- Teslimat veya teslim alma işlemi çı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_labels
ile birlikte kullanılamaz.