पिकअप और डिलीवरी की जगहों पर यू-टर्न से बचें

डिफ़ॉल्ट रूप से, वाहन किसी भी दिशा से पिकअप या डिलीवरी की जगह पर पहुंच सकते हैं और फिर किसी भी दिशा में जा सकते हैं. कुछ मामलों में, वाहन को विज़िट की जगह पर यू-टर्न लेना पड़ता है. वाहन के साइज़, जगह पर ट्रैफ़िक के निशान या सामान्य ट्रैफ़िक की वजह से, ऐसा करना मुश्किल या असंभव हो सकता है.

किसी पिकअप या डिलीवरी की जगह पर पहुंचने और वहां से जाने के बीच, वाहनों के दिशा बदलने से रोकने के लिए, उस जगह के लिए 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 का इस्तेमाल, उन पिकअप और डिलीवरी के लिए नहीं किया जा सकता जहां पहुंचने और जाने का समय एक ही नहीं है.
  • जब पिकअप या डिलीवरी किसी ऐसी सड़क पर हो जहां रास्ता खत्म हो जाता है, तो उस सड़क से बाहर निकलने के लिए यू-टर्न लेना ज़रूरी होता है.
  • इस सुविधा का मकसद, पिकअप और डिलीवरी की जगहों पर यू-टर्न लेने से बचना है. रास्ते के बीच में यू-टर्न नहीं लिया जाता.
  • किसी दूसरी सड़क पर जाने के लिए, बहुत ज़्यादा तीव्र मोड़ को यू-टर्न नहीं माना जाता. आम तौर पर, इन मोड़ों से बचा नहीं जा सकता.

इस सुविधा पर अभी काम चल रहा है. इसलिए, इसमें कुछ और सीमाएं भी हैं. हमें उम्मीद है कि इस सुविधा के बेहतर होने के साथ-साथ, ये पाबंदियां हटा दी जाएंगी.