Toll Cost

Платные дороги (toll roads) в маршрутизации представляют собой отдельный слой транспортной модели, в котором учитываются дополнительные издержки проезда по отдельным участкам дорожной сети. В экосистеме HERE Technologies расчёт стоимости платных дорог встроен в Routing API и доступен через JavaScript SDK HERE Maps API for JavaScript, где параметризация маршрута позволяет учитывать как наличие toll-участков, так и их денежную стоимость, влияние на время и альтернативные маршруты без платных участков.

В основе расчёта Toll Cost лежит граф дорожной сети, в котором каждый ребро (road segment) может содержать атрибуты:

  • наличие платы за проезд (toll flag)
  • стоимость проезда (monetary cost)
  • тип оплаты (фиксированная, дистанционная, по классу ТС)
  • валюта тарифа
  • ограничения по транспортным средствам

Каждый маршрут формируется как комбинация сегментов, и итоговая стоимость вычисляется суммированием всех toll-участков, включённых в путь.

Ключевая особенность модели заключается в том, что стоимость не является самостоятельным маршрутизирующим фактором по умолчанию, а включается через routing-параметры.

TollCost в Routing API

В Routing API v8 (используемом через JS SDK) поддерживаются следующие аспекты учёта платных дорог:

  • включение/исключение toll-участков
  • расчёт стоимости маршрута с детализацией по сегментам
  • сравнение альтернативных маршрутов с различными политиками оплаты
  • фильтрация маршрутов по допустимой стоимости

В запросах используется параметр tolls или профиль маршрута, где задаётся политика обработки платных дорог.

Пример логики конфигурации:

  • tolls: allowed — разрешены платные дороги
  • tolls: notAllowed — исключение всех toll-участков
  • tolls: optimal — баланс между временем и стоимостью

Параметры маршрутизации в JavaScript SDK

В HERE Maps API for JavaScript работа с toll cost обычно выполняется через H.service.RoutingService или модуль маршрутизации нового поколения.

Основные параметры запроса:

  • origin — начальная точка маршрута
  • destination — конечная точка
  • transportMode — тип транспорта (car, truck и др.)
  • routingMode — быстрый или экономичный маршрут
  • costOptions — параметры стоимости, включая tolls

В расширенной конфигурации учитываются:

  • vehicleType
  • axleCount
  • trailers
  • emissionClass

Эти параметры влияют на итоговую toll стоимость, так как в разных странах тарифы зависят от характеристик транспортного средства.

Пример расчёта маршрута с учётом Toll Cost

В JavaScript SDK запрос маршрута с учётом платных дорог формируется через сервис маршрутизации:

const routingService = platform.getRoutingService(null, 8);

const routingParameters = {
  routingMode: "fast",
  transportMode: "car",
  origin: "52.5160,13.3779",
  destination: "48.8566,2.3522",
  return: "summary,polyline,tolls",
  units: "metric",
  spans: "tollSystem"
};

Включение tolls в параметре return позволяет получить подробную информацию о каждом платном участке маршрута.

Структура ответа Toll Cost

Ответ Routing API содержит структурированный блок tolls, включающий:

  • список toll-систем
  • стоимость по каждой системе
  • валюту расчёта
  • описание участка дороги
  • идентификаторы toll-гейтов

Пример логической структуры:

  • tollSystems[]

    • name
    • countryCode
    • tollPrice
    • currency
    • paymentMethods

Дополнительно может присутствовать агрегация:

  • общая стоимость маршрута
  • стоимость по сегментам
  • альтернативные расчёты при изменении параметров ТС

Учёт классов транспортных средств

Toll Cost напрямую зависит от классификации транспортного средства. В Routing API учитываются следующие параметры:

  • легковой автомобиль
  • грузовой автомобиль
  • автобус
  • транспорт с прицепом

Для грузового транспорта критическими параметрами являются:

  • число осей
  • масса
  • экологический класс
  • наличие прицепа

Изменение любого параметра может привести к перерасчёту toll стоимости, так как тарифные сетки часто нелинейны.

Альтернативные маршруты и оптимизация стоимости

Routing API может возвращать несколько альтернативных маршрутов, где каждый вариант отличается:

  • суммарной стоимостью toll
  • временем в пути
  • длиной маршрута
  • количеством платных участков

Алгоритм оптимизации использует многокритериальный анализ:

  • минимизация времени
  • минимизация стоимости
  • компромиссный режим (balanced)

При включении toll cost оптимизации система может предпочесть более длинный маршрут без платных участков, если суммарная стоимость оказывается ниже.

Детализация платных участков

Каждый toll-сегмент маршрута содержит:

  • координаты начала и конца участка
  • идентификатор дорожной системы
  • стоимость проезда
  • тип тарификации (фиксированная или динамическая)

Такая детализация используется для:

  • построения интерфейсов расчёта стоимости поездки
  • логистических систем
  • систем предварительного расчёта бюджета маршрута

Интеграция с визуализацией маршрута

В HERE Maps API for JavaScript результаты toll cost часто отображаются на карте с разделением:

  • платные участки выделяются отдельным стилем
  • отображается tooltip с суммой тарифа
  • сегменты маршрута окрашиваются в зависимости от стоимости

Это позволяет визуально оценивать влияние toll-сегментов на маршрут без дополнительной обработки данных.

Кэширование и производительность расчётов

При работе с toll cost важно учитывать:

  • маршруты с toll анализом вычисляются дольше
  • результаты зависят от текущих тарифов
  • кэширование допустимо только при неизменных параметрах ТС

Оптимизация включает:

  • повторное использование маршрутов без изменения профиля
  • группировку запросов при массовой маршрутизации
  • ограничение количества альтернативных маршрутов

Ограничения модели Toll Cost

Система расчёта имеет ряд ограничений:

  • не все страны предоставляют детальную тарифную структуру
  • некоторые toll-системы возвращают агрегированную стоимость без сегментации
  • динамические тарифы (например, в зависимости от времени суток) могут быть усреднены

Несмотря на это, модель остаётся достаточно точной для логистических и навигационных задач корпоративного уровня.

Поведение при отсутствии данных о стоимости

Если информация о стоимости отсутствует:

  • сегмент помечается как toll без стоимости
  • маршрут может быть включён в расчёт, но без точной суммы
  • итоговая стоимость становится частично неопределённой

В таких случаях система может возвращать диапазон стоимости или альтернативные оценки на основе региональных правил тарификации.