মূল ধারণা

একটি আইসোক্রোন তৈরি করতে, এপিআই-কে একটি উৎস, ভ্রমণের মাধ্যম (যেমন গাড়ি চালানো, সাইকেল চালানো বা হাঁটা) এবং একটি সময়সীমা প্রদান করুন। এছাড়াও আপনি রাউটিং পছন্দসমূহ এবং ফলস্বরূপ বহুভুজটির বাহ্যিক রূপ সামঞ্জস্য করতে পারেন।

সময়সীমা

আপনি পরিষেবাটিকে যে প্রাথমিক সীমাবদ্ধতাটি প্রদান করেন তা হলো travel_duration । এটি গণনার জন্য সময়সীমা নির্ধারণ করে।

  • সর্বোচ্চ সময়কাল: এপিআইটি DRIVE মোডের জন্য সর্বোচ্চ ৩৬০০ সেকেন্ড (১ ঘন্টা) এবং WALKBICYCLE মোডের জন্য সর্বোচ্চ ৭২০০ সেকেন্ড (২ ঘন্টা) ভ্রমণের সময় সমর্থন করে।
  • পারফরম্যান্স: গণনার সময় অনুরোধকৃত সময়কাল এবং নির্বাচিত ভ্রমণ পদ্ধতির উপর নির্ভর করে। এক ঘণ্টার ড্রাইভিং আইসোক্রোন এক ঘণ্টার হাঁটার আইসোক্রোনের তুলনায় উল্লেখযোগ্যভাবে বৃহত্তর ভৌগোলিক এলাকা এবং সড়ক নেটওয়ার্ক জুড়ে থাকে, যার ফলে ড্রাইভিং অনুরোধের জন্য লেটেন্সি বেশি হয়।
  • ফরম্যাটিং: যেহেতু এপিআইটি google.protobuf.Duration ব্যবহার করে, তাই সময়কালটি একটি পূর্ণসংখ্যার পরিবর্তে, "s" দিয়ে শেষ হওয়া একটি স্ট্রিং হিসাবে ফরম্যাট করতে হবে (উদাহরণস্বরূপ, "3600s" )।

উৎস বিন্দু এবং রাস্তার স্ন্যাপিং

আপনি দুইভাবে আইসোক্রোনের প্রারম্ভিক বিন্দু নির্দিষ্ট করতে পারেন:

  • স্থানাঙ্ক: অক্ষাংশ ও দ্রাঘিমাংশের এক জোড়া ( location )।
  • প্লেস আইডি: গুগল ম্যাপস-এ কোনো নির্দিষ্ট স্থানের ( place ) জন্য একটি অনন্য শনাক্তকারী। আপনি যখন একটি প্লেস আইডি প্রদান করেন, তখন পরিষেবাটি সেই স্থানের কেন্দ্রবিন্দুকে মূলবিন্দু হিসেবে ব্যবহার করে। মনে রাখবেন যে এপিআইটি রিসোর্স নামের ফরম্যাট আশা করে, যেমন places/ChIJ... প্লেস আইডি সম্পর্কে আরও তথ্যের জন্য, প্লেস আইডি দেখুন।

ইনপুট পদ্ধতি নির্বিশেষে, যদি কোনো নির্দিষ্ট ভৌতিক বিন্দু রাস্তার উপর না থাকে, যেমন কোনো পার্ক বা ভবনের ভিতরে, তাহলে এপিআই সেই বিন্দু থেকে ভ্রমণের সময় গণনা করে না। এই পরিস্থিতি সামাল দিতে, পরিষেবাটি রোড স্ন্যাপিং ব্যবহার করে। রোড স্ন্যাপিং-এর নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

  • স্মার্ট স্ন্যাপিং: এই পরিষেবাটি আপনার মূল বিন্দুকে নিকটতম চলাচলযোগ্য রাস্তার অংশে সংযুক্ত করার চেষ্টা করে।
  • মোড সচেতনতা: স্ন্যাপিং লজিক আপনার travel_mode বিবেচনা করে। আপনি যদি DRIVE অনুরোধ করেন, তাহলে API শুধুমাত্র পথচারীদের জন্য নির্ধারিত পথ উপেক্ষা করে এবং নিকটতম গাড়ি চলাচলের উপযোগী রাস্তা খোঁজে। আপনি যদি WALK অনুরোধ করেন, তাহলে API হাঁটার উপযোগী পথ এবং ফুটপাতকে অগ্রাধিকার দেয়।
  • ব্যর্থতার কারণ: যদি API আপনার মূল বিন্দু থেকে প্রায় ১০০ মিটারের মধ্যে কোনো উপযুক্ত সড়ক অংশ খুঁজে না পায়, তাহলে API একটি 404 NOT_FOUND ত্রুটি ফেরত দেয়। এটি সাধারণত নির্দেশ করে যে বিন্দুটি সড়ক নেটওয়ার্ক থেকে অনেক দূরে অথবা এমন একটি এলাকায় অবস্থিত যেখানে মানচিত্রের ডেটা অনুরোধ করা ভ্রমণ পদ্ধতিকে সমর্থন করে না।

যাত্রার দিক (আগমন বনাম বহির্গমন)

আপনি travelDirection প্যারামিটার ব্যবহার করে ইনবাউন্ড এবং আউটবাউন্ড উভয় রিচেবিলিটি গণনা করতে পারেন:

  • FROM (আউটবাউন্ড): নির্দিষ্ট সময়সীমার মধ্যে উৎস বিন্দু থেকে পৌঁছানো যায় এমন এলাকা গণনা করে। এটি ডেলিভারি জোন বা পরিষেবা কভারেজের মতো ক্ষেত্রে ব্যবহারের জন্য উপযুক্ত।
  • TO (ইনবাউন্ড): নির্দিষ্ট সময়সীমার মধ্যে আপনি কোন এলাকা থেকে মূল গন্তব্যে পৌঁছাতে পারবেন, তা গণনা করে। এটি ক্যাচমেন্ট জোন নির্ধারণের জন্য উপযুক্ত, যেমন কর্মীরা কোথা থেকে একটি কেন্দ্রীয় অফিসে যাতায়াত করতে পারবেন।

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

routing_preference প্যারামিটারের মাধ্যমে নিয়ন্ত্রণ করুন কীভাবে ট্র্যাফিক ডেটা তৈরি হওয়া বহুভুজকে প্রভাবিত করে:

  • TRAFFIC_UNAWARE (ডিফল্ট): আইসোক্রোন পলিগন তৈরি করতে গতিসীমা এবং রাস্তার স্তরবিন্যাস ব্যবহার করে। এটি একটি সুনির্দিষ্ট আকৃতি তৈরি করে যা দিনের সময়ের উপর ভিত্তি করে ওঠানামা করে না। এই প্যারামিটারটি সাধারণ বিশ্লেষণ বা বেসলাইন সিনারিও পরিকল্পনার জন্য আদর্শ।
  • TRAFFIC_AWARE : অনুরোধের সময়কার লাইভ বা পূর্বাভাসিত ট্র্যাফিক পরিস্থিতি ব্যবহার করে আইসোক্রোন গণনা করে, যার ফলে যানজটের সময় পৌঁছানোর যোগ্য এলাকা সংকুচিত হয় এবং অফ-পিক আওয়ারে প্রসারিত হয়। দ্রষ্টব্য: ট্র্যাফিক-অ্যাওয়্যার রাউটিং শুধুমাত্র তখনই সমর্থিত হয় যখন travelMode DRIVE -এ সেট করা থাকে।

মসৃণতা এবং বিশ্বস্ততা

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

  • polygon_fidelity : পৌঁছানোযোগ্য এলাকা গণনা করতে ব্যবহৃত অন্তর্নিহিত গ্রিড সেলগুলির আকার নিয়ন্ত্রণ করে।

    • LOW : বড় গ্রিড সেল ব্যবহার করে। কোনো ফাঁক ছাড়া বড় এলাকা আবৃত করার জন্য এটি সর্বোত্তম, যার ফলে একটি সাধারণ আকৃতি তৈরি হয়।
    • MEDIUM : ভারসাম্যপূর্ণ নির্ভুলতা।
    • HIGH : ছোট গ্রিড সেল ব্যবহার করে। এর ফলে সড়ক নেটওয়ার্কের সাথে এটি আরও ভালোভাবে খাপ খায়, কিন্তু সড়ক নেটওয়ার্কটি যদি ঘনসন্নিবিষ্ট হয় তবে ফাঁকা জায়গা বা গর্ত তৈরি হতে পারে।
    • POLYGON_FIDELITY_UNSPECIFIED : যদি অনির্দিষ্ট থাকে, পরিষেবাটি অনুরোধ করা ভ্রমণের সময়কালের উপর ভিত্তি করে গতিশীলভাবে বিশ্বস্ততা নির্বাচন করে।
      উচ্চ, মাঝারি এবং নিম্ন পলিগন বিশ্বস্ততা
      উচ্চ, মাঝারি এবং নিম্ন পলিগন বিশ্বস্ততা
  • enable_smoothing : ফিডেলিটি দ্বারা সংজ্ঞায়িত গ্রিড সেলগুলির তীক্ষ্ণ প্রান্তগুলি গোলাকার করা হবে কিনা তা নিয়ন্ত্রণ করে।

    • false (র): ডিফল্ট। সঠিক জ্যামিতিক গণনা ফেরত দেয়। প্রান্তগুলো অমসৃণ বা ধাপযুক্ত দেখায়। বিশ্লেষণাত্মক নির্ভুলতার জন্য সেরা, যেমন কঠোর বিন্দু-ইন-পলিগন পরীক্ষা। স্মুথড-এর চেয়ে কম ল্যাটেন্সি।
    • true (Smoothed): কোণাগুলো মসৃণ করার জন্য একটি পোস্ট-প্রসেসিং অ্যালগরিদম প্রয়োগ করে। মানচিত্রে দৃশ্যমান প্রদর্শনের জন্য সর্বোত্তম।
      মসৃণকরণ সহ এবং মসৃণকরণ ছাড়া আইসোক্রোন
      মসৃণকরণ সহ এবং মসৃণকরণ ছাড়া আইসোক্রোন