डिफ़ॉल्ट रूप से, वाहन किसी भी दिशा से पिकअप या डिलीवरी की जगह पर पहुंच सकते हैं और फिर किसी भी दिशा में जा सकते हैं. कुछ मामलों में, वाहन को विज़िट की जगह पर यू-टर्न लेना पड़ता है. वाहन के साइज़, जगह पर ट्रैफ़िक के निशान या सामान्य ट्रैफ़िक की वजह से, ऐसा करना मुश्किल या असंभव हो सकता है.
किसी पिकअप या डिलीवरी की जगह पर पहुंचने और वहां से जाने के बीच, वाहनों के दिशा बदलने से रोकने के लिए, उस जगह के लिए avoid_u_turns को 'सही' पर सेट किया जा सकता है. इस सेटिंग के तहत, वाहन एक ही दिशा में, जगह पर पहुंचेगा और वहां से निकलेगा. इससे वाहन को यू-टर्न नहीं लेना पड़ेगा. दोतरफ़ा सड़कों पर, सलूवर दोनों दिशाओं को ध्यान में रखेगा और रास्ते को ऑप्टिमाइज़ करने के लिए, इनमें से किसी एक दिशा को चुनेगा.
side_of_road को 'सही' पर सेट करके भी ऐसा रास्ता पाया जा सकता है जहां वाहन, पाथवे के सबसे नज़दीक सड़क की साइड से आता और जाता है. इस मामले में, वाहन के पहुंचने और जाने के बीच, उसकी हेडिंग भी नहीं बदलती. एक ही नतीजा पाने के लिए, side_of_road और avoid_u_turns, दोनों को 'सही' पर सेट किया जा सकता है. ज़्यादा जानकारी के लिए, अन्य सुविधाओं के साथ इंटरैक्शन देखें.
आम तौर पर, avoid_u_turns का इस्तेमाल तब किया जाना चाहिए, जब व्यूपॉइंट तक पहुंचने के लिए सड़क को सुरक्षित तरीके से पार किया जा सकता हो. जब सड़क पार करने की सलाह न दी गई हो या ऐसा करना संभव न हो, तो side_of_road का इस्तेमाल करें.
उदाहरण: avoid_u_turns के साथ OptimizeTours का अनुरोध करना
OptimizeTours अनुरोध, REST या gRPC का इस्तेमाल करके किए जा सकते हैं.
अनुरोध करने से पहले, इन पैरामीटर को अपने एनवायरमेंट के हिसाब से वैल्यू से बदलें:
- पक्का करें कि आपने ऐप्लिकेशन के लिए डिफ़ॉल्ट क्रेडेंशियल को OAuth का इस्तेमाल करें में बताए गए तरीके के मुताबिक कॉन्फ़िगर किया हो.
PROJECT_NUMBER_OR_ID को अपने Cloud प्रोजेक्ट नंबर या आईडी पर सेट करें.
यह कमांड, Route Optimization API को
OptimizeToursअनुरोध भेजता है और एक साथ जवाब पाता है. किसी फ़ाइल को पढ़ें.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
अनुरोध पूरा होने के बाद, आपको जवाब वाला मैसेज मिलेगा.
अन्य सुविधाओं के साथ इंटरैक्शन
avoid_u_turnsका इस्तेमालside_of_road = trueके साथ किया जा सकता है. इस मामले में, यू-टर्न से बचा जाता है. हालांकि, सॉल्वर ऐसा रास्ता चुनता है कि वाहन, रास्ते के उसी हिस्से पर हो जहां वेपॉइंट है. यह वैसा ही है जैसे सिर्फ़side_of_road = trueसेट करने पर होता है.- जब किसी विज़िट के अनुरोध के लिए
avoid_u_turns = trueहै, तो उससे जुड़े जवाब मेंShipmentRoute.Visitके लिए फ़ील्डinjected_solution_location_tokenसेट होता है. इसकी वैल्यू का सटीक मतलब, लागू करने से जुड़ी जानकारी है. हालांकि, यह सॉल्वर की चुनी गई सड़क की साइड के बारे में जानकारी को कोड में बदल देता है. - इनपुट अनुरोध के हिस्से के तौर पर
ShipmentRoute.Visitका इस्तेमाल करने पर, अगर वहShipmentRoute.Visitकिसी ऐसेVisitRequestसे जुड़ा है जिसमेंavoid_u_turns = trueहै, तोShipmentRoute.Visitमें ऐसाinjected_solution_location_tokenहोना चाहिए जो पहले सॉल्वर ने दिखाया था.
सीमाएं
यू-टर्न से बचने की सुविधा, पूरी कोशिश के आधार पर काम करती है. कुछ मामलों में, रास्ते में अब भी यू-टर्न हो सकते हैं:
avoid_u_turnsसिर्फ़ उन यात्रा के तरीकों के साथ काम करता है जोside_of_roadके साथ काम करते हैं. खास तौर पर, यहWALKINGयात्रा मोड के लिए काम नहीं करता.avoid_u_turnsका इस्तेमाल, उन पिकअप और डिलीवरी के लिए नहीं किया जा सकता जहां पहुंचने और जाने का समय एक ही नहीं है.- जब पिकअप या डिलीवरी किसी ऐसी सड़क पर हो जहां रास्ता खत्म हो जाता है, तो उस सड़क से बाहर निकलने के लिए यू-टर्न लेना ज़रूरी होता है.
- इस सुविधा का मकसद, पिकअप और डिलीवरी की जगहों पर यू-टर्न लेने से बचना है. रास्ते के बीच में यू-टर्न नहीं लिया जाता.
- किसी दूसरी सड़क पर जाने के लिए, बहुत ज़्यादा तीव्र मोड़ को यू-टर्न नहीं माना जाता. आम तौर पर, इन मोड़ों से बचा नहीं जा सकता.
इस सुविधा पर अभी काम चल रहा है. इसलिए, इसमें कुछ और सीमाएं भी हैं. हमें उम्मीद है कि इस सुविधा के बेहतर होने के साथ-साथ, ये पाबंदियां हटा दी जाएंगी.
avoid_u_turnsका इस्तेमाल,interpret_injected_solutions_using_labelsके साथ नहीं किया जा सकता.