এই পৃষ্ঠায়, নিম্নলিখিত বিভাগে Roads Selection API ব্যবহার করে কীভাবে রুট তৈরি করতে এবং কাস্টম অ্যাট্রিবিউট যোগ করতে হয় তা বর্ণনা করা হয়েছে:
- রুট তৈরি করুন:
createএন্ডপয়েন্ট ব্যবহার করে একটি রুট নির্দিষ্ট করুন। - ব্যাচ রুট তৈরি করুন:
batchCreateএন্ডপয়েন্ট ব্যবহার করে একটি অনুরোধে একাধিক রুট সংজ্ঞায়িত করুন। - মধ্যবর্তী ওয়েপয়েন্ট সহ রুট তৈরি করা: সর্বাধিক ২৫টি মধ্যবর্তী ওয়েপয়েন্ট সহ রুট নির্ধারণ করুন।
- কাস্টম রুটের অ্যাট্রিবিউট ব্যবহার করুন: আপনার রুটে সাংগঠনিক উদ্দেশ্যে সর্বাধিক ১০টি কাস্টম কী-ভ্যালু পেয়ার যোগ করুন।
রুট তৈরি করুন
রুট তৈরি করতে, create এন্ডপয়েন্টে POST অনুরোধ পাঠান।
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID
অনুরোধের বডি অবশ্যই একটি JSON অবজেক্ট হতে হবে যা SelectedRoute
রিসোর্সকে সংজ্ঞায়িত করে। এই অবজেক্ট নিম্নলিখিত তথ্য নির্দিষ্ট করে:
- নিম্নলিখিত তথ্য সহ একটি
dynamicRouteঅবজেক্ট:- বেছে নেওয়া রুটের
origin। - বেছে নেওয়া রুটের
destination। - রুটের যেকোনও
intermediates, যা ওয়েপয়েন্ট নামেও পরিচিত।
- বেছে নেওয়া রুটের
- একটি অনন্য
selectedRouteId। এই ভ্যালু ৪-৬৩টি অক্ষর হতে হবে এবং সঠিক অক্ষর হলa-z,A-Z,0-9,-বা_। আইডি প্রদান করা না হলে, সিস্টেম বেছে নেওয়া রুটের জন্য একটি অনন্য আইডি তৈরি করে।
নিম্নলিখিত কোড স্যাম্পেল থেকে create এন্ডপয়েন্টে POST অনুরোধের গঠন সম্পর্কে জানতে পারবেন।
curl -X POST -d '
{
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE,
"longitude": ORIGIN_LONGITUDE
},
"destination": {
"latitude": DESTINATION_LATITUDE,
"longitude": DESTINATION_LONGITUDE
}
}
}' \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://roads.googleapis.com/selection/v1/projects/"\
"PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID"সফল হলে, API SelectedRoute রিসোর্স ফিরিয়ে দেয়। উত্তরে
name ফিল্ডে selectedRouteId অন্তর্ভুক্ত আছে। SelectedRoute রিসোর্স ফিরিয়ে আনতে বা মুছে ফেলতে আপনি এই
selectedRouteId ব্যবহার করতে পারবেন।
নিচের কোড স্যাম্পেলে একটি সফল
create
এন্ডপয়েন্ট উত্তরের গঠন দেখানো হয়েছে।
{
"name": "projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID",
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE,
"longitude": ORIGIN_LONGITUDE
},
"destination": {
"latitude": DESTINATION_LATITUDE,
"longitude": DESTINATION_LONGITUDE
}
},
"createTime": "CREATE_TIME",
"state": "STATE_VALIDATING"
}
মাঝামাঝি ওয়েপয়েন্ট সহ রুট তৈরি করা
শুরু ও গন্তব্যের মধ্যে নির্দিষ্ট পয়েন্টের মধ্যে দিয়ে যায় এমন রুট তৈরি করতে, আপনার অনুরোধের বডিতে
dynamicRoute অবজেক্টের মধ্যে একটি intermediates অ্যারে
অন্তর্ভুক্ত করুন। intermediates অ্যারের প্রতিটি এলিমেন্ট হল একটি ওয়েপয়েন্ট যা latitude এবং
longitude দ্বারা সংজ্ঞায়িত। একটি রুটে সর্বাধিক ২৫টি ওয়েপয়েন্ট থাকতে পারে।
নিম্নলিখিত কোড স্যাম্পেল থেকে জানা যায় যে কীভাবে মধ্যবর্তী ওয়েপয়েন্ট সহ
SelectedRoute তৈরি করতে হয়:
curl -X POST -d '
{
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE,
"longitude": ORIGIN_LONGITUDE
},
"intermediates": [
{"latitude": INTERMEDIATE_LATITUDE_1, "longitude": INTERMEDIATE_LONGITUDE_1},
{"latitude": INTERMEDIATE_LATITUDE_2, "longitude": INTERMEDIATE_LONGITUDE_2},
{"latitude": INTERMEDIATE_LATITUDE_3, "longitude": INTERMEDIATE_LONGITUDE_3}
],
"destination": {
"latitude": DESTINATION_LATITUDE,
"longitude": DESTINATION_LONGITUDE
}
}
}' \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://roads.googleapis.com/selection/v1/projects/"\
"PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID"কাস্টম রুট অ্যাট্রিবিউট ব্যবহার করুন
Roads Management Insights-এ আপনার রুট ম্যানেজমেন্ট এবং ডেটা বিশ্লেষণ উন্নত করতে,
SelectedRoute অবজেক্টে একটি routeAttributes ফিল্ড অন্তর্ভুক্ত থাকে।
routeAttributes ফিল্ড ব্যবহার করে প্রতিটি রুটের জন্য আপনার নিজস্ব কাস্টম প্রপার্টি নির্ধারণ করুন, যেখানে প্রতিটি অ্যাট্রিবিউট হল একটি কী-ভ্যালু পেয়ার। আপনি প্রতিটি রুটের জন্য সর্বাধিক
২৫টি কাস্টম কী-ভ্যালু পেয়ার প্রদান করতে পারবেন।
এইসব অ্যাট্রিবিউট নির্দিষ্ট রুট শনাক্ত করতে বা আপনার প্রয়োজন অনুযায়ী প্রাসঙ্গিক নির্ণায়কের ভিত্তিতে রুট গ্রুপ করতে কাজে লাগে।
আপনি ব্যবহার করতে পারেন এমন রুট অ্যাট্রিবিউটের কিছু উদাহরণ নিচে দেওয়া হল:
"road_classification": "highway""maintenance_zone": "north_district""event_id": "marathon_2024""pavement_type": "asphalt"
routeAttributes ফিল্ড নির্ধারণ করার সময় পরবর্তী নির্দেশিকা অনুসরণ করুন:
- কী অবশ্যই
googপ্রিফিক্স দিয়ে শুরু হতে হবে। - প্রতিটি 'কী' ও ভ্যালুর দৈর্ঘ্য ১০০ অক্ষরের বেশি হলে চলবে না।
আপনি Roads Management Insights-এর মধ্যে এইসব কাস্টম routeAttributes
নিম্নলিখিত উপায়ে ব্যবহার করতে পারবেন:
- Pub/Sub বিজ্ঞপ্তি ফিল্টার করা: আপনি Pub/Sub সাবস্ক্রিপশনে ফিল্টার সেট করতে পারেন যাতে শুধুমাত্র নির্দিষ্ট অ্যাট্রিবিউট কী এবং তাদের সংশ্লিষ্ট মানের সাথে মেলে বা মেলে না এমন রুটের জন্য আপডেট পেতে পারেন।
- BigQuery বিশ্লেষণ রিফাইন করুন: আপনার BigQuery টেবিলে, আপনি এই অ্যাট্রিবিউটগুলি ব্যবহার করে কোনও অ্যাট্রিবিউটের মানের উপর ভিত্তি করে নির্দিষ্ট রুট ফিল্টার করতে পারেন। আরও টার্গেট করা ডেটা বিশ্লেষণের জন্য আপনি নির্দিষ্ট অ্যাট্রিবিউট কী অনুযায়ী রুট গ্রুপ করতে পারেন।
পরবর্তী কোড স্যাম্পেল দেখায় যে কীভাবে কাস্টম routeAttributes সহ
SelectedRoute তৈরি করতে হয়।
curl -X POST -d '
{
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE,
"longitude": ORIGIN_LONGITUDE
},
"destination": {
"latitude": DESTINATION_LATITUDE,
"longitude": DESTINATION_LONGITUDE
}
},
"routeAttributes": {
"ATTRIBUTE_KEY": "ATTRIBUTE_VALUE"
}
}' \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://roads.googleapis.com/selection/v1/projects/"\
"PROJECT_NUMBER/selectedRoutes?selectedRouteId=SELECTED_ROUTE_ID"ব্যাচ রুট তৈরি করুন
একটি অনুরোধে একাধিক রুট তৈরি করতে, batchCreate
এন্ডপয়েন্ট ব্যবহার করুন। এই এন্ডপয়েন্ট আপনাকে একটি কলে ১০০০টি পর্যন্ত রুট নির্ধারণ করতে দেয়।
batchCreate এন্ডপয়েন্টে POST অনুরোধ পাঠান:
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes:batchCreate
URL-এ gRPC ট্রান্সকোডিং সিনট্যাক্স ব্যবহার করা হয়।
অনুরোধের বডি অবশ্যই একটি JSON অবজেক্ট হতে হবে যাতে একটি requests অ্যারে থাকে।
এই অ্যারের মধ্যে থাকা প্রতিটি অবজেক্ট হল একটি CreateSelectedRouteRequest যা
একটি স্বতন্ত্র SelectedRoute রিসোর্সকে সংজ্ঞায়িত করে।
নিম্নলিখিত কোড স্যাম্পেল batchCreate এন্ডপয়েন্টে POST অনুরোধের স্ট্রাকচার দেখায়:
curl -X POST -d '
{
"requests": [
{
"selectedRoute": {
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE_1,
"longitude": ORIGIN_LONGITUDE_1
},
"destination": {
"latitude": DESTINATION_LATITUDE_1,
"longitude": DESTINATION_LONGITUDE_1
}
}
},
"selectedRouteId": "route-one"
},
{
"selectedRoute": {
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE_2,
"longitude": ORIGIN_LONGITUDE_2
},
"destination": {
"latitude": DESTINATION_LATITUDE_2,
"longitude": DESTINATION_LONGITUDE_2
}
}
},
"selectedRouteId": "route-two"
}
]
}' \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://roads.googleapis.com/selection/v1/projects/"\
"PROJECT_NUMBER/selectedRoutes:batchCreate"সফল হলে, API একটি রেসপন্স পাঠায় যাতে তৈরি করা
SelectedRoute রিসোর্সের অ্যারে থাকে।
নিম্নলিখিত কোড স্যাম্পেল batchCreate এন্ডপয়েন্ট
রেসপন্সের স্ট্রাকচার দেখায়:
{
"selectedRoutes": [
{
"name": "projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID_1",
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE_1,
"longitude": ORIGIN_LONGITUDE_1
},
"destination": {
"latitude": DESTINATION_LATITUDE_1,
"longitude": DESTINATION_LONGITUDE_1
}
},
"createTime": "CREATE_TIME_1",
"state": "STATE_VALIDATING"
},
{
"name": "projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID_2",
"dynamicRoute": {
"origin": {
"latitude": ORIGIN_LATITUDE_2,
"longitude": ORIGIN_LONGITUDE_2
},
"destination": {
"latitude": DESTINATION_LATITUDE_2,
"longitude": DESTINATION_LONGITUDE_2
}
},
"intermediates": [],
"createTime": "CREATE_TIME_2",
"state": "STATE_VALIDATING"
}
]
}