Hindari putar balik

Penghindaran berbelok U terdapat di `ShipmentModel.Shipment` dalam objek pengambilan dan pengiriman.

Penghindaran putar balik adalah fitur pengoptimalan rute yang mencegah kendaraan berputar balik di lokasi penjemputan atau pengiriman tertentu dari kunjungan. Dengan menetapkan penghindaran putar balik, Anda menentukan bahwa kendaraan harus menghadap ke arah yang sama saat tiba dan saat meninggalkan lokasi kunjungan.

Penghindaran putar balik berfungsi dengan cara berikut:

  1. Anda menetapkan properti penghindaran putar balik pada kunjungan tertentu.
  2. API mempertimbangkan kedua arah perjalanan di jalan dua arah dan memilih jalur yang paling optimal.
  3. API membuat rute tempat kendaraan tiba dan berangkat tanpa melakukan putar balik di lokasi kunjungan. Pengemudi mungkin perlu menyeberang jalan untuk mencapai lokasi ini.

Properti ini ideal untuk situasi ketika putar balik sulit atau tidak mungkin dilakukan karena ukuran kendaraan, rambu lalu lintas, atau kondisi lalu lintas yang biasa.

Properti

Properti penghindaran putar balik ditentukan dalam objek VisitRequest. Objek ini digunakan di dalam pickups dan deliveries array dari a pengiriman.

Properti Jenis Deskripsi
avoidUTurns boolean Jika ditetapkan ke true, API akan mencegah kendaraan melakukan putar balik di lokasi kunjungan ini. Kendaraan akan tiba dan berangkat menghadap ke arah yang sama.

Contoh

Bagian ini mencakup dua jenis contoh:

  • Contoh kode yang menggambarkan struktur penghindaran putar balik.
  • Contoh permintaan yang menyertakan fitur ini.

Contoh kode

Contoh berikut menunjukkan struktur avoidUTurns dalam penjemputan dan pengiriman:

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

Contoh permintaan

Contoh berikut menunjukkan permintaan optimizeTours dasar yang menggabungkan penghindaran putar balik. Permintaan ini mencakup elemen berikut:

  • Pengiriman dengan penjemputan dan pengiriman di dalam objek model.
  • Properti avoidUTurns ditetapkan ke true di lokasi penjemputan dan pengiriman untuk mencegah kendaraan mengubah arah di perhentian tersebut.
  {
    "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
        }
      ]
    }
  }

Menghindari putar balik dengan sideOfRoad

Meskipun sideOfRoad adalah fitur terpisah, fitur ini terkait erat dengan penghindaran putar balik karena mencegah banyak putar balik dengan mengarahkan kendaraan ke sisi jalan yang paling dekat dengan tujuan. Hal ini memaksa kendaraan untuk mendekati lokasi kunjungan dari arah tertentu, sehingga menghilangkan kebutuhan untuk melakukan putar balik.

Dalam praktiknya, Anda harus menggunakan penghindaran putar balik jika aman untuk menyeberang jalan dengan berjalan kaki untuk mencapai lokasi kunjungan. Jika menyeberang jalan tidak disarankan atau tidak memungkinkan, pertimbangkan untuk menetapkan sideOfRoad ke true sebagai gantinya.

Properti sideOfRoad ditentukan dalam objek Waypoint.

Interaksi dengan fitur lain

Penghindaran putar balik berinteraksi dengan fitur perutean lainnya dengan cara berikut:

  • Sisi jalan: Menetapkan avoidUTurns dan sideOfRoad ke true akan sedikit meningkatkan peluang untuk menghindari putar balik saat merutekan kendaraan ke sisi jalan yang paling dekat dengan lokasi kunjungan. Namun, tindakan ini akan menimbulkan kompleksitas tambahan terkait batasan penghindaran putar balik. Untuk sebagian besar lokasi kunjungan, menetapkan salah satu properti ini sudah cukup untuk menghindari putar balik.
  • Solusi yang disisipkan: Saat Anda menggunakan penghindaran putar balik, respons API akan menyertakan injectedSolutionLocationToken di dalam ShipmentRoute.Visit yang dibuat untuk mencatat sisi jalan yang dipilih. Jika Anda menggunakan kembali kunjungan ini sebagai solusi yang disisipkan dalam permintaan mendatang, Anda harus meneruskan token ini kembali ke API.

Batasan

Penghindaran putar balik adalah fitur yang diupayakan. API mungkin masih menyertakan putar balik dalam rute yang dibuat dalam kondisi berikut:

  • Mode perjalanan ditetapkan ke mode selain DRIVING.
  • Lokasi kedatangan dan keberangkatan untuk lokasi kunjungan tertentu berbeda. Dalam hal ini, API akan menampilkan error.
  • Kunjungan terletak di jalan buntu, sehingga memerlukan putar balik untuk keluar.
  • Putar balik terjadi di sepanjang rute, bukan di lokasi kunjungan sebenarnya.
  • Manuver ini adalah belokan yang sangat tajam ke jalan lain, yang tidak diklasifikasikan oleh API sebagai putar balik.