ডিফল্টরূপে, যানবাহনগুলি যে কোনও দিক থেকে পিকআপ বা ডেলিভারি লোকেশনে পৌঁছাতে পারে এবং তারপরে যে কোনও দিক থেকে চলে যেতে পারে। কিছু ক্ষেত্রে, এটি গাড়িটিকে ভিজিট লোকেশনে ইউ-টার্ন নিতে বাধ্য করে, যা গাড়ির আকার, অবস্থানে ট্র্যাফিক লক্ষণ বা স্বাভাবিক ট্রাফিক অবস্থার কারণে কঠিন বা অসম্ভব হতে পারে।
প্রদত্ত পিকআপ বা ডেলিভারি অবস্থানের জন্য আগমন এবং প্রস্থানের মধ্যে দিক পরিবর্তন থেকে যানবাহনগুলিকে প্রতিরোধ করতে, আপনি এই অবস্থানের জন্য 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_turns
side_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_turns
interpret_injected_solutions_using_labels
এর সাথে একসাথে ব্যবহার করা যাবে না।