Учет геозон
Геозоны можно создавать в интерфейсе и затем использовать при планировании через Excel или API. Также геозоны можно задавать непосредственно в запросе API.
Игнорирование зон
Включение опции options.ignore_zones
позволяет отменить все ограничения, связанные с геозонами. Подробнее см. Геозоны и Несовместимые зоны.
"options": {
"ignore_zones": true
}
При планировании через Excel опция ignore_zones
задается в интерфейсе Планирования на вкладке Настройки → Учитывать зоны. Значению поля ignore_zones
= true
соответствует нажатая кнопка Нет.
Несовместимые зоны
При планировании может потребоваться распределить заказы по разным рейсам:
-
Из-за особенностей дорог. Например, заказы, находящиеся на разных берегах реки или по разным сторонам железной дороги, лучше не выполнять в одном рейсе, чтобы сократить использование мостов и переездов.
-
Из-за особенностей тарификации. Например, чтобы разделить заказы по направлениям.
В таких случаях можно использовать геозоны и указывать их несовместимость на листе Options в поле incompatible_zones.N
, где N — номер набора несовместимых зон (наборов может быть несколько, нумерация начинается с 0).
Заказы, относящиеся к несовместимым геозонам, не могут выполняться в одном рейсе. При планировании заказы разделяются по разным рейсам, если у них есть по крайней мере одна несовместимая зона.
"options": {
"incompatible_zones": [
[
"zone2",
"zone3"
]
]
}
Несовместимые зоны можно также задавать для отдельных курьеров.
Пример 1
В примере заданы несовместимые геозоны zone1
и zone2
, заказы в которых нельзя выполнять в одном рейсе. При этом заказ 2 находится внутри zone1
, заказ 4 внутри zone2
. Все заказы обслуживает один автомобиль.
В результате автомобиль выполняет два рейса.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
Те же условия, что в примере 1, но в интерфейсе при планировании включено Настройки → Учитывать зоны → Нет.
В результате автомобиль выполняет все заказы за один рейс.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Исключенные зоны
Компания может запретить курьерам проезжать через определенные геозоны. Это могут быть, например, дороги с высокой аварийностью в горной местности, опасные мосты, переправы и т. п. Такие зоны можно определить в интерфейсе или через API и при планировании перечислить их названия через запятую на листе Options в поле avoid_zones
.
Различие между запрещенными и исключенными зонами
Геозоны, в которых курьерам запрещено выполнять заказы, указываются на листе Vehicles в поле forbidden_zones
, см. Определение геозон. Но проезжать через эти зоны курьеры могут. Зоны, перечисленные на листе Options в поле avoid_zones
, запрещены даже для проезда курьеров.
Для определения исключенных зон через интерфейс или API можно использовать в сумме не больше 300 точек. Чтобы соблюсти лимит, рекомендуется:
-
задавать геозоны в форме треугольника;
-
выделять не всю зону, а только контрольно-пропускные пункты и въезды.
Например, чтобы запретить движение по мосту, не нужно выделять территорию всего моста. Достаточно добавить геозону треугольной формы на въезд.
Скриншот
Важно
Рекомендуем проектировать исключенные зоны так, чтобы они пересекали как можно меньше дорог. При подсчете сервис учитывает суммарное количество дорог, попадающих в зоны из avoid_zones
, а также пересечения с платными дорогами при включенном объезде платных участков.
В случае превышения технического лимита пересечений маршруты не построятся.
Пример 1
Курьер выполняет 10 заказов за 2 смены. Его маршрут пересекает мост Лужники. В файле планирования на листе Options в поле avoid_zones
исключенные зоны не указаны.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
Те же условия, что в примере 1, но в файле планирования на листе Options в поле avoid_zones
указана исключенная зона Bridge
. На карте она обозначена с помощью трех точек. В интерфейсе планирования включена опция Учитывать геозоны.
В результате маршрут курьера строится так, чтобы избежать зоны Bridge
.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Распределение проблемных заказов
Если нельзя проложить маршрут к заказу по дорогам, не проезжая через исключенные геозоны, по умолчанию заказ все равно будет включен в запланированный маршрут, но путь к нему будет проложен «по воздуху». Длина отрезка маршрута будет считаться равной пятикратному расстоянию до точки заказа по воздуху. Чтобы избежать такого планирования, укажите опцию haversine_fallback
равной false
(по умолчанию true
). В этом случае такие заказы будут попадать в нераспределенные.
Пример 1
Курьер выполняет 5 заказов. Заказ 5 нужно доставить на остров. Маршрут проложен через мост. Длина маршрута составила 46,08 км. Длина пути до Заказа 5 — 5,78 км, путь к заказу проложен по мосту, это видно в режиме «по дорогам».
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 2
То же, что в примере 1, но все мосты до острова определены как исключенные зоны. По умолчанию haversine_fallback
равен true
, и путь к Заказу 5 проложен «по воздуху». Длина маршрута составила 57,64 км, длина пути до Заказа 5 — 10,35 км.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте
Пример 3
То же, что в примере 2, но параметр haversine_fallback
равен false
. Заказ 5 стал нераспределенным.
Пример Excel ⋅ Запрос API (JSON) ⋅ Ответ API ⋅ Открыть на карте