Яндекс карта: маршрутизация с временными окнами (API 2.1 Yandex), 2025 оффлайн расчет расстояние точек

19.01.25

Интеграция - WEB-интеграция

Данная статья описывает функционал и архитектуру внешней обработки, предназначенной для автоматизированного формирования оптимальных маршрутов доставки. Обработка позволяет пользователю вручную задавать точки доставки с учетом их географических координат, временных окон работы и перерывов на обед. Реализовано три режима построения маршрута: на основе линейного расстояния, времени в пути без учета дорожной сети и с использованием API Яндекс.Карт

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Яндекс карта маршрутизация с временными окнами (API 2.1 Yandex):
.epf 15,71Kb
13
13 Скачать (2 SM) Купить за 2 150 руб.

Обработка предоставляет следующие основные функциональные возможности:

  • Ручной ввод точек доставки: Пользователь может вводить адреса, географические координаты (широту и долготу), а также временные окна работы (время начала и окончания работы) и перерывы на обед (время начала и окончания обеда) для каждой точки доставки.
  • Выбор начальной точки маршрута: Пользователь определяет начальную точку маршрута с помощью галочки "Это первая точка".
  • Три режима построения маршрута:
    • “Построить маршрут по времени”: Данный режим строит маршрут, минимизируя общее время перемещения между точками. Для расчета времени используется линейное расстояние между точками и скорость перемещения, заданная в настройках. Расчет расстояний производится оффлайн, однако визуализация маршрута и отображение точек на карте осуществляется с использованием Яндекс.Карт.
    • “Построить маршрут по расстоянию”: Данный режим строит маршрут, минимизируя общее линейное расстояние между точками, без учета временных ограничений и дорожной сети. Расчет расстояний производится оффлайн, однако визуализация маршрута и отображение точек на карте осуществляется с использованием Яндекс.Карт.
    • “Построить маршрут по Яндекс.Картам”: Данный режим строит маршрут с учетом реальной дорожной сети и времени в пути, используя API Яндекс.Карт. При этом учитываются временные окна работы и обеденные перерывы точек доставки. 

Процесс формирования маршрута состоит из следующих этапов:

  1. Инициализация: Пользователь открывает внешнюю обработку и указывает дату начала отправки, также нужно указать ваш токен яндекса, скорость транспорта (для расчета, не по яндексу), широту и долготу города отправки.
  2. Ввод данных: Пользователь добавляет точки доставки, выбирая начальную точку, указывая для каждой из них адрес, географические координаты и, при необходимости, временные окна работы и перерывы на обед.
  3. Выбор режима маршрутизации: Пользователь выбирает один из трех доступных режимов построения маршрута.
    Дополнительно: Формирование по яндексу довольно долгое (30 точек -+ 9 минут), т.к. ставил ограничение на количество отправок по api
     

    В ходе формирования маршрута могут возникнуть следующие виды ошибок:

    Не успевает по времени: Ошибка возникает, когда расчетное время прибытия в точку доставки выходит за пределы установленного временного окна работы этой точки. Это означает, что посещение данной точки в рамках заданного маршрута невозможно.

Адрес не найден в яндексе: Данная ошибка свидетельствует о невозможности геокодирования введенного адреса с использованием API Яндекс.Карт. Это может быть вызвано некорректным форматом координат, наличием опечаток или отсутствием адреса в базе данных сервиса.

Не заполнены широта и долгота: Ошибка фиксируется, если в данных точки доставки отсутствуют значения широты и/или долготы. Это препятствует расчету расстояния до точки и ее включению в маршрут.

При обнаружении ошибки соответствующая информация добавляется в специальную таблицу ошибок.


Данная обработка маршрутизации позволяет пользователю формировать маршруты, проходящие через несколько городов. Это означает, что точки доставки могут быть расположены в различных населенных пунктах, и система способна учитывать эту особенность при построении оптимального маршрута. Тестирование показало, что маршрут успешно строится через как минимум два города.

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 11, релизы 11.5.20.46

Карта Яндекс Яндекс карта маршрутизация Построение маршрута Маршрут API Яндекс API

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL, 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2174    2    0    

9

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С. Бесплатный период Техподдержки - 1 месяц.

60000 руб.

07.05.2019    34195    64    45    

24

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    1901    1    1    

4

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    3412    3    2    

4

WEB-интеграция Программист Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    18534    53    50    

29

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    18790    20    22    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Светлый ум 454 10.01.25 05:28 Сейчас в теме
Как обошли ограничение в 20+ у Яндекса?
3. Avier 6 12.01.25 08:02 Сейчас в теме
(1) Здравствуйте, основные сложности возникли из-за некорректного указания параметров для точек маршрута. Кроме того, метод построения маршрута вызывался синхронно, что приводило к сбоям. Дополнительно, при использовании функции ограничения области поиска точек, метод часто завершался с ошибкой, что усложняло процесс построения. Хотя в документации об этом не было сказано. Из-за этого и была ошибка при построении более 20 точек маршрута у яндекса.
2. Tarlich 118 11.01.25 11:52 Сейчас в теме
подскажите как получить расстояние маршрута ?
4. Avier 6 12.01.25 08:12 Сейчас в теме
(2) Здравствуйте, расстояние от основной точки можно получить с помощью первых двух кнопок. Оно рассчитывается на основе формулы для нахождения расстояния между двумя точками на сфере, без учета дорожной инфраструктуры.
Формула : РадиусЗ*ATAN(Sqrt(Pow(COS(Пи*Ширина2/180)*SIN(ABS(Пи*Долгота2/180-Пи*Долгота1/180)),2)+Pow(COS(Пи*Ширина1/180)*SIN(Пи*Ширина2/180)-SIN(Пи*Ширина1/180)*COS(Пи*Ширина2/180)*COS(ABS(Пи*Долгота2/180-Пи*Долгота1/180)),2))/(SIN(Пи*Ширина1/180)*SIN(Пи*Ширина2/180)+COS(Пи*Ширина1/180)*COS(Пи*Ширина2/180)*COS(ABS(Пи*Долгота2/180-Пи*Долгота1/180))))
Прикрепленные файлы:
Светлый ум; +1 Ответить
Оставьте свое сообщение