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=ChIJs5ydyTiuEmsR0fRSlU0C7k0&placeId=ChIJW__r4ERXzpQRgkeRL6P0m3Y
key— আপনার অ্যাপ্লিকেশনের API key। আপনার অ্যাপ্লিকেশন যখনই Roads API-এ অনুরোধ পাঠাবে, তখনই প্রতিটি অনুরোধের সাথে একটি 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 অনুরোধ ব্যবহার করে রাস্তার অংশের জন্য প্লেস আইডি পান। আপনি প্লেস আইডি পাস করলে, 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 অনুরোধ ব্যবহার করে রাস্তার স্বতন্ত্র অংশের জন্য প্লেস আইডি সবচেয়ে ভালোভাবে ফিরিয়ে আনা যায়, যার মধ্যে যেকোনও একটি
একক কল থেকে একাধিক প্লেস আইডি ফিরিয়ে আনতে পারে।
রাস্তার কোনও অংশে যদি গাড়ি ও ট্রাকের জন্য আলাদা আলাদা স্পিড লিমিট পোস্ট করা থাকে, তাহলে কী হবে?
Roads API শুধুমাত্র অটোমোবাইলের জন্য পোস্ট করা সর্বোচ্চ গতির সীমা ফেরত দেয়।