একটি রুট ম্যাট্রিক্স পান

ComputeRouteMatrix পদ্ধতি (REST) ​​বা স্ট্রিমিং ComputeRouteMatrix পদ্ধতি (gRPC) কল করে একাধিক উত্স এবং গন্তব্যের জন্য একটি রুটের দূরত্ব এবং সময়কাল গণনা করতে Routes API ব্যবহার করুন৷

উত্স এবং গন্তব্যগুলির একটি তালিকা দেওয়া, পদ্ধতিটি প্রতিটি উত্স থেকে শুরু করে এবং প্রতিটি গন্তব্যে শেষ হওয়া একটি রুটের দূরত্ব এবং সময়কাল গণনা করে৷

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

আপনি ট্রানজিটে একটি রুট ম্যাট্রিক্সও গণনা করতে পারেন। একটি উদাহরণের জন্য, ট্রানজিটে একটি রুট ম্যাট্রিক্স পান দেখুন।

অনুরোধ সীমা

কম্পিউট রুট ম্যাট্রিক্স পদ্ধতিগুলি ঠিকানা বা প্লেসআইডি ব্যবহার করে ওয়েপয়েন্টগুলির জন্য এবং উপাদানগুলির জন্য নিম্নলিখিত অনুরোধের সীমাগুলি প্রয়োগ করে৷ উপাদানগুলি হল একটি রুট ম্যাট্রিক্সে প্রতিটি উত্স এবং গন্তব্যের মধ্যে রুট, তাই উপাদানগুলির সংখ্যা গন্তব্যের সংখ্যার উৎপত্তির সংখ্যা। উদাহরণস্বরূপ, যদি আপনার 10টি উত্স এবং 10টি গন্তব্য থাকে তবে আপনার 100টি উপাদান রয়েছে:

  • TRANSIT রুট নয় এমন রুটের জন্য উপাদানের সংখ্যা 625 এর বেশি হতে পারে না।

  • আপনি যদি একটি TRANSIT রুট নির্দিষ্ট করেন , তাহলে উপাদানের সংখ্যা 100 এর বেশি হতে পারে না।

  • আপনি যদি TRAFFIC_AWARE_OPTIMAL নির্দিষ্ট করেন , তাহলে উপাদানের সংখ্যা 100-এর বেশি হতে পারে না। TRAFFIC_AWARE_OPTIMAL সম্পর্কে আরও তথ্যের জন্য, কীভাবে এবং যদি ট্র্যাফিক ডেটা অন্তর্ভুক্ত করতে হয় তা নির্দিষ্ট করুন দেখুন।

  • আপনি যদি ঠিকানা বা স্থান আইডি ব্যবহার করে উত্স বা গন্তব্য নির্দিষ্ট করেন , তাহলে আপনি এইভাবে মোট 50টি পর্যন্ত নির্দিষ্ট করুন৷

প্রতিক্রিয়া ত্রুটি

কম্পিউট রুট ম্যাট্রিক্স পদ্ধতিগুলির একটি বৈশিষ্ট্য হল যে ত্রুটিগুলি সম্পূর্ণ প্রতিক্রিয়ার জন্য বা পৃথক প্রতিক্রিয়া উপাদানগুলির জন্য ফেরত দেওয়া যেতে পারে। উদাহরণস্বরূপ, অনুরোধটি ত্রুটিপূর্ণ হলে সমগ্র প্রতিক্রিয়াটিতে একটি ত্রুটি রয়েছে (উদাহরণস্বরূপ, এটির উৎস শূন্য)।

যাইহোক, যদি একটি ত্রুটি প্রতিক্রিয়ার উপাদানগুলির একটি উপসেটের ক্ষেত্রে প্রযোজ্য হয় (উদাহরণস্বরূপ, একটি মূল এবং গন্তব্যের সংমিশ্রণের জন্য একটি রুট গণনা করা যায় না), তবে শুধুমাত্র ত্রুটি দ্বারা প্রভাবিত উপাদানগুলি একটি ত্রুটি কোড প্রদান করে।

gRPC স্ট্রিম ফলাফল

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

স্ট্রীম দ্বারা প্রত্যাবর্তিত উপাদানগুলি কোন ক্রমে ফেরত দেওয়ার গ্যারান্টি দেওয়া হয় না৷ অতএব, প্রতিটি প্রতিক্রিয়া উপাদানে একটি origin_index এবং একটি destination_index রয়েছে। অনুরোধ দ্বারা উল্লিখিত উত্স এবং গন্তব্যগুলির জন্য, একটি প্রদত্ত উপাদানের জন্য রুটের উত্সটি origins[origin_index] সমতুল্য এবং রুটের গন্তব্যটি destinations[destination_index] । এই অ্যারেগুলি শূন্য-সূচীযুক্ত। মূল এবং গন্তব্য তালিকার অর্ডার সংরক্ষণ করা গুরুত্বপূর্ণ।

একটি রুট ম্যাট্রিক্স উদাহরণ গণনা

একটি রুট ম্যাট্রিক্স গণনা করার জন্য একটি HTTP অনুরোধে computeRouteMatrix পদ্ধতি ব্যবহার করুন।

HTTP উদাহরণ

নিম্নলিখিত উদাহরণ একটি computeRouteMatrix HTTP অনুরোধ দেখায়। এই উদাহরণে আপনি:

  • দুটি উত্স এবং দুটি গন্তব্য পথপয়েন্টের একটি অ্যারে নির্দিষ্ট করুন। পদ্ধতিটি প্রতিটি উত্স থেকে প্রতিটি গন্তব্যে একটি রুট গণনা করে যাতে প্রতিক্রিয়াটিতে চারটি রুট থাকে।

    অ্যারেতে, প্রথম উপাদানটি 0 এর সূচকে, দ্বিতীয়টি হল সূচক 1 এবং আরও অনেক কিছু।

  • প্রতিক্রিয়া (REST) ​​বা ComputeRoutesResponse (gRPC) এর কোন ক্ষেত্রগুলিকে ফেরত দিতে হবে তা নির্দিষ্ট করতে একটি প্রতিক্রিয়া ক্ষেত্র মাস্ক অন্তর্ভুক্ত করুন৷ এই উদাহরণে, প্রতিটি রুটের জন্য originIndex , destinationIndex , duration , distanceMeters , status , এবং condition ফেরত দেওয়ার অনুরোধটি কনফিগার করুন৷ আরও তথ্যের জন্য, ফিরে আসার জন্য ক্ষেত্র চয়ন করুন দেখুন।

curl -X POST -d '{
  "origins": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420761,
            "longitude": -122.081356
          }
        }
      },
      "routeModifiers": { "avoid_ferries": true}
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.403184,
            "longitude": -122.097371
          }
        }
      },
      "routeModifiers": { "avoid_ferries": true}
    }
  ],
  "destinations": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420999,
            "longitude": -122.086894
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.383047,
            "longitude": -122.044651
          }
        }
      }
    }
  ],
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

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

originIndex এবং destinationIndex প্রতিক্রিয়া ক্ষেত্রগুলি ব্যবহার করে প্রতিক্রিয়ার প্রতিটি রুট সনাক্ত করুন। উদাহরণস্বরূপ, প্রতিক্রিয়াতে 1-এর একটি originIndex অনুরোধের origins অ্যারের সূচক 1-এ ওয়েপয়েন্ট থেকে গণনা করা রুটের সাথে মিলে যায়।

[
    {
        "originIndex": 0,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 822,
        "duration": "160s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 2919,
        "duration": "361s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 5598,
        "duration": "402s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 0,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 7259,
        "duration": "712s",
        "condition": "ROUTE_EXISTS"
    }
]

gRPC উদাহরণ

উদাহরণের জন্য gRPC অনুরোধ, উদাহরণ gRPC অনুরোধের উদাহরণগুলি দেখুন। সেই পৃষ্ঠার জাভা উদাহরণটি কম্পিউট রুট এবং কম্পিউট রুট ম্যাট্রিক্স উভয়কেই কল করে।