Method: computeRouteMatrix

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

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

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

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

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

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

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 হিসাবে নির্দিষ্ট গন্তব্যের সংখ্যা 50 এর বেশি হওয়া উচিত নয়।
  • উৎপত্তির সংখ্যা × গন্তব্যের সংখ্যার গুণফল যেকোনো ক্ষেত্রেই 625-এর বেশি হওয়া উচিত নয়।
  • যদি রাউটিং পছন্দ TRAFFIC_AWARE_OPTIMAL এ সেট করা থাকে তাহলে উৎপত্তির সংখ্যা × গন্তব্যের সংখ্যা 100 এর বেশি হওয়া উচিত নয়।
  • যদি TravelMode TRANSIT এ সেট করা থাকে তাহলে উৎপত্তির সংখ্যা × গন্তব্যের সংখ্যার গুণফল 100-এর বেশি হওয়া উচিত নয়।
destinations[]

object ( RouteMatrixDestination )

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

travelMode

enum ( RouteTravelMode )

ঐচ্ছিক। পরিবহনের মোড নির্দিষ্ট করে।

routingPreference

enum ( RoutingPreference )

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

departureTime

string ( Timestamp format)

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

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

arrivalTime

string ( Timestamp format)

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

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

languageCode

string

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

regionCode

string

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

units

enum ( Units )

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

extraComputations[]

enum ( ExtraComputation )

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

trafficModel

enum ( TrafficModel )

ঐচ্ছিক। ট্র্যাফিকের সময় গণনা করার সময় ব্যবহার করার অনুমানগুলি নির্দিষ্ট করে৷ এই সেটিংটি RouteMatrixElement এর সময়কাল ক্ষেত্রে প্রত্যাবর্তিত মানকে প্রভাবিত করে যা ঐতিহাসিক গড়গুলির উপর ভিত্তি করে ট্র্যাফিকের পূর্বাভাসিত সময় ধারণ করে। TRAFFIC_AWARE_OPTIMALRoutingPreference এবং DRIVERouteTravelMode । ট্রাফিকের অনুরোধ করা হলে এবং 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 )

প্রয়োজন। গন্তব্য পথপয়েন্ট

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

অনুরোধ সম্পূর্ণ করার সময় সঞ্চালনের জন্য অতিরিক্ত গণনা।

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

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

ফেরার পথের অবস্থা।

Enums
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 )

পাঠ্য আকারে উপস্থাপিত ট্রানজিট ভাড়া।