बताएं कि ट्रैफ़िक डेटा कैसे और अगर शामिल करना है

आपकी चुनी गई ट्रैफ़िक प्राथमिकताएं, रास्ते की जानकारी के सटीक होने और अनुरोध की परफ़ॉर्मेंस के बीच संतुलन बनाती हैं. अनुरोध करते समय, आपको यह आकलन करना चाहिए कि सबसे सटीक नतीजे दिखाना बेहतर है या जल्द से जल्द नतीजे दिखाना है. Routes API से, रिस्पॉन्स डेटा की क्वालिटी बनाम रिस्पॉन्स मिलने में लगने वाले समय को कंट्रोल करने की सुविधा मिलती है.

ट्रैफ़िक डेटा का लेवल सेट करना

Routes API, रूटिंग का एपीआई (REST) और RootPreferences (gRPC) देता है, जो आपको रूट कैलकुलेट करने के लिए, रूटिंग की प्राथमिकताएं तय करने देता है. ये प्राथमिकताएं इस सीमा में अलग-अलग होती हैं कि वे रास्ते की गणना में ट्रैफ़िक की स्थितियों को शामिल करती हैं. रूट की हर एक प्राथमिकता से ऐसे नतीजे मिलते हैं, जो रूट की क्वालिटी, अनुमानित ETA, और जवाब मिलने में लगने वाले समय के हिसाब से एक डिग्री के हिसाब से अलग-अलग होते हैं.

ट्रैफ़िक की स्थितियां, ट्रैफ़िक फ़्लो की दर की जानकारी देती हैं. उदाहरण के लिए:

  • जब कोई भीड़ नहीं होती है, तो ट्रैफ़िक की स्थितियां सामान्य मानी जाती हैं और ट्रैफ़िक का फ़्लो बिना किसी रुकावट के सामान्य तरीके से होता है.
  • बिजली की ज़्यादा खपत वाले समय पर, ट्रैफ़िक घनत्व बढ़ जाता है. इससे ट्रैफ़िक धीमा हो जाता है और ट्रैफ़िक सामान्य होने लगता है.
  • बंपर से बंपर ट्रैफ़िक में फ़्लो-रेट रुक जाता है, जिसकी वजह से ट्रैफ़िक बहुत ज़्यादा होता है.

ट्रैफ़िक के बारे में जानकारी नहीं है

जब आप TRAFFIC_UNAWARE रूटिंग की प्राथमिकता सेट करते हैं, तो मौजूदा ट्रैफ़िक की स्थितियों पर ध्यान दिए बिना रास्तों की गिनती की जाती है. रूटिंग की इस प्राथमिकता से, रिस्पॉन्स के दौरान इंतज़ार का समय सबसे कम मिलता है. जवाब जल्दी से मिलते हैं.

TRAFFIC_UNAWARE डिफ़ॉल्ट सेटिंग है.

जवाब में:

  • ETA, duration रिस्पॉन्स प्रॉपर्टी में शामिल होता है.

  • duration और staticDuration रिस्पॉन्स प्रॉपर्टी में एक जैसी वैल्यू होती है.

इस रूटिंग प्राथमिकता का इस्तेमाल तब करें, जब आप चाहते हों कि जवाब तेज़ी से लौटाए जाएं और अनुमानित रूटिंग की जानकारी काफ़ी अच्छी है.

ट्रैफ़िक के बारे में जानकारी

जब आप TRAFFIC_AWARE रूटिंग की प्राथमिकता सेट करते हैं, तो रास्तों की मौजूदा ट्रैफ़िक स्थितियों का हिसाब लगाया जाता है. ऐसा होने पर, रास्ते और रास्ते की जानकारी में असल हालात की ज़्यादा सटीक जानकारी मिलती है. डेटा क्वालिटी में होने वाली यह बढ़ोतरी, जवाब देने में लगने वाले समय की वजह से आती है. इसलिए, परफ़ॉर्मेंस ऑप्टिमाइज़ेशन को लागू करके, जवाब मिलने में लगने वाला समय कम किया जाता है.

जवाब में:

  • रीयल-टाइम ट्रैफ़िक को ध्यान में रखते हुए ETA को duration रिस्पॉन्स प्रॉपर्टी में शामिल किया जाता है.

  • staticDuration रिस्पॉन्स प्रॉपर्टी में ट्रैफ़िक की स्थितियों को ध्यान में रखे बिना, रूट से गुज़रने का कुल समय शामिल होता है.

इस रूटिंग प्राथमिकता का इस्तेमाल तब करें, जब आपको TRAFFIC_UNAWARE से ज़्यादा सटीक रूटिंग जानकारी चाहिए, फिर भी अगर आपको जवाब के इंतज़ार में कुछ समय की बढ़ोतरी के साथ जवाब मिलते हैं, तो आपको इससे परेशानी नहीं है.

ट्रैफ़िक की जानकारी सबसे अच्छी

जब TRAFFIC_AWARE_OPTIMAL रूटिंग की प्राथमिकता सेट की जाती है, तो ट्रैफ़िक की मौजूदा स्थितियों के हिसाब से रूट का हिसाब लगाया जाता है. हालांकि, परफ़ॉर्मेंस ऑप्टिमाइज़ेशन लागू नहीं किए जाते. इस मोड में, सर्वर सबसे सही रास्ता ढूंढने के लिए सड़क के नेटवर्क की ज़्यादा बारीकी से खोज करता है.

TRAFFIC_AWARE_OPTIMAL रूटिंग की प्राथमिकता, maps.google.com के इस्तेमाल किए जाने वाले मोड और Google Maps मोबाइल ऐप्लिकेशन के लिए इस्तेमाल किए जाने वाले मोड के बराबर है.

कंप्यूट रूट मैट्रिक्स के साथ इस विकल्प का इस्तेमाल करने पर, किसी अनुरोध में एलिमेंट की संख्या (ऑरिजिन की संख्या × डेस्टिनेशन की संख्या) 100 से ज़्यादा नहीं हो सकती. कंप्यूट रूट मैट्रिक्स की सीमाओं के बारे में ज़्यादा जानने के लिए, रूट मैट्रिक्स की गणना करें देखें.

जवाब में:

  • रीयल-टाइम ट्रैफ़िक को ध्यान में रखते हुए ETA को duration रिस्पॉन्स प्रॉपर्टी में शामिल किया जाता है.

  • staticDuration रिस्पॉन्स प्रॉपर्टी में ट्रैफ़िक की स्थितियों को ध्यान में रखे बिना, रूट से गुज़रने का कुल समय शामिल होता है.

इस रूटिंग की प्राथमिकता से, रिस्पॉन्स मिलने में लगने वाला समय सबसे ज़्यादा होता है. इसका मतलब है कि रिस्पॉन्स मिलने में सबसे ज़्यादा समय लगता है. इस रूटिंग की प्राथमिकता का इस्तेमाल तब करें, जब आपको सबसे अच्छी क्वालिटी के नतीजे चाहिए. इस बात से कोई फ़र्क़ नहीं पड़ता कि रिस्पॉन्स में कितना समय लगा है.

निकलने का समय तय करने का असर

आप किसी यात्रा के लिए जाने का समय सेट करने के लिए, departureTime प्रॉपर्टी का इस्तेमाल कर सकते हैं. अगर departureTime प्रॉपर्टी को सेट नहीं किया जाता है, तो डिफ़ॉल्ट रूप से, अनुरोध का समय लागू होता है.

  • TRAFFIC_UNAWARE के लिए, आप departureTime सेट नहीं कर सकते, क्योंकि रास्ता और अवधि का चुनाव सड़क के नेटवर्क और औसत समय पर निर्भर रहने वाले ट्रैफ़िक पर आधारित होता है.

  • TRAFFIC_AWARE और TRAFFIC_AWARE_OPTIMAL के लिए, लाइव ट्रैफ़िक की स्थितियों को ध्यान में रखते हुए, लाइव ट्रैफ़िक अब और भी ज़्यादा ज़रूरी हो गया है. departureTime जितना आगे के लिए जाने का समय तय किया जाएगा, ट्रैफ़िक की पुरानी स्थितियों पर उतना ज़्यादा ध्यान दिया जाएगा.

रूटिंग से जुड़ी प्राथमिकता सेट करने का उदाहरण

नीचे दिया गया JSON कोड, अनुरोध वाले मैसेज की इकाई के मुख्य हिस्से में, रूटिंग की प्राथमिकता सेट करने का तरीका बताता है.

{
  "origin":{
    "location":{
      "latLng":{
        "latitude":37.419734,
        "longitude":-122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":37.417670,
        "longitude":-122.079595
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE_OPTIMAL"
}

पॉलीलाइन की क्वालिटी कॉन्फ़िगर करें

Routes API की मदद से, ट्रैफ़िक अवेयर पॉलीलाइन के साथ-साथ ट्रैफ़िक की स्थितियों के बारे में जानकारी पाने का अनुरोध किया जा सकता है. ज़्यादा जानकारी के लिए, पॉलीलाइन का अनुरोध करें देखें.

पॉलीलाइन की क्वालिटी इन शब्दों में बताई जा सकती है:

  • पॉलीलाइन बनाने के लिए पॉइंट की संख्या

    जितने ज़्यादा पॉइंट होंगे, पॉलीलाइन उतनी ही चिकनी होगी (खास तौर पर कर्व में).

  • पॉइंट के फ़्लोटिंग-पॉइंट की सटीक जानकारी

    पॉइंट को अक्षांश और देशांतर की वैल्यू के तौर पर तय किया जाता है. इन्हें सिंगल-सटीक फ़्लोटिंग-पॉइंट फ़ॉर्मैट में दिखाया जाता है. यह छोटे वैल्यू के लिए अच्छी तरह से काम करता है (जिसे सटीक तरह से दिखाया जा सकता है), लेकिन फ़्लोटिंग-पॉइंट राउंडिंग से जुड़ी गड़बड़ियों की वजह से वैल्यू बढ़ने के साथ सटीक होना कम होता है.

ComputeRoutes के तरीके (REST) और ComputeRoutes तरीके (gRPC) से, पॉलीलाइन की क्वालिटी को कंट्रोल करने के लिए, polylineQuality अनुरोध का विकल्प इस्तेमाल किया जा सकता है.

पॉलीलाइन क्वालिटी सेट करने का उदाहरण

polylineQuality, पॉलीलाइन की क्वालिटी को HIGH_QUALITY या OVERVIEW (डिफ़ॉल्ट) के तौर पर बताता है. OVERVIEW से, पॉलीलाइन को कम पॉइंट का इस्तेमाल करके बनाया गया है. साथ ही, इसके अनुरोध के इंतज़ार का समय HIGH_QUALITY से कम है.

उदाहरण के लिए: अनुरोध के मुख्य भाग में:

{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "polylineQuality": "HIGH_QUALITY",
  "polylineEncoding": "ENCODED_POLYLINE", 
  "departureTime": "2023-10-15T15:01:23.045123456Z",
  ...
}