ট্রাফিক ডেটার স্তর সেট করুন

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA) ডেভেলপাররা

আপনার নির্বাচিত ট্র্যাফিক পছন্দগুলি দুটি উপায়ের একটিতে রুটের বিবরণের নির্ভুলতা এবং অনুরোধের পারফরম্যান্সের মধ্যে ভারসাম্য রক্ষা করে:

  • ট্র্যাফিক সচেতন -- সম্ভাব্য সবচেয়ে নির্ভুল ফলাফল প্রদান করে (উচ্চতর লেটেন্সি)।

  • ট্র্যাফিক সম্পর্কে অজ্ঞাত -- যত দ্রুত সম্ভব ফলাফল ফেরত দিন (সর্বনিম্ন লেটেন্সি)।

যখন আপনি কোনো অনুরোধ করেন, তখন বিবেচনা করুন যে যথাসম্ভব সবচেয়ে নির্ভুল ফলাফল ফেরত দেওয়া ভালো, নাকি যত দ্রুত সম্ভব ফলাফল ফেরত দেওয়া ভালো। রাউটস এপিআই এমন কিছু অপশন প্রদান করে, যা আপনাকে রেসপন্স ডেটার গুণমান এবং রেসপন্সের লেটেন্সি নিয়ন্ত্রণ করতে দেয়।

ট্র্যাফিকের স্তর কীভাবে নির্ধারণ করবেন

Routes API-তে RoutingPreference (REST) ​​এবং RoutingPreference (gRPC) রয়েছে, যা আপনাকে রুট গণনার জন্য রাউটিং পছন্দসমূহ নির্দিষ্ট করতে দেয়।

ডিফল্ট হিসেবে ট্র্যাফিক-অজ্ঞাত ফলাফল পাওয়া যায়। আপনি TRAFFIC_UNAWARE , TRAFFIC_AWARE এবং TRAFFIC_AWARE_OPTIMAL রাউটিং প্রেফারেন্সগুলোর মাধ্যমে ট্র্যাফিক অপশন নির্বাচন করেন। প্রতিটি রাউটিং প্রেফারেন্সের ফলে প্রাপ্ত ফলাফল রুটের গুণমান, আনুমানিক ETA (আনুমানিক পৌঁছানোর সময়) এবং রেসপন্স ল্যাটেন্সির দিক থেকে ভিন্ন হয়।

যানজটের অবস্থা

যান চলাচলের অবস্থা যান চলাচলের হারের বৈশিষ্ট্য নির্দেশ করে:

  • স্বাভাবিক যান চলাচল : কোনো যানজট নেই এবং যানবাহন স্বাভাবিক গতিতে চলাচল করছে।

  • হালকা থেকে মাঝারি যান চলাচল : যানজট বৃদ্ধি পাচ্ছে এবং যানবাহন কম গতিতে চলাচল করছে।

  • তীব্র যানজট : মারাত্মক যানজট, যেখানে যানবাহনের গতি ব্যাপকভাবে কমে যায়।

ট্র্যাফিক অসচেতন

TRAFFIC_UNAWARE হলো ডিফল্ট সেটিং। যখন আপনি দ্রুততম সময়ে প্রতিক্রিয়া পেতে চান এবং আনুমানিক রাউটিং বিবরণই যথেষ্ট হয়, তখন এই রাউটিং প্রেফারেন্সটি ব্যবহার করুন।

TRAFFIC_UNAWARE রুটগুলো বর্তমান ট্র্যাফিক পরিস্থিতি বিবেচনা না করেই গণনা করা হয়। এই রাউটিং পছন্দের ফলে অনুরোধের প্রতিক্রিয়া সবচেয়ে দ্রুত হয় (সর্বনিম্ন লেটেন্সি)।

আপনি যদি TRAFFIC_UNAWARE বিকল্পটি বেছে নেন, তাহলে নির্বাচিত রুট এবং সময়কাল বর্তমান রাস্তার অবস্থার উপর ভিত্তি করে নয়, বরং সড়ক নেটওয়ার্ক এবং সময়-নিরপেক্ষ গড় ট্র্যাফিক পরিস্থিতির উপর ভিত্তি করে নির্ধারিত হয়। ফলস্বরূপ, রুটে সাময়িকভাবে বন্ধ থাকা রাস্তাও অন্তর্ভুক্ত থাকতে পারে। সড়ক নেটওয়ার্কের পরিবর্তন, হালনাগাদকৃত গড় ট্র্যাফিক পরিস্থিতি এবং পরিষেবাটির বিকেন্দ্রীভূত প্রকৃতির কারণে একটি নির্দিষ্ট অনুরোধের ফলাফল সময়ের সাথে সাথে পরিবর্তিত হতে পারে। যেকোনো সময়ে বা যেকোনো ফ্রিকোয়েন্সিতে প্রায়-সমতুল্য রুটগুলোর মধ্যেও ফলাফল ভিন্ন হতে পারে।

এই প্রতিক্রিয়াগুলো আপনি দেখতে পাবেন:

  • duration - রুটটির আনুমানিক পৌঁছানোর সময় (ETA) উল্লেখ থাকে।

  • staticDuration : শুধুমাত্র ঐতিহাসিক ট্র্যাফিক তথ্য বিবেচনা করে রুটটির আনুমানিক পৌঁছানোর সময় (ETA)। TRAFFIC_UNAWARE ক্ষেত্রে, এর মান duration এর সমান হয়।

ট্র্যাফিক সচেতন

যখন আপনি TRAFFIC_UNAWARE চেয়ে আরও নির্ভুল রাউটিং বিবরণ চান, কিন্তু প্রতিক্রিয়া ফিরে আসতে কিছুটা বেশি লেটেন্সি লাগলেও আপনার আপত্তি নেই, তখন এই রাউটিং প্রেফারেন্সটি ব্যবহার করুন।

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

এই প্রতিক্রিয়াগুলো আপনি দেখতে পাবেন:

  • duration : রিয়েল-টাইম ট্র্যাফিক তথ্য বিবেচনা করে আনুমানিক পৌঁছানোর সময় (ETA)।

  • staticDuration শুধুমাত্র ঐতিহাসিক ট্র্যাফিক তথ্য বিবেচনা করে রুটটির আনুমানিক আগমনের সময় (ETA)।

ট্র্যাফিক সচেতন সর্বোত্তম

যখন আপনি প্রতিক্রিয়ার সময়কাল বিবেচনা না করে সর্বোচ্চ মানের ফলাফল চান, তখন এই রাউটিং প্রেফারেন্সটি ব্যবহার করুন। এই রাউটিং প্রেফারেন্সটিতে প্রতিক্রিয়া ফেরত দিতে সবচেয়ে বেশি বিলম্ব হয় (সর্বোচ্চ ল্যাটেন্সি)।

যখন আপনি TRAFFIC_AWARE_OPTIMAL রাউটিং প্রেফারেন্সটি সেট করেন, তখন সার্ভিসটি বর্তমান ট্র্যাফিক পরিস্থিতি বিবেচনা করে রুট গণনা করে, কিন্তু পারফরম্যান্স অপটিমাইজেশন প্রয়োগ করে না। এই মোডে, সার্ভার সর্বোত্তম রুট খুঁজে বের করার জন্য সড়ক নেটওয়ার্কে আরও পুঙ্খানুপুঙ্খ অনুসন্ধান চালায়।

TRAFFIC_AWARE_OPTIMAL রাউটিং প্রেফারেন্সটি maps.google.com এবং Google Maps মোবাইল অ্যাপে ব্যবহৃত মোডের সমতুল্য।

যখন আপনি Compute Route Matrix-এর সাথে এই অপশনটি ব্যবহার করেন, তখন একটি রিকোয়েস্টের উপাদানের সংখ্যা (অরিজিনের সংখ্যা × ডেস্টিনেশনের সংখ্যা) সীমিত থাকে। Compute Route Matrix-এর সীমাবদ্ধতা সম্পর্কে আরও জানতে, Compute a route matrix দেখুন।

এই প্রতিক্রিয়াগুলো আপনি দেখতে পাবেন:

  • duration : রিয়েল-টাইম ট্র্যাফিক তথ্য বিবেচনা করে রুটটিতে পৌঁছানোর আনুমানিক সময় (ETA)।

  • staticDuration : শুধুমাত্র পূর্ববর্তী ট্র্যাফিকের তথ্য বিবেচনা করে রুটটির আনুমানিক আগমনের সময় (ETA)।

প্রস্থানের সময় নির্ধারণ করুন (ঐচ্ছিক)

এই প্রপার্টিটি শুধুমাত্র ট্র্যাফিক-সচেতন অনুরোধের জন্য ব্যবহার করুন, যেখানে প্রস্থানের সময় ভবিষ্যতে হওয়া প্রয়োজন। আপনি যদি departureTime প্রপার্টিটি সেট না করেন, তবে এটি ডিফল্টরূপে আপনার অনুরোধ করার সময়টিকেই গ্রহণ করে।

রুট বেছে নেওয়ার সময় সার্ভিসটি যেভাবে ট্র্যাফিকের পূর্বাভাস দেয়, তা সামঞ্জস্য করতে চাইলে departureTime প্রপার্টির সাথে TRAFFIC_AWARE এবং TRAFFIC_AWARE_OPTIMAL অপশনগুলো ব্যবহার করুন।

  • TRAFFIC_UNAWARE : এটি সুপারিশ করা হয় না , কারণ পথের পছন্দ এবং সময়কাল সড়ক নেটওয়ার্ক এবং সময়-নিরপেক্ষ গড় ট্র্যাফিক পরিস্থিতির উপর ভিত্তি করে নির্ধারিত হয়।

  • TRAFFIC_AWARE এবং TRAFFIC_AWARE_OPTIMAL : নিকট ভবিষ্যতে হতে যাওয়া যাত্রার জন্য এগুলি সুপারিশ করা হয়, কারণ এই পছন্দগুলি বর্তমান ট্র্যাফিকের অবস্থা বিবেচনা করে। departureTime বর্তমানের যত কাছাকাছি হবে, বর্তমান ট্র্যাফিক তত বেশি গুরুত্বপূর্ণ ও প্রাসঙ্গিক হয়ে উঠবে। আপনি যাত্রার সময় ভবিষ্যতে যত বেশি নির্ধারণ করবেন, রুট নির্বাচনের ক্ষেত্রে অতীতের ট্র্যাফিকের অবস্থাকে তত বেশি বিবেচনা করা হবে।

উদাহরণ: ট্র্যাফিক-সচেতন রাউটিং কীভাবে নির্বাচন করবেন

নিম্নলিখিত JSON কোডটিতে দেখানো হয়েছে কিভাবে একটি অনুরোধ বার্তার এনটিটি বডিতে TRAFFIC_AWARE_OPTIMAL রাউটিং প্রেফারেন্স সেট করতে হয়।

{
  "origin":{
    "location":{
      "latLng":{
        "latitude":37.419734,
        "longitude":-122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":37.417670,
        "longitude":-122.079595
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE_OPTIMAL"
}