ডিফল্টরূপে, যানবাহনগুলি যে কোনও দিক থেকে পিকআপ বা ডেলিভারি লোকেশনে পৌঁছাতে পারে এবং তারপরে যে কোনও দিক থেকে চলে যেতে পারে। কিছু ক্ষেত্রে, এটি গাড়িটিকে ভিজিট লোকেশনে ইউ-টার্ন নিতে বাধ্য করে, যা গাড়ির আকার, অবস্থানে ট্র্যাফিক লক্ষণ বা স্বাভাবিক ট্রাফিক অবস্থার কারণে কঠিন বা অসম্ভব হতে পারে।
প্রদত্ত পিকআপ বা ডেলিভারি অবস্থানের জন্য আগমন এবং প্রস্থানের মধ্যে দিক পরিবর্তন থেকে যানবাহনগুলিকে প্রতিরোধ করতে, আপনি এই অবস্থানের জন্য avoid_u_turns সেট করতে পারেন। এই সেটিং এর অধীনে, গাড়িটি আসবে এবং একই শিরোনাম সহ অবস্থান ছেড়ে যাবে, এইভাবে ইউ-টার্ন এড়িয়ে যাবে। দ্বিমুখী রাস্তায় সমাধানকারী উভয় দিক বিবেচনা করবে এবং রুট অপ্টিমাইজেশনের অংশ হিসাবে একটি বেছে নেবে।
ওয়েপয়েন্টের সবচেয়ে কাছের রাস্তার পাশে যেখানে যানবাহন আসে এবং ছেড়ে যায় এমন একটি রুট পেতে আপনি side_of_road সত্যে সেট করতে পারেন। এই ক্ষেত্রে, গাড়িটি আগমন এবং প্রস্থানের মধ্যে শিরোনামও পরিবর্তন করে না। একই ফলাফল অর্জনের জন্য side_of_road উভয়ই সেট করা এবং avoid_u_turns সত্যে রাখা সম্ভব। বিস্তারিত জানার জন্য, অন্যান্য বৈশিষ্ট্যের সাথে মিথস্ক্রিয়া দেখুন।
অনুশীলনে, avoid_u_turns ব্যবহার করা উচিত যখন রাস্তা পার হওয়া নিরাপদ ওয়েপয়েন্টে যাওয়ার জন্য। ক্রসিং নিরুৎসাহিত বা সম্ভব না হলে side_of_road ব্যবহার করুন।
উদাহরণ: avoid_u_turns সহ একটি OptimizeTours অনুরোধ করুন
REST বা gRPC ব্যবহার করে OptimizeTours অনুরোধ করা যেতে পারে।
একটি অনুরোধ করার আগে, আপনার পরিবেশের জন্য উপযুক্ত মান দিয়ে নিম্নলিখিত পরামিতিগুলি প্রতিস্থাপন করুন:
- ইউজ OAuth- এ বর্ণিত অ্যাপ্লিকেশান ডিফল্ট শংসাপত্রগুলি কনফিগার করা আছে তা নিশ্চিত করুন।
আপনার ক্লাউড প্রকল্প নম্বর বা আইডিতে PROJECT_NUMBER_OR_ID সেট করুন।
নিম্নলিখিত কমান্ডটি রুট অপ্টিমাইজেশান এপিআইতে একটি
OptimizeToursঅনুরোধ পাঠায় এবং সিঙ্ক্রোনাসভাবে একটি প্রতিক্রিয়া গ্রহণ করে।curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 }, "avoidUTurns": true } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 }, "avoidUTurns": true } ] } ], "vehicles": [ { "travelMode": "DRIVING", "costPerKilometer": 1.0 } ], } } EOM
অনুরোধ সম্পূর্ণ হলে, আপনি একটি প্রতিক্রিয়া বার্তা পাবেন।
অন্যান্য বৈশিষ্ট্যের সাথে মিথস্ক্রিয়া
-
avoid_u_turnsside_of_road = trueএর সাথে একসাথে ব্যবহার করা যেতে পারে। এই ক্ষেত্রে, ইউ-টার্ন এড়ানো হয়, কিন্তু সমাধানকারী এমন একটি রুট নির্বাচন করে যে যানটি রাস্তার একই পাশে ওয়েপয়েন্টের মতো,side_of_road = trueএকা সেট করার মতো। - যখন
avoid_u_turns = true, তখন সংশ্লিষ্ট প্রতিক্রিয়াতেShipmentRoute.Visitএinjected_solution_location_tokenক্ষেত্র সেট করা আছে। এর মূল্যের সুনির্দিষ্ট অর্থ হল একটি বাস্তবায়নের বিশদ, তবে এটি সমাধানকারী দ্বারা বাছাই করা রাস্তার পাশের তথ্য এনকোড করে। - আপনি যখন একটি
ShipmentRoute.Visitব্যবহার করেন ইনপুট অনুরোধের অংশ হিসাবে, যদি সেইShipmentRoute.VisitএকটিVisitRequestএর সাথে মিলে যায় যেখানেavoid_u_turns = true, তাহলেShipmentRoute.Visitঅবশ্যই একটিinjected_solution_location_tokenথাকতে হবে যা সমাধানকারী দ্বারা পূর্বে ফেরত দেওয়া হয়েছিল৷
সীমাবদ্ধতা
ইউ-টার্ন এড়ানো সর্বোত্তম প্রচেষ্টা। কিছু পরিস্থিতিতে, রুটে এখনও ইউ-টার্ন থাকতে পারে:
-
avoid_u_turnsশুধুমাত্র ট্রাভেল মোডের সাথে কাজ করে যাside_of_roadসমর্থন করে। বিশেষ করে, এটিWALKINGট্রাভেল মোডের জন্য সমর্থিত নয়। -
avoid_u_turnsপিকআপ এবং ডেলিভারির জন্য ব্যবহার করা যাবে না যেখানে আগমন এবং প্রস্থান একই নয়। - যখন একটি পিকআপ বা ডেলিভারি একটি ডেড-এন্ড রাস্তায় থাকে, তখন রাস্তা ছেড়ে যাওয়ার জন্য একটি ইউ-টার্ন করা প্রয়োজন।
- এই বৈশিষ্ট্যটির উদ্দেশ্য হল পিকআপ এবং ডেলিভারি অবস্থানে ইউ-টার্ন এড়ানো। ওয়েপয়েন্টের মধ্যে ইউ-টার্ন এড়ানো হয় না।
- একটি ভিন্ন রাস্তায় খুব তীক্ষ্ণ বাঁকগুলিকে ইউ-টার্ন হিসাবে বিবেচনা করা হয় না এবং সেগুলি সাধারণত এড়ানো যায় না।
এই বৈশিষ্ট্যটি বিকাশের অধীনে থাকাকালীন অতিরিক্ত সীমাবদ্ধতা রয়েছে৷ আমরা আশা করি যে বৈশিষ্ট্যটি বিকশিত হওয়ার সাথে সাথে সেগুলি তুলে নেওয়া হবে৷
-
avoid_u_turnsinterpret_injected_solutions_using_labelsএর সাথে একসাথে ব্যবহার করা যাবে না।