اجتناب از دور چرخش

قابلیت اجتناب از چرخش U شکل در شی‌های `ShipmentModel.Shipment` در اشیاء تحویل و برداشت وجود دارد.

قابلیت اجتناب از چرخش U شکل، یک ویژگی بهینه‌سازی مسیر است که از دور زدن وسایل نقلیه در محل تحویل یا تحویل بار در یک بازدید جلوگیری می‌کند. با تنظیم قابلیت اجتناب از چرخش U شکل، شما مشخص می‌کنید که وسیله نقلیه هنگام ورود و خروج از یک محل بازدید، باید رو به یک جهت باشد.

اجتناب از چرخش U شکل به روش زیر عمل می‌کند:

  1. شما ویژگی اجتناب از چرخش u شکل را برای یک بازدید خاص تنظیم می‌کنید.
  2. این API در جاده‌های دوطرفه، هر دو جهت حرکت را در نظر می‌گیرد و بهینه‌ترین مسیر را انتخاب می‌کند.
  3. این API مسیری را ایجاد می‌کند که در آن وسیله نقلیه بدون نیاز به دور زدن به محل مورد نظر می‌رسد و آن را ترک می‌کند. راننده ممکن است برای رسیدن به این مکان نیاز به عبور از جاده داشته باشد.

این ملک برای موقعیت‌هایی که دور زدن به دلیل اندازه وسیله نقلیه، علائم راهنمایی و رانندگی یا شرایط معمول ترافیک دشوار یا غیرممکن است، ایده‌آل است.

خواص

ویژگی اجتناب از چرخش (u-turn avoidance) در شیء VisitRequest تعریف شده است. این شیء در آرایه‌های pickups و deliveries یک محموله استفاده می‌شود.

ملک نوع توضیحات
avoidUTurns بولی وقتی روی true تنظیم شود، API از چرخش کامل وسیله نقلیه در این محل بازدید جلوگیری می‌کند. وسیله نقلیه در یک جهت وارد و خارج می‌شود.

مثال‌ها

این بخش شامل دو نوع مثال است:

  • نمونه‌های کدی که ساختار اجتناب از دور زدن را نشان می‌دهند.
  • یک نمونه درخواست که شامل ویژگی مورد نظر است.

نمونه‌های کد

مثال زیر ساختار avoidUTurns را در یک فرآیند برداشت و تحویل نشان می‌دهد:

"pickups":[
  {
    "arrivalLocation": {
      "latitude": 37.42506261000996,
      "longitude": -122.09535511930135
    },
    "avoidUTurns": true
  }
],
"deliveries":[
  {
    "arrivalLocation": {
      "latitude": 37.42421503206021,
      "longitude": -122.09526063135228
    },
    "avoidUTurns": true
  }
]

مثال درخواست

مثال زیر یک درخواست اولیه optimizeTours را نشان می‌دهد که شامل اجتناب از چرخش است. این درخواست شامل عناصر زیر است:

  • یک محموله به همراه یک دریافت و یک تحویل درون شیء model .
  • ویژگی avoidUTurns در هر دو محل تحویل و برداشت، روی true تنظیم شده است تا از تغییر جهت وسیله نقلیه در آن ایستگاه‌ها جلوگیری شود.
  {
    "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
        }
      ]
    }
  }

با استفاده از sideOfRoad از دور زدن اجتناب کنید

اگرچه sideOfRoad یک ویژگی جداگانه است، اما ارتباط نزدیکی با اجتناب از دور زدن دارد زیرا با هدایت وسیله نقلیه به سمت جاده‌ای که به مقصد نزدیک‌تر است، از بسیاری از دور زدن‌ها جلوگیری می‌کند. این امر وسیله نقلیه را مجبور می‌کند تا از یک جهت خاص به محل بازدید نزدیک شود که نیاز به دور زدن را از بین می‌برد.

در عمل، وقتی عبور پیاده از جاده برای رسیدن به محل بازدید ایمن است، باید از اجتناب از دور زدن استفاده کنید. اگر عبور از جاده توصیه نمی‌شود یا امکان‌پذیر نیست، به جای آن، تنظیم sideOfRoad را روی true در نظر بگیرید.

ویژگی sideOfRoad درون یک شیء Waypoint تعریف می‌شود.

تعامل با سایر ویژگی‌ها

اجتناب از دور زدن به روش‌های زیر با سایر ویژگی‌های مسیریابی تعامل دارد:

  • کنار جاده: تنظیم هر دو avoidUTurns و sideOfRoad روی true شانس اجتناب از دور زدن را هنگام هدایت وسیله نقلیه به سمتی از جاده که به محل بازدید نزدیک‌تر است، کمی افزایش می‌دهد. با این حال، انجام این کار پیچیدگی‌های بیشتری را در رابطه با محدودیت‌های اجتناب از دور زدن ایجاد می‌کند. برای اکثر مکان‌های بازدید، تنظیم تنها یکی از این ویژگی‌ها برای اجتناب از دور زدن کافی است.
  • راه‌حل‌های تزریق‌شده: وقتی از اجتناب از چرخش u-turn استفاده می‌کنید، پاسخ API شامل یک injectedSolutionLocationToken در داخل ShipmentRoute.Visit تولید شده است تا ثبت کند که کدام طرف جاده انتخاب شده است. اگر در درخواست‌های آینده از این بازدید به عنوان یک راه‌حل تزریق‌شده دوباره استفاده کنید، باید این توکن را به API برگردانید.

محدودیت‌ها

اجتناب از دور زدن یک ویژگی مبتنی بر بهترین تلاش است. API ممکن است همچنان دور زدن‌ها را در یک مسیر تولید شده تحت شرایط زیر لحاظ کند:

  • حالت سفر روی حالتی غیر از DRIVING تنظیم شده است.
  • مکان‌های ورود و خروج برای یک مکان بازدید خاص متفاوت هستند. در این حالت، API خطا برمی‌گرداند.
  • این بازدید در یک جاده بن‌بست واقع شده است که برای خروج نیاز به دور زدن دارد.
  • دور زدن در طول مسیر اتفاق می‌افتد، نه در محل بازدید واقعی.
  • این مانور، یک پیچ بسیار تند به جاده‌ای متفاوت است که API آن را به عنوان دوربرگردان طبقه‌بندی نمی‌کند.