गति की सीमाएं

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=ChIJs5ydyTiuEmsR0fRSlU0C7k0&placeId=ChIJW__r4ERXzpQRgkeRL6P0m3Y

  • 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 सिर्फ़ कारों के लिए, पोस्ट की गई ज़्यादा से ज़्यादा स्पीड लिमिट दिखाता है.