गति की सीमाएं

Roads API, सड़क के किसी सेगमेंट के लिए पोस्ट की गई स्पीड लिमिट दिखाता है. अगर सड़क के सेगमेंट के लिए अलग-अलग गति सीमाएं हैं, तो सेगमेंट के लिए डिफ़ॉल्ट गति सीमा दिखाई जाती है.

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

अनुरोध

एचटीटीपीएस का इस्तेमाल करके, स्पीड लिमिट के लिए इस तरह अनुरोध भेजें:

https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY

पैरामीटर के इस्तेमाल की जानकारी

ज़रूरी पैरामीटर

  • path या placeId पैरामीटर में से कोई एक.

    • path — अक्षांश/देशांतर के 100 जोड़े तक की सूची. यह सूची, किसी पाथ को दिखाती है. अक्षांश और देशांतर की वैल्यू को कॉमा लगाकर अलग किया जाना चाहिए. अक्षांश/देशांतर के जोड़े को पाइप वर्ण "|" से अलग किया जाना चाहिए. path पैरामीटर की वैल्यू देने पर, एपीआई सबसे पहले पाथ को उस सड़क पर स्नैप करता है जिस पर वाहन के चलने की सबसे ज़्यादा संभावना होती है. ऐसा वह snapToRoads अनुरोध के लिए भी करता है. इसके बाद, वह सड़क के उस सेगमेंट के लिए स्पीड लिमिट तय करता है. अगर आपको एपीआई से पाथ को स्नैप नहीं करना है, तो आपको placeId पैरामीटर पास करना होगा. इसके बारे में यहां बताया गया है. इस उदाहरण में, तीन अक्षांश/देशांतर जोड़े के साथ path पैरामीटर दिखाया गया है: path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796.
    • placeId — एक या इससे ज़्यादा सड़क के हिस्सों को दिखाने वाले प्लेस आईडी. पक्का करें कि हर जगह का आईडी, सड़क के किसी हिस्से से जुड़ा हो, न कि किसी दूसरी तरह की जगह से. हर अनुरोध के साथ, ज़्यादा से ज़्यादा 100 जगह के आईडी पास किए जा सकते हैं. जवाब में, अनुरोध में शामिल हर जगह के आईडी के लिए स्पीड लिमिट शामिल होती है.

      एपीआई, दिए गए जगह के आईडी पर रोड-स्नैपिंग की सुविधा लागू नहीं करता. जगह के आईडी ढूंढने के लिए, snapToRoads या nearestRoads अनुरोध भेजें. इसके बाद, speedLimits अनुरोध में इन आईडी को इनपुट के तौर पर इस्तेमाल करें. यहां दिए गए उदाहरण में, दो प्लेस आईडी के साथ placeId पैरामीटर दिखाया गया है: placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU

  • key — आपके ऐप्लिकेशन का एपीआई पासकोड. आपका ऐप्लिकेशन, Roads API को अनुरोध भेजते समय हर बार अपनी पहचान ज़ाहिर करे. इसके लिए, हर अनुरोध में एक एपीआई पासकोड शामिल करें. कुंजी पाने का तरीका जानें.

वैकल्पिक पैरामीटर

  • units — इससे यह तय किया जाता है कि रफ़्तार की सीमाएं किलोमीटर या मील प्रति घंटे में दिखानी हैं या नहीं. इसे KPH या MPH पर सेट किया जा सकता है. यह डिफ़ॉल्ट रूप से KPH पर सेट होता है.

जवाब

speedLimits के जवाब में ये एलिमेंट मौजूद हो सकते हैं:

  • speedLimits — सड़क के मेटाडेटा की एक कैटगरी. हर एलिमेंट में ये फ़ील्ड शामिल होते हैं:
    • placeId — किसी जगह के लिए यूनीक आइडेंटिफ़ायर. Roads API से मिले सभी जगह के आईडी, सड़क के सेगमेंट से मेल खाएंगे.
    • speedLimit — सड़क के उस हिस्से के लिए गति सीमा.
    • units — यह फ़ंक्शन, KPH या MPH में से कोई एक वैल्यू दिखाता है.
  • snappedPoints — स्नैप किए गए पॉइंट का कलेक्शन. यह कलेक्शन सिर्फ़ तब मौजूद होता है, जब अनुरोध में path पैरामीटर शामिल किया गया हो. हर पॉइंट में ये फ़ील्ड शामिल होते हैं:
    • location — इसमें latitude और longitude वैल्यू शामिल होती है.
    • originalIndex — यह एक पूर्णांक होता है. इससे मूल अनुरोध में मौजूद वैल्यू का पता चलता है. अनुरोध में मौजूद हर वैल्यू, जवाब में मौजूद स्नैप की गई वैल्यू से मैप होनी चाहिए. इन वैल्यू को 0 से इंडेक्स किया जाता है. इसलिए, 4 के originalIndex वाला पॉइंट, path पैरामीटर को पास किए गए पांचवें अक्षांश/देशांतर की स्नैप की गई वैल्यू होगी.
    • placeId — किसी जगह के लिए यूनीक आइडेंटिफ़ायर. Roads API से मिले सभी प्लेस आईडी, सड़क के सेगमेंट से मेल खाएंगे. placeId को गति सीमा के अनुरोध में पास किया जा सकता है, ताकि सड़क के उस सेगमेंट के लिए गति सीमा तय की जा सके.
  • warning_message — यह एक स्ट्रिंग है, जिसमें उपयोगकर्ता को दिखने वाली चेतावनी होती है.

पाथ का इस्तेमाल करके किए गए अनुरोध का उदाहरण

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

अनुरोध

https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY

जवाब

{
  speedLimits:
  [
    {
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
      speedLimit: 105,
      units: "KPH"
    },
    {
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
      speedLimit: 70,
      units: "KPH"
    },
    {
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
      speedLimit: 55,
      units: "KPH"
    }
  ],
  snappedPoints:
  [
    {
      location:
      {
        latitude: 38.75807927603043,
        longitude: -9.037417546438084
      },
      originalIndex: 0,
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE"
    },
    {
      location:
      {
        latitude: 38.689653701836896,
        longitude: -9.177051486847693
      },
      originalIndex: 1,
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU"
    },
    {
      location:
      {
        latitude: 41.13993011767777,
        longitude: -8.609400794783655
      },
      originalIndex: 2,
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M"
    }
  ],
  warningMessage: "Input path is too sparse. You should provide a path where consecutive points are closer to each other. Refer to the 'path' parameter in Google Roads API documentation."
}

ऊपर दिए गए जवाब में, पॉइंट स्पार्सिटी के लिए चेतावनी वाला मैसेज देखें. अगर आपको किसी भी पॉइंट पर, आस-पास के सड़क सेगमेंट के लिए गति सीमा की जानकारी चाहिए, तो आपको nearestRoads एंडपॉइंट से मिले प्लेस आईडी के साथ speedLimits को कॉल करना होगा.

जगह के आईडी का इस्तेमाल करके किए गए अनुरोध का उदाहरण

अक्षांश/देशांतर के जोड़े इस्तेमाल करने के बजाय, सड़क के सेगमेंट के प्लेस आईडी पास किए जा सकते हैं. हमारा सुझाव है कि सड़क के सेगमेंट के लिए जगह के आईडी पाने के लिए, snapToRoads या nearestRoads अनुरोधों का इस्तेमाल करें. जगह के आईडी पास करने पर, एपीआई हर जगह के आईडी से दिखाए गए सड़क के सेगमेंट के लिए, गति सीमा की जानकारी देता है. यह एपीआई, दिए गए जगह के आईडी पर रोड-स्नैपिंग लागू नहीं करता.

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

अनुरोध

https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY

जवाब

{
  "speedLimits": [
    {
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
      speedLimit: 105,
      units: "KPH"
    },
    {
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
      speedLimit: 70,
      units: "KPH"
    },
    {
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
      speedLimit: 55,
      units: "KPH"
    }
  ]
}

इस्तेमाल से जुड़े सुझाव

हमारा सुझाव है कि आप अपनी ऐसेट की जगहों की जानकारी को हर 5 से 15 मिनट के अंतराल पर सैंपल करें, ताकि स्पीड लिमिट सेवा को कम से कम कॉल करने पड़ें. सटीक वैल्यू इस बात पर निर्भर करती है कि ऐसेट किस स्पीड से चल रही है. अगर कोई ऐसेट एक ही जगह पर है, तो उसके लिए एक ही लोकेशन सैंपल काफ़ी है. इसके लिए, कई बार कॉल करने की ज़रूरत नहीं है.

कुल लेटेन्सी को कम करने के लिए, हमारा सुझाव है कि कुछ डेटा इकट्ठा होने के बाद ही स्पीड लिमिट सेवा को कॉल करें. हर बार मोबाइल ऐसेट की जगह की जानकारी मिलने पर, एपीआई को कॉल न करें.

रफ़्तार की कुछ/सभी सीमाएं क्यों नहीं दिख रही हैं?

speedLimits के मौजूद न होने की सबसे आम वजह यह है कि सड़क के किसी हिस्से के बजाय, किसी ऐसी जगह के लिए गति सीमा का अनुरोध किया गया हो जो सड़क का हिस्सा नहीं है.

ऊपर दिए गए उदाहरण में, वास्को डी गामा ब्रिज का इस्तेमाल करके कॉन्सेप्ट दिखाए गए हैं. यह ब्रिज, रियो टेजो नदी के ऊपर से गुज़रने वाली सड़क E90 को सपोर्ट करता है. इस पुल का प्लेस आईडी ChIJUzt97ZEwGQ0RM1JzQfqoDtU है. ऊपर दिए गए जवाब में पहला सड़क सेगमेंट, E90 सड़क का हिस्सा है. इसका प्लेस आईडी, ChIJX12duJAwGQ0Ra0d4Oi4jOGE है. अनुरोध के उदाहरण में, अगर सड़क की जगह के आईडी को पुल की जगह के आईडी से बदल दिया जाता है, तो जवाब में speedLimits ऐरे में सिर्फ़ दो स्पीड लिमिट होंगी. ऐसा इसलिए, क्योंकि पुल की जगह का आईडी, सड़क के किसी एक सेगमेंट को नहीं दिखाता है. इसके अलावा, अगर कोई भी प्लेस आईडी सड़क के सेगमेंट के लिए नहीं है, तो जवाब में गति सीमा की जानकारी नहीं होगी.

जगह के आईडी का इस्तेमाल करके, गति सीमा के अनुरोध करते समय पक्का करें कि हर जगह का आईडी, सड़क के किसी हिस्से से जुड़ा हो, न कि किसी दूसरी तरह की जगह से. सड़क के अलग-अलग सेगमेंट के लिए जगह के आईडी, snapToRoads या nearestRoads अनुरोधों का इस्तेमाल करके सबसे अच्छी तरह से पाए जा सकते हैं. इनमें से कोई भी अनुरोध, एक ही कॉल में कई जगह के आईडी दिखा सकता है.

अगर किसी सड़क के सेगमेंट पर, कारों और ट्रकों के लिए अलग-अलग स्पीड लिमिट पोस्ट की जाती हैं, तो क्या होगा?

Roads API सिर्फ़ कारों के लिए, पोस्ट की गई ज़्यादा से ज़्यादा स्पीड लिमिट दिखाता है.