রুট ম্যাট্রিক্স পাওয়া

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA)-এর ডেভেলপার

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

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

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

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

অনুরোধের সীমা

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

  • TRANSIT রুট নয় এমন রুটের ক্ষেত্রে এলিমেন্টের সংখ্যা ৬২৫-এর বেশি হতে পারবে না।

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

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

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

রেসপন্স সংক্রান্ত সমস্যা

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

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

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

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

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

Compute a Route Matrix-এর উদাহরণ

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

HTTP উদাহরণ

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

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

    অ্যারেতে, প্রথম এলিমেন্টটি ০ ইন্ডেক্সে, দ্বিতীয়টি ১ ইন্ডেক্সে এবং এইভাবে চলতে থাকে।

  • response (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 রেসপন্স ফিল্ড ব্যবহার করে রেসপন্সে প্রতিটি রুট শনাক্ত করুন। যেমন, উত্তরে originIndex-এর ভ্যালু ১ হলে, অনুরোধের origins অ্যারের ইন্ডেক্স ১-এ থাকা ওয়েপয়েন্ট থেকে রুট গণনা করা হয়েছে বলে বুঝতে হবে।

[
    {
        "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 অনুরোধের উদাহরণ দেখুন। সেই পৃষ্ঠায় Java উদাহরণ Compute Routes এবং Compute Route Matrix, দুটিকেই কল করে।