Hindari putar balik

Penghindaran putar balik 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 pengantaran tertentu dalam suatu kunjungan. Dengan menyetel penghindaran putar balik, Anda menentukan bahwa kendaraan harus menghadap ke arah yang sama saat tiba dan saat meninggalkan lokasi kunjungan.

Penghindaran belokan U 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 saat kendaraan tiba dan berangkat tanpa berbelok di lokasi kunjungan. Pengemudi mungkin perlu menyeberang jalan untuk mencapai lokasi ini.

Properti ini ideal untuk situasi ketika berbelok U 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 array pickups dan deliveries dari pengiriman.

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

Contoh

Bagian ini mencakup dua jenis contoh:

  • Contoh kode yang mengilustrasikan struktur penghindaran belokan U.
  • Contoh permintaan yang menyertakan fitur.

Contoh kode

Contoh berikut menunjukkan strukturavoidUTurns dalam pengambilan 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 belokan U. Permintaan ini mencakup elemen berikut:

  • Pengiriman dengan pengambilan dan pengiriman di dalam objek model.
  • Properti avoidUTurns disetel ke true di lokasi pengambilan dan pengantaran 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 tidak perlu berputar arah.

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

Properti sideOfRoad ditentukan dalam objek Waypoint.

Interaksi dengan fitur lain

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

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

Batasan

Penghindaran putar balik adalah fitur upaya terbaik. API mungkin masih menyertakan belokan U dalam rute yang dibuat dalam kondisi berikut:

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