গতিসীমা

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

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

অনুরোধ

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

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

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

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

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

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

      এপিআই প্রদত্ত প্লেস আইডিগুলোর উপর রোড-স্ন্যাপিং করে না। প্রাসঙ্গিক প্লেস আইডিগুলো খুঁজে বের করার জন্য আপনি একটি snapToRoads বা nearestRoads রিকোয়েস্ট পাঠাতে পারেন এবং তারপর সেগুলোকে speedLimits রিকোয়েস্টের ইনপুট হিসেবে সরবরাহ করতে পারেন। নিম্নলিখিত উদাহরণটি দুটি প্লেস আইডি সহ placeId প্যারামিটারটি দেখাচ্ছে: placeId=ChIJs5ydyTiuEmsR0fRSlU0C7k0&placeId=ChIJW__r4ERXzpQRgkeRL6P0m3Y

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

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

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

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

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

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

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

অনুরোধ

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

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

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

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

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

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

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

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

যদি রাস্তার কোনো অংশে গাড়ি ও ট্রাকের জন্য আলাদা গতিসীমা নির্ধারণ করা থাকে, তাহলে কী হবে?

Roads API শুধুমাত্র যানবাহনের জন্য নির্ধারিত সর্বোচ্চ গতিসীমা ফেরত দেয়।