পাথ টীকা পেতে annotatePaths ব্যবহার করুন

annotatePaths পদ্ধতি আপনাকে আপনার অনুরোধ করা রাস্তার গতিশীল ট্র্যাফিক বৈশিষ্ট্যগুলির উপর টীকা পেতে দেয়। এই টীকাগুলি উন্নত ড্রাইভার সহায়তা সিস্টেম (ADAS) বাস্তবায়নের জন্য কার্যকর হতে পারে।

আপনি যে পাথগুলিতে টীকা পেতে চান এবং এই পাথে আপনি যে ধরণের টীকাগুলি চান তার একটি তালিকা সহ একটি অনুরোধ পাঠিয়ে আপনি পাথ টীকাগুলি পেতে পারেন৷ প্রতিক্রিয়াটিতে আপনার পূর্বে অনুরোধ করা টীকাযুক্ত ডেটা সহ পাথ রয়েছে৷ প্রতিক্রিয়ার পাথগুলি এমনভাবে টীকা করা হয়েছে যেন আপনার অনুরোধের সময় যানবাহন প্রতিটি পাথ চালাচ্ছে।

মূল ধারণা

নিম্নলিখিত উপবিভাগগুলি annotatePaths পদ্ধতি বোঝার জন্য প্রয়োজনীয় ধারণাগুলি বর্ণনা করে৷

পাথ এবং সেগমেন্ট

এই পদ্ধতিটি পাথের উপর ডেটা টীকা করে, যা একটি যানবাহন ভ্রমণ করতে পারে এমন সংযুক্ত অংশগুলির একটি ক্রম।

নিচের চিত্রটি দুটি পথকে চিত্রিত করে, প্রতিটি তিনটি অংশ নিয়ে গঠিত।

Diagram illustrating a road grid, where there are two paths consisting of
three segments each. The paths start with the same two segments but go in
different directions in the third
segment.

চিত্র 1. পাথ 1 এর একটি ডায়াগ্রাম, A, B, এবং C এবং পাথ 2, সেগমেন্ট A, B, এবং D নিয়ে গঠিত।

একটি পথ 15 কিলোমিটার দীর্ঘ পর্যন্ত সীমাবদ্ধ, এবং প্রথম সেগমেন্টের শুরু থেকে শেষ সেগমেন্টের শুরু পর্যন্ত পরিমাপ করা হয়। একটি ত্রুটি ঘটে যদি শেষ সেগমেন্টের শুরু প্রথম সেগমেন্টের শুরু থেকে 15 কিমি দূরে শুরু হয়।

একটি পথের সূচনা সর্বদাই অনুমান করা যানবাহনের অবস্থান, এবং একটি যানের বেশ কয়েকটি পথ থাকতে পারে যা বিভিন্ন স্থানে শেষ হয়, কিন্তু পাথগুলি বিভিন্ন স্থানে শুরু হতে পারে না।

সেগমেন্ট টীকা যে পথের অংশ তার উপর নির্ভর করে ভিন্ন হতে পারে। এমনকি যদি দুটি পাথ একই সেগমেন্টের কিছু ভাগ করে, সেই অংশগুলির জন্য টীকা ভিন্ন হতে পারে।

উদাহরণস্বরূপ, চিত্র 1 এ:

  • পাথ 1 এর মধ্যে রয়েছে:

    • সেগমেন্ট A
    • সেগমেন্ট বি
    • সেগমেন্ট সি
  • পাথ 2 এর মধ্যে রয়েছে:

    • সেগমেন্ট A
    • সেগমেন্ট বি
    • সেগমেন্ট ডি

পাথ 1 এ, সেগমেন্ট B এর পরে সেগমেন্ট C এবং পাথ 2-এ একই সেগমেন্ট B এর পরে একটি ভিন্ন সেগমেন্ট, সেগমেন্ট D অনুসরণ করা হয়েছে।

সেগমেন্ট B-এ পাথ 1 এবং পাথ 2-এর জন্য বিভিন্ন গতিশীল বৈশিষ্ট্য প্রত্যাবর্তিত হতে পারে কারণ পাথ 2-এ ডান বাঁক পাথ 1-এর সরল পথের চেয়ে বেশি ট্র্যাফিক দিতে পারে।

সেবার স্তর

পরিষেবার স্তর হল গাড়ির গতি, ঘনত্ব, যানজট এবং অন্যান্য পরামিতিগুলির উপর ভিত্তি করে পূর্বাভাসিত ট্র্যাফিক প্রবাহের শ্রেণীকরণ বর্ণনা করার জন্য একটি সাধারণভাবে ব্যবহৃত শব্দ। এটি লক্ষ করা গুরুত্বপূর্ণ যে এই পদ্ধতিতে ব্যবহৃত পরিষেবার সংজ্ঞাগুলির স্তরগুলি এবং এই ডকুমেন্টেশনে বর্ণিত পদ্ধতিগুলি মালিকানা এবং পদ্ধতির অনন্য।

নিম্নলিখিত তালিকা ব্যবহার করা পরিষেবার স্তর বর্ণনা করে।

সেবার স্তর মান বর্ণনা
LEVEL_OF_SERVICE_UNSPECIFIED 0 ডিফল্ট মান। এই মানটির অর্থ হল কোনও পূর্বাভাসিত ট্র্যাফিক মান উপলব্ধ নেই৷
LEVEL_OF_SERVICE_STOPPED 1 যান চলাচল বন্ধ রয়েছে এবং যানবাহন চলাচল করছে না।
LEVEL_OF_SERVICE_STOP_AND_GO 2 ট্রাফিক স্টপ অ্যান্ড গো এবং যানবাহন কম গতিতে চলছে এবং কিছুক্ষণ পরেই থামছে।
LEVEL_OF_SERVICE_SLOW 3 একটি ট্র্যাফিক ধীরগতির পূর্বাভাস দেওয়া হয়েছে এবং যানবাহন ধীরে ধীরে চলছে কিন্তু কোন ট্র্যাফিক জ্যামের পূর্বাভাস নেই৷
LEVEL_OF_SERVICE_NORMAL 4 ট্রাফিক স্বাভাবিক গতিতে আছে এবং কোন ধীরগতির পূর্বাভাস নেই।

পাথ টীকা পান

আপনি annotatePaths পদ্ধতিতে (REST) ​​একটি HTTP POST অনুরোধ পাঠিয়ে বা AnnotatePaths পদ্ধতিতে (gRPC) কল করে একটি পাথ টীকা পেতে পারেন৷

নিম্নলিখিত উপবিভাগগুলি অনুরোধ এবং প্রতিক্রিয়া সংস্থাগুলি বর্ণনা করে যা অনুরোধ করতে এবং পাথের টীকা এবং REST রেফারেন্সের লিঙ্কগুলি গ্রহণ করতে ব্যবহৃত হয়।

শরীরের অনুরোধ

annotatePaths পদ্ধতির অনুরোধের অংশে নিম্নলিখিতগুলি রয়েছে:

  • Paths : অনুরোধ করা রুট (পাথের সেট) ডায়নামিক অ্যাট্রিবিউট ডেটা দিয়ে টীকা করতে হবে। এই রুটের সমস্ত পাথের একই প্রারম্ভিক সেগমেন্ট থাকা উচিত, যে অংশটি গাড়িটি চালু আছে। গাড়িটিকে প্রথম সেগমেন্টের শুরুতে বলে ধরে নেওয়া হয়। পাথ একই সেগমেন্টে শুরু না হলে, একটি ত্রুটি ফেরত দেওয়া হয়।
    • Path : একটি পাথ যেখানে গতিশীল বৈশিষ্ট্যের জন্য অনুরোধ করা হচ্ছে।
    • Segments : সেগমেন্টের একটি ক্রম তালিকা যা পথ তৈরি করে।
      • Segment : একটি সেগমেন্ট যা একটি পথের অন্তর্গত।
      • Polyline : সেগমেন্টের পলিলাইন যা আইডি খুঁজে না পাওয়া গেলে সেগমেন্ট সনাক্ত করতে ব্যবহার করা যেতে পারে। এটি দুটি বিভাগের মধ্যে পার্থক্য করতেও কাজ করে যদি তাদের একই আইডি থাকে। পলিলাইনটি স্ট্যান্ডার্ড Google মানচিত্র প্ল্যাটফর্ম এনকোডেড পলিলাইন অ্যালগরিদম ফর্ম্যাট ব্যবহার করে এনকোড করা হয়েছে।
      • placeId : এই রাস্তার অংশের জন্য স্থান আইডি যা DirectionalSegment অবজেক্ট থেকে placeId ক্ষেত্রের একই মান হতে পারে।
  • AnnotationOptions : ইনপুট পাথের জন্য অনুরোধ করা টীকা।
    • includeLevelOfService : একটি বুলিয়ান ক্ষেত্র। সত্য হিসাবে সেট করা হলে, প্রতিক্রিয়ার অংশগুলি পূর্বাভাসিত ট্র্যাফিক মান সহ টীকা করা হয়। আরও তথ্যের জন্য এই নথির পরিষেবার স্তর বিভাগটি দেখুন।

অনুরোধের প্রয়োজনীয়তা

annotatePaths পদ্ধতির জন্য অনুরোধের অংশকে অবশ্যই নিম্নলিখিত প্রয়োজনীয়তাগুলি অনুসরণ করতে হবে:

  • পাথ একই সেগমেন্ট দিয়ে শুরু করতে হবে।
  • পাথগুলি অবশ্যই 15 কিলোমিটারের সমান বা ছোট হতে হবে, যেখানে পথের শেষ অংশটি তার প্রথম অংশের শুরু থেকে 15 কিলোমিটারের বেশি শুরু হবে না।
  • অনুরোধে 10টি পাথ কম বা সমান থাকতে হবে।

নমুনা অনুরোধ

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

paths {
  segments {
    place_id: "ChIJqZ402gQVkFQRcM9QM5EHX1A"
    polyline {
      encoded_polyline: "ojxaHfkviVuAjA_@l@y@jC"
    }
  }
  segments {
    place_id: "ChIJg_9y5AQVkFQRKL3E7_fPM_o"
    polyline {
      encoded_polyline: "_pxaHlsviVg@bB"
    }
  }
  segments {
    place_id: "ChIJle5mqwUVkFQRuhQhpqFyxRM"
    polyline {
      encoded_polyline: "gqxaHpvviV_EtM"
    }
  }
}
annotation_options {
  include_level_of_service: true
}

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

annotatePaths পদ্ধতির প্রতিক্রিয়া বডিতে নিম্নলিখিতগুলি রয়েছে:

  • annotatedPaths : ইনপুট থেকে পাথ অনুরোধ করা বৈশিষ্ট্যের সাথে টীকা করা হয়েছে।
    • AnnotatedPath : একটি ইনপুট পাথের একটি অনুলিপি পূর্বাভাসিত বৈশিষ্ট্যের সাথে ফিরে আসে।
    • annotatedSegments : সেগমেন্টের একটি অর্ডারকৃত তালিকা যা প্রধান পথ তৈরি করে, অনুরোধ করা গুণাবলী সহ টীকা।
      • AnnotatedSegment : একটি সেগমেন্ট যা একটি পাথ তৈরি করে, গতিশীল ডেটা বৈশিষ্ট্যের সাথে টীকাযুক্ত।
      • Segment : একটি সেগমেন্ট যা একটি পথের অন্তর্গত।
        • placeId : এই রাস্তা বিভাগের জন্য স্থান আইডি যা DirectionalSegment অবজেক্ট থেকে placeId ক্ষেত্রের একই মান হতে পারে।
      • SegmentSpanAttributes : সেগমেন্টে বরাদ্দ করা বৈশিষ্ট্য। একটি সেগমেন্ট যে পথে আছে তার উপর ভিত্তি করে এই বৈশিষ্ট্যগুলি আলাদা হতে পারে৷ একটি স্প্যান পুরো সেগমেন্টকে কভার করতে পারে৷ অ্যাট্রিবিউট স্প্যানগুলি গাড়ির অবস্থান থেকে পথের শেষ পর্যন্ত ফরোয়ার্ড ক্রমে থাকবে৷
        • SegmentSpan : সেগমেন্টে কোথায় টীকাগুলি প্রযোজ্য তা বর্ণনা করে।
        • LevelOfService : সেগমেন্ট স্প্যানের জন্য পূর্বাভাসিত ট্র্যাফিক স্তর, এই বিভাগে প্রত্যাশিত ট্র্যাফিক গতি দ্বারা সংজ্ঞায়িত করা হয় যখন গাড়িটি সেগমেন্টের শুরুতে আসে। আরও তথ্যের জন্য এই নথির পরিষেবার স্তর বিভাগটি দেখুন।

নমুনা প্রতিক্রিয়া

নিম্নলিখিত উদাহরণটি annotatePaths পদ্ধতির একটি অনুরোধের অংশ দেখায়। এই উদাহরণে আপনি নমুনা অনুরোধে অনুরোধ করা এক পথে পরিষেবার টীকাগুলির স্তর পাবেন৷

annotated_paths {
  annotated_segments {
    segment {
      place_id: "ChIJqZ402gQVkFQRcM9QM5EHX1A"
    }
    segment_span_attributes {
      segment_span {
        start_meters: 0
        end_meters: 142
      }
      level_of_service: LEVEL_OF_SERVICE_NORMAL
    }
  }
  annotated_segments {
    segment {
      place_id: "ChIJg_9y5AQVkFQRKL3E7_fPM_o"
    }
    segment_span_attributes {
      segment_span {
        start_meters: 0
        end_meters: 44
      }
      level_of_service: LEVEL_OF_SERVICE_NORMAL
    }
  }
  annotated_segments {
    segment {
      place_id: "ChIJle5mqwUVkFQRuhQhpqFyxRM"
    }
    segment_span_attributes {
      segment_span {
        start_meters: 0
        end_meters: 206
      }
      level_of_service: LEVEL_OF_SERVICE_NORMAL
    }
  }
}