Method: computeRouteMatrix

উৎস এবং গন্তব্যের একটি তালিকা গ্রহণ করে এবং উৎস এবং গন্তব্যের প্রতিটি সংমিশ্রণের জন্য রুট তথ্য সম্বলিত একটি স্ট্রিম প্রদান করে।

দ্রষ্টব্য: এই পদ্ধতিতে ইনপুটে একটি রেসপন্স ফিল্ড মাস্ক নির্দিষ্ট করতে হবে। আপনি URL প্যারামিটার $fields অথবা fields ব্যবহার করে অথবা HTTP/gRPC হেডার X-Goog-FieldMask ব্যবহার করে রেসপন্স ফিল্ড মাস্ক প্রদান করতে পারেন ( উপলব্ধ URL প্যারামিটার এবং হেডার দেখুন)। মানটি হল কমা দ্বারা পৃথক করা ফিল্ড পাথের তালিকা। ফিল্ড পাথগুলি কীভাবে তৈরি করবেন সে সম্পর্কে এই বিস্তারিত ডকুমেন্টেশনটি দেখুন।

উদাহরণস্বরূপ, এই পদ্ধতিতে:

  • সমস্ত উপলব্ধ ক্ষেত্রের ফিল্ড মাস্ক (ম্যানুয়াল পরিদর্শনের জন্য): X-Goog-FieldMask: *
  • রুটের সময়কাল, দূরত্ব, উপাদানের অবস্থা, অবস্থা এবং উপাদান সূচকের ফিল্ড মাস্ক (উৎপাদন সেটআপের একটি উদাহরণ): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

আপনার ফিল্ড মাস্কে status অন্তর্ভুক্ত করা অত্যন্ত গুরুত্বপূর্ণ কারণ অন্যথায় সমস্ত বার্তা ঠিক আছে বলে মনে হবে। গুগল ওয়াইল্ডকার্ড ( * ) রেসপন্স ফিল্ড মাস্ক ব্যবহারকে নিরুৎসাহিত করে, কারণ:

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

HTTP অনুরোধ

POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

URL টি gRPC ট্রান্সকোডিং সিনট্যাক্স ব্যবহার করে।

অনুরোধের মূল অংশ

অনুরোধের মূল অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:

JSON উপস্থাপনা
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string,
  "arrivalTime": string,
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
ক্ষেত্র
origins[]

object ( RouteMatrixOrigin )

প্রয়োজনীয়। উৎপত্তির বিন্যাস, যা প্রতিক্রিয়া ম্যাট্রিক্সের সারি নির্ধারণ করে। উৎপত্তি এবং গন্তব্যের মূলত্বের ক্ষেত্রে বেশ কয়েকটি আকারের সীমাবদ্ধতা প্রযোজ্য:

  • উৎসের সংখ্যা + placeId অথবা address হিসেবে নির্দিষ্ট গন্তব্যের সংখ্যার যোগফল ৫০ এর বেশি হতে পারবে না।
  • উৎপত্তিস্থলের সংখ্যা × গন্তব্যস্থলের সংখ্যার গুণফল যেকোনো অবস্থাতেই 625 এর বেশি হওয়া উচিত নয়।
  • যদি routingPreference TRAFFIC_AWARE_OPTIMAL তে সেট করা থাকে, তাহলে উৎপত্তির সংখ্যা × গন্তব্যের সংখ্যার গুণফল অবশ্যই ১০০ এর বেশি হতে হবে না।
  • যদি travelMode TRANSIT তে সেট করা থাকে, তাহলে উৎপত্তিস্থলের সংখ্যা × গন্তব্যস্থলের সংখ্যার গুণফল অবশ্যই 100 এর বেশি হতে হবে না।
destinations[]

object ( RouteMatrixDestination )

প্রয়োজনীয়। গন্তব্যের অ্যারে, যা প্রতিক্রিয়া ম্যাট্রিক্সের কলাম নির্ধারণ করে।

travelMode

enum ( RouteTravelMode )

ঐচ্ছিক। পরিবহনের ধরণ নির্দিষ্ট করে।

routingPreference

enum ( RoutingPreference )

ঐচ্ছিক। রুট কীভাবে গণনা করতে হবে তা নির্দিষ্ট করে। সার্ভার রুট গণনা করার জন্য নির্বাচিত রাউটিং পছন্দ ব্যবহার করার চেষ্টা করে। যদি রাউটিং পছন্দের ফলে কোনও ত্রুটি বা অতিরিক্ত দীর্ঘ বিলম্ব হয়, তাহলে একটি ত্রুটি ফিরে আসে। আপনি এই বিকল্পটি কেবল তখনই নির্দিষ্ট করতে পারেন যখন travelMode DRIVE অথবা TWO_WHEELER হয়, অন্যথায় অনুরোধ ব্যর্থ হয়।

departureTime

string ( Timestamp format)

ঐচ্ছিক। প্রস্থানের সময়। যদি আপনি এই মানটি সেট না করেন, তাহলে এই মানটি আপনার অনুরোধের সময় অনুসারে ডিফল্ট হবে। দ্রষ্টব্য: যখন RouteTravelMode TRANSIT এ সেট করা থাকে তখন আপনি কেবল অতীতের একটি departureTime নির্দিষ্ট করতে পারবেন।

RFC 3339 ব্যবহার করে, যেখানে উৎপন্ন আউটপুট সর্বদা Z-স্বাভাবিক হবে এবং 0, 3, 6 অথবা 9 ভগ্নাংশ সংখ্যা ব্যবহার করবে। "Z" ব্যতীত অন্যান্য অফসেটগুলিও গ্রহণযোগ্য। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

arrivalTime

string ( Timestamp format)

ঐচ্ছিক। আগমনের সময়। দ্রষ্টব্য: শুধুমাত্র তখনই সেট করা যাবে যখন RouteTravelMode TRANSIT এ সেট করা থাকে। আপনি departureTime অথবা arrivalTime উভয়টি নির্দিষ্ট করতে পারেন, কিন্তু উভয়টিই নয়।

RFC 3339 ব্যবহার করে, যেখানে উৎপন্ন আউটপুট সর্বদা Z-স্বাভাবিক হবে এবং 0, 3, 6 অথবা 9 ভগ্নাংশ সংখ্যা ব্যবহার করবে। "Z" ব্যতীত অন্যান্য অফসেটগুলিও গ্রহণযোগ্য। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

languageCode

string

ঐচ্ছিক। BCP-47 ভাষা কোড, যেমন "en-US" বা "sr-Latn"। আরও তথ্যের জন্য, Unicode Locale Identifier দেখুন। সমর্থিত ভাষার তালিকার জন্য Language Support দেখুন। যখন আপনি এই মানটি প্রদান করেন না, তখন প্রথম উৎসের অবস্থান থেকে প্রদর্শন ভাষা অনুমান করা হয়।

regionCode

string

ঐচ্ছিক। অঞ্চল কোড, একটি ccTLD ("শীর্ষ-স্তরের ডোমেন") দুই-অক্ষরের মান হিসাবে নির্দিষ্ট করা হয়েছে। আরও তথ্যের জন্য দেশের কোড শীর্ষ-স্তরের ডোমেন দেখুন।

units

enum ( Units )

ঐচ্ছিক। প্রদর্শন ক্ষেত্রগুলির জন্য পরিমাপের একক নির্দিষ্ট করে।

extraComputations[]

enum ( ExtraComputation )

ঐচ্ছিক। অনুরোধটি সম্পূর্ণ করতে ব্যবহৃত অতিরিক্ত গণনার একটি তালিকা। দ্রষ্টব্য: এই অতিরিক্ত গণনাগুলি প্রতিক্রিয়াতে অতিরিক্ত ক্ষেত্রগুলি ফেরত পাঠাতে পারে। প্রতিক্রিয়াতে ফেরত দেওয়ার জন্য এই অতিরিক্ত ক্ষেত্রগুলি ফিল্ড মাস্কেও উল্লেখ করতে হবে।

trafficModel

enum ( TrafficModel )

ঐচ্ছিক। ট্র্যাফিকের সময় গণনা করার সময় ব্যবহার করার জন্য অনুমানগুলি নির্দিষ্ট করে। এই সেটিংটি RouteMatrixElement এর সময়কাল ক্ষেত্রের ফেরত মানকে প্রভাবিত করে যেখানে ঐতিহাসিক গড়ের উপর ভিত্তি করে ট্র্যাফিকের পূর্বাভাসিত সময় থাকে। TrafficModel শুধুমাত্র সেই অনুরোধগুলির জন্য উপলব্ধ যারা RoutingPreference কে TRAFFIC_AWARE_OPTIMAL এবং RouteTravelMode কে DRIVE এ সেট করেছেন। ট্র্যাফিকের অনুরোধ করা হলে এবং TrafficModel নির্দিষ্ট না থাকলে ডিফল্টভাবে BEST_GUESS এ সেট করা হয়।

transitPreferences

object ( TransitPreferences )

ঐচ্ছিক। TRANSIT রুটের জন্য ফেরত পাঠানো রুটকে প্রভাবিত করে এমন পছন্দগুলি নির্দিষ্ট করে। দ্রষ্টব্য: RouteTravelMode TRANSIT এ সেট করা থাকলেই আপনি কেবল একটি transitPreferences নির্দিষ্ট করতে পারবেন।

প্রতিক্রিয়া মূল অংশ

v2.computeRouteMatrix API-তে একটি উৎপত্তি/গন্তব্য জোড়ার জন্য গণনা করা রুট তথ্য রয়েছে। এই প্রোটোটি ক্লায়েন্টে স্ট্রিম করা যেতে পারে।

যদি সফল হয়, তাহলে রেসপন্স বডিতে নিম্নলিখিত কাঠামো সহ ডেটা থাকবে:

JSON উপস্থাপনা
{
  "status": {
    object (Status)
  },
  "condition": enum (RouteMatrixElementCondition),
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "localizedValues": {
    object (LocalizedValues)
  },
  "originIndex": integer,
  "destinationIndex": integer
}
ক্ষেত্র
status

object ( Status )

এই উপাদানটির জন্য ত্রুটির স্থিতি কোড।

condition

enum ( RouteMatrixElementCondition )

রুটটি পাওয়া গেছে কিনা তা নির্দেশ করে। অবস্থা নির্বিশেষে।

distanceMeters

integer

রুটের ভ্রমণ দূরত্ব, মিটারে।

duration

string ( Duration format)

রুট নেভিগেট করতে প্রয়োজনীয় সময়কাল। যদি আপনি routingPreference TRAFFIC_UNAWARE তে সেট করেন, তাহলে এই মানটি staticDuration এর সমান। যদি আপনি routingPreference TRAFFIC_AWARE অথবা TRAFFIC_AWARE_OPTIMAL তে সেট করেন, তাহলে এই মানটি ট্র্যাফিকের অবস্থা বিবেচনা করে গণনা করা হয়।

সেকেন্ডে একটি সময়কাল যার সর্বোচ্চ নয়টি ভগ্নাংশ সংখ্যা ' s ' দিয়ে শেষ হয়। উদাহরণ: "3.5s"

staticDuration

string ( Duration format)

ট্র্যাফিক পরিস্থিতি বিবেচনা না করে রুট দিয়ে ভ্রমণের সময়কাল।

সেকেন্ডে একটি সময়কাল যার সর্বোচ্চ নয়টি ভগ্নাংশ সংখ্যা ' s ' দিয়ে শেষ হয়। উদাহরণ: "3.5s"

travelAdvisory

object ( RouteTravelAdvisory )

রুট সম্পর্কে অতিরিক্ত তথ্য। উদাহরণস্বরূপ: সীমাবদ্ধতা তথ্য এবং টোল তথ্য

fallbackInfo

object ( FallbackInfo )

কিছু ক্ষেত্রে যখন সার্ভার এই নির্দিষ্ট উৎপত্তি/গন্তব্য জোড়ার জন্য প্রদত্ত পছন্দ অনুসারে রুট গণনা করতে সক্ষম হয় না, তখন এটি গণনার একটি ভিন্ন মোড ব্যবহার করতে পারে। যখন ফলব্যাক মোড ব্যবহার করা হয়, তখন এই ক্ষেত্রটিতে ফলব্যাক প্রতিক্রিয়া সম্পর্কে বিস্তারিত তথ্য থাকে। অন্যথায় এই ক্ষেত্রটি সেট করা থাকে না।

localizedValues

object ( LocalizedValues )

RouteMatrixElement এর বৈশিষ্ট্যের টেক্সট উপস্থাপনা।

originIndex

integer

অনুরোধে উৎপত্তিস্থলের শূন্য-ভিত্তিক সূচক।

destinationIndex

integer

অনুরোধে গন্তব্যের শূন্য-ভিত্তিক সূচক।

রুটম্যাট্রিক্সঅরিজিন

ComputeRouteMatrixRequest এর জন্য একটি একক উৎস

JSON উপস্থাপনা
{
  "waypoint": {
    object (Waypoint)
  },
  "routeModifiers": {
    object (RouteModifiers)
  }
}
ক্ষেত্র
waypoint

object ( Waypoint )

প্রয়োজনীয়। উৎপত্তিস্থলের পথপয়েন্ট

routeModifiers

object ( RouteModifiers )

ঐচ্ছিক। প্রতিটি রুটের জন্য সংশোধক যা এটিকে উৎস হিসেবে গ্রহণ করে

রুটম্যাট্রিক্সগন্তব্য

ComputeRouteMatrixRequest-এর জন্য একটি একক গন্তব্য

JSON উপস্থাপনা
{
  "waypoint": {
    object (Waypoint)
  }
}
ক্ষেত্র
waypoint

object ( Waypoint )

প্রয়োজনীয়। গন্তব্যস্থল

এক্সট্রাকম্পিউটেশন

অনুরোধটি পূরণ করার সময় অতিরিক্ত গণনা করতে হবে।

এনামস
EXTRA_COMPUTATION_UNSPECIFIED ব্যবহার করা হয়নি। এই মান সম্বলিত অনুরোধগুলি ব্যর্থ হবে।
TOLLS ম্যাট্রিক্স উপাদান(গুলি) এর জন্য টোল তথ্য।

রুটম্যাট্রিক্সএলিমেন্টকন্ডিশন

ফেরত পাঠানোর রুটের অবস্থা।

এনামস
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED শুধুমাত্র তখনই ব্যবহার করা হয় যখন উপাদানটির status ঠিক না থাকে।
ROUTE_EXISTS একটি রুট পাওয়া গেছে, এবং উপাদানটির জন্য সংশ্লিষ্ট তথ্য পূরণ করা হয়েছে।
ROUTE_NOT_FOUND কোন রুট খুঁজে পাওয়া যায়নি। রুট সম্পর্কিত তথ্য সম্বলিত ক্ষেত্রগুলি, যেমন distanceMeters বা duration , উপাদানটিতে পূরণ করা হবে না।

স্থানীয় মান

নির্দিষ্ট বৈশিষ্ট্যের টেক্সট উপস্থাপনা।

JSON উপস্থাপনা
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
ক্ষেত্র
distance

object ( LocalizedText )

ভ্রমণের দূরত্ব টেক্সট আকারে উপস্থাপন করা হয়েছে।

duration

object ( LocalizedText )

ট্র্যাফিকের অবস্থা বিবেচনা করে সময়কাল টেক্সট আকারে উপস্থাপন করা হয়েছে। দ্রষ্টব্য: যদি ট্র্যাফিকের তথ্য চাওয়া না হয়, তাহলে এই মানটি স্ট্যাটিকড্যুরেশনের সমান।

staticDuration

object ( LocalizedText )

ট্র্যাফিক পরিস্থিতি বিবেচনা না করেই সময়কাল টেক্সট আকারে উপস্থাপন করা হয়েছে।

transitFare

object ( LocalizedText )

পরিবহন ভাড়া টেক্সট আকারে উপস্থাপন করা হয়েছে।