यू-टर्न से बचने की कोशिश

U-टर्न से बचने की सुविधा, पिकअप और डिलीवरी ऑब्जेक्ट में मौजूद `ShipmentModel.Shipment` में उपलब्ध है.

यू-टर्न से बचने की सुविधा, रास्ते को ऑप्टिमाइज़ करने वाली सुविधा है. यह सुविधा, वाहनों को किसी जगह पर पिकअप या डिलीवरी के लिए जाने के दौरान, यू-टर्न लेने से रोकती है. यू-टर्न से बचने की सुविधा सेट करके, यह तय किया जाता है कि वाहन को विज़िट की जगह पर पहुंचते और वहां से निकलते समय, एक ही दिशा में रहना चाहिए.

यू-टर्न से बचने की सुविधा इस तरह काम करती है:

  1. आपने किसी खास विज़िट के लिए, यू-टर्न से बचने की प्रॉपर्टी सेट की हो.
  2. एपीआई, दोतरफ़ा सड़कों पर यात्रा की दोनों दिशाओं पर विचार करता है और सबसे सही रास्ता चुनता है.
  3. यह एपीआई ऐसा रास्ता जनरेट करता है जहां वाहन, विज़िट की जगह पर यू-टर्न लिए बिना पहुंचता है और वहां से निकल जाता है. इस जगह पर पहुंचने के लिए, ड्राइवर को सड़क पार करनी पड़ सकती है.

यह प्रॉपर्टी उन स्थितियों के लिए सबसे सही है जहां वाहन के साइज़, ट्रैफ़िक साइन या ट्रैफ़िक की सामान्य स्थितियों की वजह से यू-टर्न लेना मुश्किल या नामुमकिन होता है.

प्रॉपर्टी

यू-टर्न से बचने की सुविधा वाली प्रॉपर्टी को VisitRequest ऑब्जेक्ट में तय किया जाता है. इस ऑब्जेक्ट का इस्तेमाल, शिपमेंट के pickups और deliveries कलेक्शन में किया जाता है.

प्रॉपर्टी टाइप ब्यौरा
avoidUTurns बूलियन true पर सेट होने पर, एपीआई वाहन को इस जगह पर यू-टर्न लेने से रोकता है. वाहन एक ही दिशा में आएगा और जाएगा.

उदाहरण

इस सेक्शन में दो तरह के उदाहरण दिए गए हैं:

  • यू-टर्न से बचने की सुविधा के स्ट्रक्चर के बारे में बताने वाले कोड सैंपल.
  • सुविधा को शामिल करने वाले अनुरोध का उदाहरण.

कोड सैंपल

यहां दिए गए उदाहरण में, पिकअप और डिलीवरी के लिए avoidUTurns का स्ट्रक्चर दिखाया गया है:

"pickups":[
  {
    "arrivalLocation": {
      "latitude": 37.42506261000996,
      "longitude": -122.09535511930135
    },
    "avoidUTurns": true
  }
],
"deliveries":[
  {
    "arrivalLocation": {
      "latitude": 37.42421503206021,
      "longitude": -122.09526063135228
    },
    "avoidUTurns": true
  }
]

अनुरोध का उदाहरण

यहां optimizeTours के एक बुनियादी अनुरोध का उदाहरण दिया गया है. इसमें यू-टर्न से बचने की सुविधा शामिल है. इस अनुरोध में ये एलिमेंट शामिल होते हैं:

  • model ऑब्जेक्ट में पिकअप और डिलीवरी की जानकारी वाला शिपमेंट.
  • avoidUTurns प्रॉपर्टी को पिकअप और डिलीवरी, दोनों जगहों के लिए true पर सेट किया गया है, ताकि वाहन उन स्टॉप पर दिशा न बदले.
  {
    "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
        }
      ]
    }
  }

sideOfRoad वाले यू-टर्न से बचें

sideOfRoad एक अलग सुविधा है. हालांकि, यह यू-टर्न से बचने की सुविधा से काफ़ी मिलती-जुलती है. ऐसा इसलिए, क्योंकि यह वाहन को सड़क के उस किनारे पर ले जाती है जो मंज़िल के सबसे करीब होता है. इससे कई यू-टर्न से बचा जा सकता है. इससे वाहन को किसी खास दिशा से विज़िट की जगह पर पहुंचने के लिए मजबूर किया जाता है. इससे यू-टर्न लेने की ज़रूरत नहीं पड़ती.

आपको यू-टर्न से बचने की सुविधा का इस्तेमाल तब करना चाहिए, जब पैदल चलकर सड़क पार करना सुरक्षित हो, ताकि विज़िट की जगह पर पहुंचा जा सके. अगर सड़क पार करने की अनुमति नहीं है या ऐसा करना मुमकिन नहीं है, तो sideOfRoad को true पर सेट करें.

sideOfRoad प्रॉपर्टी को Waypoint ऑब्जेक्ट में तय किया जाता है.

अन्य सुविधाओं के साथ इंटरैक्शन

यू-टर्न से बचने की सुविधा, रास्तों की जानकारी देने वाली अन्य सुविधाओं के साथ इन तरीकों से काम करती है:

  • सड़क के किनारे: avoidUTurns और sideOfRoad, दोनों को true पर सेट करने से, वाहन को सड़क के उस किनारे पर ले जाने की संभावना थोड़ी बढ़ जाती है जो विज़िट की जगह के सबसे करीब है. इससे यू-टर्न लेने से बचा जा सकता है. हालांकि, ऐसा करने से यू-टर्न से बचने की पाबंदियों से जुड़ी समस्याएं बढ़ जाती हैं. ज़्यादातर जगहों पर जाने के लिए, इनमें से सिर्फ़ एक प्रॉपर्टी सेट करने से यू-टर्न से बचा जा सकता है.
  • इंजेक्ट किए गए समाधान: यू-टर्न से बचने की सुविधा का इस्तेमाल करने पर, एपीआई के जवाब में जनरेट किए गए ShipmentRoute.Visit के अंदर injectedSolutionLocationToken शामिल होता है. इससे यह रिकॉर्ड किया जाता है कि सड़क की किस ओर से यू-टर्न लिया गया. अगर आपको इस विज़िट का इस्तेमाल, आने वाले समय में किसी अनुरोध में इंजेक्ट किए गए समाधान के तौर पर करना है, तो आपको इस टोकन को एपीआई पर वापस भेजना होगा.

सीमाएं

यू-टर्न से बचने की सुविधा, सबसे बेहतर कोशिशों के आधार पर काम करती है. इन स्थितियों में, एपीआई जनरेट किए गए रास्ते में यू-टर्न शामिल कर सकता है:

  • यात्रा के मोड को DRIVING के अलावा किसी दूसरे मोड पर सेट किया गया हो.
  • किसी विज़िट लोकेशन के लिए, पहुंचने और जाने की जगह अलग-अलग हैं. इस मामले में, एपीआई गड़बड़ी का मैसेज दिखाता है.
  • यह जगह एक ऐसी सड़क पर है जो आगे जाकर बंद हो जाती है. इसलिए, यहां से बाहर निकलने के लिए यू-टर्न लेना पड़ता है.
  • यू-टर्न, विज़िट की जगह पर न होकर रास्ते में होता है.
  • इस इमेज में, गाड़ी को दूसरी सड़क पर बहुत तेज़ी से मोड़ा गया है. एपीआई इसे यू-टर्न के तौर पर नहीं मानता.