গতিসীমা

Roads API একটি নির্দিষ্ট রোড সেগমেন্টের জন্য পোস্ট করা স্পিড লিমিট ফেরত দেয়। পরিবর্তনশীল স্পিড লিমিট সহ রোড সেগমেন্টের ক্ষেত্রে, সেগমেন্টের জন্য ডিফল্ট স্পিড লিমিট ফেরত দেওয়া হয়।

Roads API দ্বারা প্রদত্ত গতিসীমার তথ্যের নির্ভুলতার নিশ্চয়তা দেওয়া যায় না। প্রদত্ত গতিসীমার তথ্য রিয়েল-টাইম নয় এবং আনুমানিক, ভুল, অসম্পূর্ণ বা পুরানো হতে পারে। গতিসীমার তথ্য কোন অঞ্চলে পাওয়া যায় তা দেখতে কভারেজের বিবরণ দেখুন।

অনুরোধ

HTTPS ব্যবহার করে গতি সীমার জন্য অনুরোধগুলি নিম্নলিখিত ফর্মে পাঠান:

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

প্যারামিটার ব্যবহার

প্রয়োজনীয় পরামিতি

  • হয় একটি path অথবা একটি placeId প্যারামিটার।

    • path — একটি পথের প্রতিনিধিত্বকারী ১০০টি অক্ষাংশ/দ্রাঘিমাংশ জোড়ার একটি তালিকা। অক্ষাংশ এবং দ্রাঘিমাংশের মান কমা দ্বারা পৃথক করতে হবে। অক্ষাংশ/দ্রাঘিমাংশ জোড়াগুলিকে পাইপ অক্ষর "|" দ্বারা পৃথক করতে হবে। যখন আপনি path প্যারামিটারটি সরবরাহ করেন, তখন API প্রথমে একটি যানবাহন দ্বারা ভ্রমণ করা সবচেয়ে সম্ভাব্য রাস্তার পথটি স্ন্যাপ করে (যেমন এটি snapToRoads অনুরোধের জন্য করে), তারপর প্রাসঙ্গিক রাস্তার অংশের জন্য গতি সীমা নির্ধারণ করে। আপনি যদি API পথটি স্ন্যাপ করতে না চান, তাহলে আপনাকে নীচে ব্যাখ্যা করা একটি placeId প্যারামিটার পাস করতে হবে। নিম্নলিখিত উদাহরণটি তিনটি অক্ষাংশ/দ্রাঘিমাংশ জোড়া সহ path প্যারামিটারটি দেখায়: path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796
    • placeId — স্থান আইডি(গুলি) এক বা একাধিক রাস্তার অংশকে প্রতিনিধিত্ব করে। নিশ্চিত করুন যে প্রতিটি স্থান আইডি একটি রাস্তার অংশকে নির্দেশ করে, ভিন্ন ধরণের স্থান নয়। আপনি প্রতিটি অনুরোধের সাথে ১০০টি পর্যন্ত স্থান আইডি পাঠাতে পারেন। অনুরোধের প্রতিটি স্থান আইডির জন্য একটি গতিসীমা অন্তর্ভুক্ত থাকে।

      API সরবরাহকৃত স্থান আইডিগুলিতে রোড-স্ন্যাপিং করে না। আপনি প্রাসঙ্গিক স্থান আইডিগুলি খুঁজে পেতে একটি snapToRoads বা nearestRoads অনুরোধ পাঠাতে পারেন এবং তারপর speedLimits অনুরোধে ইনপুট হিসাবে সেগুলি সরবরাহ করতে পারেন। নিম্নলিখিত উদাহরণটি দুটি স্থান আইডি সহ placeId প্যারামিটার দেখায়: placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU

  • key — আপনার অ্যাপ্লিকেশনের API কী। আপনার অ্যাপ্লিকেশনটি যখনই Roads API তে একটি অনুরোধ পাঠাবে তখন প্রতিটি অনুরোধের সাথে একটি API কী অন্তর্ভুক্ত করে নিজেকে সনাক্ত করতে হবে। কীভাবে একটি কী পেতে হয় তা শিখুন।

ঐচ্ছিক পরামিতি

  • units — গতিসীমা কিলোমিটার বা মাইল প্রতি ঘন্টায় ফেরত পাঠানো হবে কিনা। এটি KPH অথবা MPH উভয়টিতে সেট করা যেতে পারে। ডিফল্টরূপে KPH

প্রতিক্রিয়া

একটি speedLimits প্রতিক্রিয়াতে নিম্নলিখিত উপাদানগুলি উপস্থিত থাকতে পারে:

  • speedLimits — রাস্তার মেটাডেটার একটি অ্যারে। প্রতিটি উপাদানে নিম্নলিখিত ক্ষেত্রগুলি থাকে:
    • placeId — একটি স্থানের জন্য একটি অনন্য শনাক্তকারী। Roads API দ্বারা প্রদত্ত সমস্ত স্থানের ID রাস্তার অংশগুলির সাথে সঙ্গতিপূর্ণ হবে।
    • speedLimit — রাস্তার ওই অংশের গতিসীমা।
    • unitsKPH অথবা MPH প্রদান করে।
  • snappedPoints — স্ন্যাপ করা পয়েন্টের একটি অ্যারে। এই অ্যারেটি কেবল তখনই উপস্থিত থাকে যদি অনুরোধে একটি path প্যারামিটার থাকে। প্রতিটি পয়েন্টে নিম্নলিখিত ক্ষেত্রগুলি থাকে:
    • location — একটি latitude এবং longitude মান ধারণ করে।
    • originalIndex — একটি পূর্ণসংখ্যা যা মূল অনুরোধের সংশ্লিষ্ট মান নির্দেশ করে। অনুরোধের প্রতিটি মান প্রতিক্রিয়ার একটি স্ন্যাপ করা মানের সাথে ম্যাপ করা উচিত। এই মানগুলি 0 থেকে সূচীকৃত, তাই originalIndex 4 সহ একটি বিন্দু হবে path প্যারামিটারে প্রেরিত ৫ম অক্ষাংশ/দ্রাঘিমাংশের স্ন্যাপ করা মান।
    • placeId — একটি স্থানের জন্য একটি অনন্য শনাক্তকারী। Roads API দ্বারা প্রদত্ত সমস্ত স্থানের ID রাস্তার অংশগুলির সাথে সঙ্গতিপূর্ণ হবে। 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 অনুরোধ ব্যবহার করে রাস্তার অংশগুলির জন্য স্থান আইডিগুলি পাওয়ার পরামর্শ দিচ্ছি। যখন আপনি স্থান আইডিগুলি পাস করেন, তখন API প্রতিটি স্থান আইডি দ্বারা প্রতিনিধিত্ব করা রাস্তার অংশের গতি সীমা ফেরত দেয়। API সরবরাহ করা স্থান আইডিগুলিতে কোনও রোড-স্ন্যাপিং প্রয়োগ করে না।

পর্তুগালের লিসবনে ভাস্কো দা গামা সেতু অতিক্রমকারী কিছু রাস্তার অংশের গতিসীমা সম্পর্কে নিম্নলিখিত উদাহরণটি অনুরোধ করা হয়েছে।

অনুরোধ

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"
    }
  ]
}

ব্যবহারের সুপারিশ

স্পিড লিমিট পরিষেবায় কলের পরিমাণ কমাতে, আমরা ৫ থেকে ১৫ মিনিটের ব্যবধানে আপনার সম্পদের অবস্থানের নমুনা নেওয়ার পরামর্শ দিচ্ছি (সঠিক মান নির্ভর করে একটি সম্পদ যে গতিতে ভ্রমণ করছে তার উপর)। যদি একটি সম্পদ স্থির থাকে, তাহলে একটি একক অবস্থানের নমুনাই যথেষ্ট (একাধিক কল করার প্রয়োজন নেই)।

সামগ্রিক বিলম্ব কমাতে, আমরা সুপারিশ করছি যে আপনি কিছু ডেটা সংগ্রহ করার পরে স্পিড লিমিট পরিষেবাতে কল করুন, প্রতিবার মোবাইল অ্যাসেটের অবস্থান পাওয়ার সময় API-তে কল করার পরিবর্তে।

কেন কিছু/সকল গতি সীমা অনুপস্থিত?

speedLimits অনুপস্থিতির সবচেয়ে সাধারণ কারণ হল এমন একটি স্থানের গতিসীমার অনুরোধ করা যা রাস্তার অংশ নয়।

উপরের উদাহরণে ভাস্কো দা গামা সেতুর ধারণাগুলি ব্যাখ্যা করা হয়েছে; সেতুটি রিও তেজোর উপর দিয়ে E90 রাস্তা অতিক্রমকারী রাস্তাকে সমর্থন করে। সেতুটির নিজস্ব একটি স্থান আইডি ChIJUzt97ZEwGQ0RM1JzQfqoDtU রয়েছে। উপরের প্রতিক্রিয়ার প্রথম রাস্তার অংশটি E90 রাস্তার অংশ এবং ChIJX12duJAwGQ0Ra0d4Oi4jOGE এর একটি স্থান আইডি রয়েছে। উদাহরণের অনুরোধে, যদি আপনি রাস্তার স্থান আইডিটি সেতুর স্থান আইডি দিয়ে প্রতিস্থাপন করেন, তাহলে প্রতিক্রিয়ায় speedLimits অ্যারেতে কেবল দুটি গতি সীমা থাকবে কারণ সেতুর স্থান আইডি কোনও পৃথক রাস্তা অংশকে নির্দেশ করে না। তদুপরি, যদি কোনও স্থান আইডি রাস্তা অংশের জন্য না হয়, তাহলে প্রতিক্রিয়ায় কোনও গতি সীমা থাকবে না।

স্থান আইডি ব্যবহার করে গতিসীমার অনুরোধ করার সময়, নিশ্চিত করুন যে প্রতিটি স্থান আইডি একটি রাস্তার অংশকে নির্দেশ করে, ভিন্ন ধরণের স্থানকে নয়। পৃথক রাস্তার অংশের জন্য স্থান আইডিগুলি snapToRoads বা nearestRoads অনুরোধ ব্যবহার করে সবচেয়ে ভালোভাবে পুনরুদ্ধার করা হয়, যার যেকোনো একটি একক কল থেকে একাধিক স্থান আইডি ফেরত দিতে পারে।