গতিসীমা

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

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

অনুরোধ

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

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

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

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

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

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

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

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

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

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

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

স্থান আইডি ব্যবহার করে উদাহরণ অনুরোধ

অক্ষাংশ/দ্রাঘিমাংশ জোড়া ব্যবহার করার পরিবর্তে, আপনি রাস্তার অংশগুলির স্থান আইডি পাস করতে পারেন৷ আমরা আপনাকে 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"
    }
  ]
}

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

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

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

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

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

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

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