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

यू-टर्न से बचने की सुविधा, पिकअप और डिलीवरी ऑब्जेक्ट में मौजूद `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 पर सेट करें.

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

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

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

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

सीमाएं

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

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