Выходные данные инструмента Расчет задачи выбора маршрута транспорта

Инструмент геообработки Расчет задачи выбора маршрута транспорта создает следующую таблицу и классы пространственных объектов в качестве выходных данных: Stops, UnassignedStops, Routes и Directions. В следующих подразделах приведено описание выходных таблиц и классов пространственных объектов и соответствующих им полей атрибутов.

Класс пространственных объектов Routes

Класс линейных объектов Routes представляет водителей, транспортные средства и маршруты транспортных средств для задачи выбора маршрута. По умолчанию, имя класса выходных объектов – Routes, но вы можете дать другое имя, изменив параметр Имя выходных маршрутов (output_routes_name в Python) перед расчетом.

ArcGIS присваивает классу пространственных объектов Routes ту же систему координат, которую использует лежащий ниже набор сетевых данных. Это может управляться путем ввода значения среды геообработки Выходная система координат.

Имена полей класса пространственных объектов Routes и их описание приведено ниже.

Имя поляОписание

ObjectID

Управляемое системой поле ID.

Name

Название маршрута.

Shape

Поле геометрии, показывающее форму маршрута.

Используйте параметр Заполнить линии маршрута (populate_route_lines в Python), чтобы определить необходимость заполнения данного поля.

Класс пространственных объектов Routes всегда создается и заполняется данным во время выполнения инструмента Расчет задачи выбора маршрута транспорта. При этом параметр Заполнить линии маршрута parameter (populate_route_lines в Python) позволяет вам выбирать необходимость создания и записи значений поля Shape для линейных объектов. Если вы решите не заполнять значения поля Shape, то это увеличит скорость расчета и снизит объем обмена данными между сервером и клиентом; при этом пользователям зачастую требуется отобразить маршруты на карте, что требует заполнения поля Shape.

ViolatedConstraints

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

Более подробно:

Кодированные значения, представляющие текстовое описание, приведены в списке ниже, в скобках. Обратите внимание, что кодированные значения являются частью геометрической последовательности, которая увеличивается путем удвоения последнего значения. Это позволяет кодировать различные комбинации нарушений. Например, комбинация Превышение емкостей (2) и Жесткая зона маршрута (128) кодируется как 130 (2 +128).

  • Превышено значение MaxOrderCount (1) – Предварительно назначенные заказы не могут быть назначены этому маршруту, так как назначение заказов превысит максимальное количество заказов, которое может быть назначено маршруту, как указано в значении поля MaxOrderCount маршрута.
  • Превышено значение Capacities (2) – Предварительно назначенные заказы нельзя назначить этому маршруту, поскольку это привело бы к превышению общей емкости маршрута, заданной значением поля Capacities этого маршрута.
  • Превышено значение MaxTotalTime (4) – Время в пути от начальной станции до конечной плюс время обслуживания и ожидания на обеих станциях и всех перерывов превышает общее время маршрута, заданное значением поля MaxTotalTime для этого маршрута.
  • Превышено значение MaxTotalTravelTime (8) – Время в пути от начальной станции до конечной превышает общее время в пути, заданное значением поля MaxTotalTravelTime для этого маршрута.
  • Превышено значение MaxTotalDistance (16) – Расстояние пути от начальной станции до конечной превышает общее расстояние пути для маршрута, заданное значением поля MaxTotalDistance этого маршрута.
  • Жесткое временное окно (32) – имеется нарушение жесткого временного окна на начальной станции, на конечной станции или в перерыве, связанном с маршрутом.
  • Несоответствие специальному требованию (64) – специальные требования заказа не соблюдаются в целевом маршруте.
  • Жесткая зона маршрута (128) – заказ, предварительно назначенный маршруту, не попадает в пределы жесткой зоны маршрута.
  • Превышено значение MaxTransitTime пары заказов (256) – Имеется предварительно назначенная маршруту пара заказов, и назначение этих заказов в паре заказов приведет к превышению максимального времени в пути, заданного значением поля MaxTransitTime этой пары заказов.
  • Нарушение пары заказов (512) – заказ принадлежит к паре заказов и не может быть назначен предварительно назначенному маршруту.
  • Недостижимо (1024) – предварительно назначенный заказ расположен в элементе сети, который недостижим данным маршрутом.
  • Невозможно вставить необходимый перерыв (2048) – перерыв на маршруте имеет пустое значение последовательности (null) при наличии предварительно назначенных заказов, и его нельзя вставить нигде, не вызвав других нарушений.
  • Невозможно вставить необходимое обновление (4096) – емкость маршрута превышена, и необходимо посетить обновление маршрута; однако связанное обновление маршрута имеет пустое значение последовательности (null) при наличии предварительно назначенных заказов, и его нельзя вставить нигде, не вызвав других нарушений.
  • Превышено значение MaxTravelTimeBetweenBreaks (8192) – Механизму расчета не удалось вставить перерыв в пределах времени, заданного полем MaxTravelTimeBetweenBreaks для перерыва. Причина зачастую в таком предварительном назначении последовательности для перерыва, что он становится недостижимым в пределах максимального времени в пути.

  • Превышено значение Break MaxCumulWorkTime (16384) – Механизму расчета не удалось вставить перерыв в пределах времени, заданного полем MaxCumulWorkTime для перерыва. Причина зачастую заключается в таком предварительном назначении последовательности перерыву, что он становится недостижимым в пределах максимального времени работы.
  • Нарушение времени заказа InboundArriveTime или OutboundDepartTime (32768) – заказ не может быть выполнен в пределах входящего времени прибытия или выходного времени отъезда. Это нарушение происходит, когда все значения в поле LatestStartTime маршрута ниже значений InboundArriveTime, либо ни один из этих маршрутов не может достичь станции ранее значения OutboundDepartTime этого заказа.
  • Невозможно установить первый/последний якорь (65536) – Этот порядок имеет правило присвоения Первый якорь и Последний якорь, но механизм расчета не смог удовлетворить этому ограничению. Это нарушение происходит, когда число заказов Первого якоря или число заказов Последнего якоря больше, чем число доступных маршрутов.

  • ViolatedConstraint_1
  • ViolatedConstraint_2
  • ViolatedConstraint_3
  • ViolatedConstraint_4

Отображает отдельное нарушенное ограничение для каждого поля. Описания нарушений можно увидеть в ViolationConstraints.

  • Превышено значение MaxOrderCount (0) - Нельзя назначить маршруту уже назначенные заказы, поскольку это приведет к превышению максимального количества заказов, которое может быть назначено маршруту, как определено значением поля MaxOrderCount маршрута.
  • Превышена пропускная способность (1) – Уже назначенные заказы нельзя назначить маршруту, поскольку это привело бы к превышению пропускной способности маршрута, заданной значением поля Capacities этого маршрута.
  • Превышено значение MaxTotalTime (2) – Время в пути от начальной станции до конечной плюс время обслуживания и ожидания на обеих станциях, а также перерывов, превышает общее время маршрута, заданное значением поля MaxTotalTime для этого маршрута.
  • Превышено значение MaxTotalTravelTime (3) – Время в пути от начальной станции к конечной превышает общее время в пути для этого маршрута, которое задано значением поля MaxTotalTravelTime для этого маршрута.
  • Превышено значение MaxTotalDistance (4) – Расстояние пути от начальной станции к конечной превышает общее расстояние пути для маршрута, который задан значением поля MaxTotalDistance для этого маршрута.
  • Жесткое временное окно (5) – Нарушено жесткое временное окно на связанной с данным маршрутом начальной станции, конечной станции или на перерыве.
  • Несоответствие специальному требованию (6) – В целевом маршруте не найдены специальные требования заказа.
  • Жесткая зона маршрута (7) – Заказ, предварительно назначенный маршруту, не попадает в пределы жесткой зоны маршрута.
  • Order pair MaxTransitTime exceeded (8) – имеется предварительно назначенная маршруту пара заказов, и при назначении этой пары заказов было бы превышено максимальное время нахождения в пути, указанное значением поля MaxTransitTime этой пары заказов.
  • Нарушение пары заказов (9) – заказ принадлежит к паре заказов и не может быть назначен предварительно назначенному маршруту.
  • Недостижимо (10) – Предварительно назначенный заказ расположен на элементе сети, который не достижим данным маршрутом.
  • Невозможно вставить необходимый перерыв (11) – перерыв на маршруте имеет пустое значение последовательности (null) при наличии предварительно назначенных заказов, и его нельзя вставить нигде, не вызвав других нарушений.
  • Невозможно вставить необходимое обновление (12) – емкость маршрута превышена, и необходимо посетить обновление маршрута; однако связанное обновление маршрута имеет пустое значение последовательности (null) при наличии предварительно назначенных заказов, и его нельзя вставить нигде, не вызвав других нарушений.
  • Превышено значение MaxTravelTimeBetweenBreaks exceeded (13) – Механизму расчета не удалось вставить перерыв в пределах времени, заданного полем MaxTravelTimeBetweenBreaks перерыва. Причина зачастую в таком предварительном назначении последовательности для перерыва, что он становится недостижимым в пределах максимального времени в пути.

  • Break MaxCumulWorkTime exceeded (14) – Механизму расчета не удалось вставить перерыв в пределах времени, заданного полем MaxCumulWorkTime перерыва. Причина зачастую заключается в таком предварительном назначении последовательности перерыву, что он становится недостижимым в пределах максимального времени работы.
  • Нарушение времени заказа InboundArriveTime или OutboundDepartTime (15) – заказ не может быть выполнен в пределах входящего времени прибытия или выходного времени отъезда. Это нарушение происходит, когда все значения в поле LatestStartTime маршрута ниже значений InboundArriveTime, либо ни один из этих маршрутов не может достичь станции ранее значения OutboundDepartTime этого заказа.
  • Невозможно установить первый/последний якорь (16) – У заказа есть правило Первый якорь или Последний якорь, но механизм расчета не смог его выполнить. Это нарушение происходит, когда число заказов Первого якоря или число заказов Последнего якоря больше, чем число доступных маршрутов.

OrderCount

Число заказов, назначенных маршруту.

TotalCost

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

  • FixedCost
  • RegularTimeCost
  • OvertimeCost
  • DistanceCost

RegularTimeCost

Стоимость обычного рабочего времени, за исключением неоплачиваемых перерывов.

OvertimeCost

Стоимость сверхурочной работы, за исключением неоплачиваемых перерывов.

DistanceCost

Компонент стоимости расстояния, получаемый умножением значений полей TotalDistance и CostPerUnitDistance. Это поле имеет нулевое значение, если атрибут расстояния не указан до выполнения расчета.

TotalTime

Общая длительность маршрута. Она включает в себя значения времени в пути, а также времени обслуживания и ожидания на заказах, на станциях и в перерывах. Значение TotalTime является суммой значений следующих полей:

  • StartDepotServiceTime
  • EndDepotServiceTime
  • TotalOrderServiceTime
  • TotalBreakServiceTime
  • TotalRenewalServiceTime
  • TotalWaitTime
  • TotalTravelTime

Единицы измерения для значения данного поля задается параметром Единицы поля времени (time_units в Python).

TotalOrderServiceTime

Общее время обслуживания, потраченное на всех заказах по маршруту.

Единицы измерения для значения данного поля задается параметром Единицы поля времени (time_units в Python).

TotalBreakServiceTime

Общее время обслуживания, потраченное на всех перерывах по маршруту.

Единицы измерения для значения данного поля задается параметром Единицы поля времени (time_units в Python).

TotalTravelTime

Общее время в пути для маршрута.

Единицы измерения для значения данного поля задается параметром Единицы поля времени (time_units в Python).

TotalDistance

Общее расстояние пути для маршрута.

Единица измерения для данного значения поля указывается параметром Единицы поля расстояния (distance_units для Python).

Это поле имеет нулевое значение, если атрибут расстояния не указан до выполнения расчета.

StartTime

Время начала маршрута. Маршрут может начинаться до начала временного окна его начальной станции; в этом случае на начальной станции будет затрачено время ожидания.

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

EndTime

Время окончания маршрута. Маршрут заканчивается по завершении обслуживания на конечной станции.

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

TotalWaitTime

Общее время ожидания на всех точках заказов, станциях и перерывах по маршруту.

Единицы измерения для значения данного поля задается параметром Единицы поля времени (time_units в Python).

TotalViolationTime

Общее время нарушения на всех заказах и перерывах по маршруту.

Единицы измерения для значения данного поля задается параметром Единицы поля времени (time_units в Python).

RenewalCount

Для маршрута с обновлениями это аналогично количеству остановок на станциях, для целей обновления транспортного средства, например его разгрузки или разгрузки.

TotalRenewalServiceTime

Для маршрута с обновлениями общее время обслуживания, потраченное при всех посещениях для обновления загрузки по маршруту.

Единицы измерения для значения данного поля задается параметром Единицы поля времени (time_units в Python).

Класс пространственных объектов Directions

Directions представляет собой линейный класс пространственных объектов, заполненный инструкциями для последовательных поворотов, которые помогают водителям следовать назначенным маршрутам. По умолчанию именем данного выходного класса пространственных объектов является Directions, но вы можете изменить его на любое другое имя путем изменения параметра Имя выходного путевого листа (output_directions_name в Python) перед расчетом. Кроме того, инструмент Расчет задачи выбора маршрута транспорта всегда создает класс пространственных объектов Directions; однако вы можете использовать параметр Заполнить путевой лист (populate_directions в Python) для выбора необходимости заполнения класса пространственных объектов значениями во время расчета. По умолчанию они не заполняются. Если путевой лист вам не нужен, то вы можете значительно сократить время расчета и объем данных, передаваемых от серверов к клиентам.

ArcGIS присваивает классу пространственных объектов Directions ту же систему координат, которую использует лежащий ниже набор сетевых данных. Это может управляться путем ввода значения среды геообработки Выходная система координат.

Имена полей класса пространственных объектов Directions и их описание приведено ниже.

Имя поляОписание

ObjectID

Управляемое системой поле ID.

Shape

Поле геометрии указывает форму линий.

RouteName

Название маршрута, к которому применяется действие перемещения.

ArriveTime

Время дня для начала заданного действия перемещения. Если маршрут выполняется за несколько дней, то отображается дата и время дня.

Type

Данное поле предназначено для продвинутых пользователей, которые хотят настроить текст направления движения. Большинство пользователей могут обеспечить соблюдение требований путем игнорирования данного поля и использования поля Text.

Type ссылается на постоянную одного из двух списков: esriDirectionsManueverType или esriDirectionsStringType. (См. описание поля SubItemType для получения сведений о списках, которые упоминаются в значении поля Type.)

SubItemType

Данное поле предназначено для продвинутых пользователей, которые хотят настроить текст направления движения. Большинство пользователей могут обеспечить соблюдение требований путем игнорирования данного поля и использования поля Text.

SubItemType работает в сочетании с Type для создания направлений перемещения, указанных в поле Text. Поле SubItemType указывает, ссылается ли поле Type на постоянное значение списка esriDirectionsManueverType или списка esriDirectionsStringType.

  • Если значение SubItemType равно 1, то значение Type указывает на esriDirectionsManeuverType.
  • Если значение SubItemType равно 2, то значение Type указывает на esriDirectionsStringType.

Text

Текстовое описание путевого листа.

ElapsedTime

Время, прошедшее с начала текущего направления движения до начала следующего или до тех пор, пока маршрут не закончится на последнем направлении.

Некоторые маршрутные листы включают дополнительные записи для времени обслуживания, нарушения времени и т. д. В таких случаях истекшее время реплицируется для каждой записи. При необходимости суммирования общего истекшего времени выберите записи со значением параметра Type, равным 1, и выполните суммирование таких записей.

Единицы измерения для значения данного поля задается параметром Единицы поля времени (time_units в Python).

DriveDistance

Расстояние, с которого началось текущее направление движения до начала следующего или до места, где маршрут закончится на последнем направлении движения.

Данное значение равно нулю для направлений движения, которые происходят том же положении, где начинается другое.

Таблица Stops

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

По умолчанию именем данной выходной таблицы является Stops, но вы можете изменить его на любое другое имя путем изменения параметра Имя выходных остановок (output_stops_name в Python) перед вычислением.

Имена полей таблицы Stops и их описание приведено ниже.

Имя поляОписание

ObjectID

Управляемое системой поле ID.

Name

Имя остановки. Оно является внешним ключом для имени станции, заказа или перерыва в наборах входных объектов и наборе записей. Входной объект или набор записей указывается полем StopType.

PickupQuantities

Количество груза или число людей, которое необходимо забрать с остановки. При доставке к остановке множества размеров, каждое количество отделяется пробелом.

Единицы измерения для данного поля не хранятся. Вам нужно интерпретировать единицы, исходя из того, что вы ввели в поле Quantities входных маршрутов и в поля PickupQuantities и DeliveryQuantities входных заказов. (Все эти поля должны быть введены с использованием аналогичных единиц измерения и количества размеров.)

DeliveryQuantities

Количество груза или число людей, которое необходимо доставить на остановку. При доставке к остановке множества размеров, каждое количество отделяется пробелом.

Единицы измерения для данного поля не хранятся. Вам нужно интерпретировать единицы, исходя из того, что вы ввели в поле Quantities входных маршрутов и в поля PickupQuantities и DeliveryQuantities входных заказов. (Все эти поля должны быть введены с использованием аналогичных единиц измерения и количества размеров.)

StopType

Указывает, что именно представляет остановка – станцию, заказ или перерыв.

В поле хранится кодированное значение, которое может быть интерпретировано следующим образом:

  • Заказ (0)
  • Станция (1)
  • Перерыв (2)

RouteName

Имя маршрута, на котором выполняется остановка.

Sequence

Относительная последовательность, в которой назначенные маршруты посещают остановку.

Сортировка по полям RouteName и Sequence создает упорядоченный список остановок для каждого маршрута.

FromPreviousTravelTime

Истекшее время в пути от предыдущей остановки маршрута до текущей остановки.

Единицы измерения для значения данного поля задается параметром Единицы поля времени (time_units в Python).

FromPreviousDistance

Расстояние по маршруту от предыдущей остановки до текущей остановки маршрута.

Единица измерения для данного значения поля указывается параметром Единицы поля расстояния (distance_units для Python).

ArriveCurbApproach

Указывает на сторону транспортного средства, с которой должен находиться бордюр при прибытии на остановку.

DepartCurbApproach

Указывает на сторону транспортного средства, с которой должен находиться бордюр при отправлении с остановки.

ArriveTime

Время дня, в которое маршрут прибывает на остановку.

Когда набор сетевых данных настроен с использованием часовых поясов, значение времени дня соответствует часовому поясу, в котором расположена остановка; в противном случае оно соответствует часовому поясу, который настроен на компьютере для выполнения анализа.

DepartTime

Время дня, когда производится отправление маршрута от остановки.

Когда набор сетевых данных настроен с использованием часовых поясов, значение времени дня соответствует часовому поясу, в котором расположена остановка; в противном случае оно соответствует часовому поясу, который настроен на компьютере для выполнения анализа.

ArriveTimeUTC

Время дня, в которое маршрут прибывает на остановку. Данное значение указываются в формате времени по Гринвичу (UTC).

Данное поле является пустым (null), если часовые пояса не настроены для набора сетевых данных.

DepartTimeUTC

Время дня, когда производится отправление маршрута от остановки. Данное значение указываются в формате времени по Гринвичу (UTC).

Данное поле является пустым (null), если часовые пояса не настроены для набора сетевых данных.

WaitTime

Время ожидания или задержки на остановке. Например, значение времени ожидания будет добавлено, если по маршруту предусмотрено ожидание открытия (начала) временного окна.

ViolationTime

Величина времени между окончанием временного окна остановки и прибытием транспортного средства по маршруту.

Отображение остановок

Таблица Остановки (Stops) не является классом пространственных объектов, и это означает, что вы не можете просто добавить таблицу на карту для просмотра мест остановок. Вместо этого вам необходимо предпринять дополнительные шаги для отображения остановок на карте. (Руководство по выполнению данной операции приведено ниже.) Данная схема может показаться неоправданно сложной, если вам необходимо отобразить остановки маршрута на карте; однако, помните, что данный инструмент предназначен для создания веб-сервисов VRP. Поэтому выходные данные разработаны таким образом, чтобы максимально сократить работу сервера и передачу данных. Тем не менее, выходные данные не слишком разреженные; они все еще предоставляют вам необходимую информацию для отображения остановок в виде точечных объектов.

Например, для просмотра мест остановок в точках заказов, привяжите таблицу Остановки (Stops) к исходному набору объектов Заказы (Orders), который использовался как входной. Вы можете выбрать и присоединить эти наборы данных при помощи полей StopType и Name таблицы Stops и поля Name набора объектов заказов Orders. Вы можете использовать аналогичный подход для просмотра остановок на станциях.

Подсказка:

Расчет задачи выбора маршрута транспорта создает несколько входных наборов объектов, включая наборы объектов Orders и Depots. По мере вычисления с помощью данного инструмента, эти наборы виртуальных объектов удаляются из ArcMap. Однако вы можете вернуть их. Чтобы сделать это, выполните следующие действия:

  1. Откройте окно Результаты из меню Геообработка.
  2. В окне Результаты перейдите к результатам операции, из которой вам необходим набор объектов.
  3. Раскройте соответствующий результат Расчет задачи выбора маршрута транспорта.
  4. Раскройте Входные данные.
  5. Щелкните правой кнопкой мыши на наборе объектов, который вы хотите просмотреть, и выберите Добавить к карте. Набор объектов появится на карте и в таблице содержания.
  6. Дополнительно нажмите кнопку По источникам в окне Таблица содержания для просмотра места хранения данных.

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

Таблица UnassignedStops

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

По умолчанию имя этой выходной таблицы – Stops, но вы можете изменить его на любое другое имя путем изменения параметра Имя выходных неназначенных остановок (output_unassigned_stops_name) перед расчетом.

Имена полей таблицы Stops и их описание приведено ниже.

Имя поляОписание

ObjectID

Управляемое системой поле ID.

StopType

Указывает, что именно представляет остановка – станцию, заказ или перерыв. В поле хранится кодированное значение, которое может быть интерпретировано следующим образом:

  • Заказ (0)
  • Станция (1)
  • Перерыв (2)

Name

Имя остановки.

Оно является внешним ключом для имени станции, заказа или перерыва в наборах входных объектов и наборе записей. Входной объект или набор записей указывается полем StopType.

ViolatedConstraints

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

Более подробно:

Кодированные значения, представляющие текстовое описание, приведены в списке ниже, в скобках. Обратите внимание, что кодированные значения являются частью геометрической последовательности, которая увеличивается путем удвоения последнего значения. Это позволяет кодировать различные комбинации нарушений. Например, комбинация Превышение емкостей (2) и Жесткая зона маршрута (128) кодируется как 130 (2 +128).

  • Превышено значение MaxOrderCount (1) – Предварительно назначенные заказы не могут быть назначены этому маршруту, так как назначение заказов превысит максимальное количество заказов, которое может быть назначено маршруту, как указано в значении поля MaxOrderCount маршрута.
  • Превышено значение Capacities (2) – Предварительно назначенные заказы нельзя назначить этому маршруту, поскольку это привело бы к превышению общей емкости маршрута, заданной значением поля Capacities этого маршрута.
  • Превышено значение MaxTotalTime (4) – Время в пути от начальной станции до конечной плюс время обслуживания и ожидания на обеих станциях и всех перерывов превышает общее время маршрута, заданное значением поля MaxTotalTime для этого маршрута.
  • Превышено значение MaxTotalTravelTime (8) – Время в пути от начальной станции до конечной превышает общее время в пути, заданное значением поля MaxTotalTravelTime для этого маршрута.
  • Превышено значение MaxTotalDistance (16) – Расстояние пути от начальной станции до конечной превышает общее расстояние пути для маршрута, заданное значением поля MaxTotalDistance этого маршрута.
  • Жесткое временное окно (32) – имеется нарушение жесткого временного окна на начальной станции, на конечной станции или в перерыве, связанном с маршрутом.
  • Несоответствие специальному требованию (64) – специальные требования заказа не соблюдаются в целевом маршруте.
  • Жесткая зона маршрута (128) – заказ, предварительно назначенный маршруту, не попадает в пределы жесткой зоны маршрута.
  • Превышено значение MaxTransitTime пары заказов (256) – Имеется предварительно назначенная маршруту пара заказов, и назначение этих заказов в паре заказов приведет к превышению максимального времени в пути, заданного значением поля MaxTransitTime этой пары заказов.
  • Нарушение пары заказов (512) – заказ принадлежит к паре заказов и не может быть назначен предварительно назначенному маршруту.
  • Недостижимо (1024) – предварительно назначенный заказ расположен в элементе сети, который недостижим данным маршрутом.
  • Невозможно вставить необходимый перерыв (2048) – перерыв на маршруте имеет пустое значение последовательности (null) при наличии предварительно назначенных заказов, и его нельзя вставить нигде, не вызвав других нарушений.
  • Невозможно вставить необходимое обновление (4096) – емкость маршрута превышена, и необходимо посетить обновление маршрута; однако связанное обновление маршрута имеет пустое значение последовательности (null) при наличии предварительно назначенных заказов, и его нельзя вставить нигде, не вызвав других нарушений.
  • Превышено значение MaxTravelTimeBetweenBreaks (8192) – Механизму расчета не удалось вставить перерыв в пределах времени, заданного полем MaxTravelTimeBetweenBreaks для перерыва. Причина зачастую в таком предварительном назначении последовательности для перерыва, что он становится недостижимым в пределах максимального времени в пути.

  • Превышено значение Break MaxCumulWorkTime (16384) – Механизму расчета не удалось вставить перерыв в пределах времени, заданного полем MaxCumulWorkTime для перерыва. Причина зачастую заключается в таком предварительном назначении последовательности перерыву, что он становится недостижимым в пределах максимального времени работы.
  • Нарушение времени заказа InboundArriveTime или OutboundDepartTime (32768) – заказ не может быть выполнен в пределах входящего времени прибытия или выходного времени отъезда. Это нарушение происходит, когда все значения в поле LatestStartTime маршрута ниже значений InboundArriveTime, либо ни один из этих маршрутов не может достичь станции ранее значения OutboundDepartTime этого заказа.
  • Невозможно установить первый/последний якорь (65536) – Этот порядок имеет правило присвоения Первый якорь и Последний якорь, но механизм расчета не смог удовлетворить этому ограничению. Это нарушение происходит, когда число заказов Первого якоря или число заказов Последнего якоря больше, чем число доступных маршрутов.

  • ViolatedConstraint_1
  • ViolatedConstraint_2
  • ViolatedConstraint_3
  • ViolatedConstraint_4

Отображает отдельное нарушенное ограничение для каждого поля. Описания нарушений можно увидеть в ViolationConstraints.

  • Превышено значение MaxOrderCount (0) - Нельзя назначить маршруту уже назначенные заказы, поскольку это приведет к превышению максимального количества заказов, которое может быть назначено маршруту, как определено значением поля MaxOrderCount маршрута.
  • Превышена пропускная способность (1) – Уже назначенные заказы нельзя назначить маршруту, поскольку это привело бы к превышению пропускной способности маршрута, заданной значением поля Capacities этого маршрута.
  • Превышено значение MaxTotalTime (2) – Время в пути от начальной станции до конечной плюс время обслуживания и ожидания на обеих станциях, а также перерывов, превышает общее время маршрута, заданное значением поля MaxTotalTime для этого маршрута.
  • Превышено значение MaxTotalTravelTime (3) – Время в пути от начальной станции к конечной превышает общее время в пути для этого маршрута, которое задано значением поля MaxTotalTravelTime для этого маршрута.
  • Превышено значение MaxTotalDistance (4) – Расстояние пути от начальной станции к конечной превышает общее расстояние пути для маршрута, который задан значением поля MaxTotalDistance для этого маршрута.
  • Жесткое временное окно (5) – Нарушено жесткое временное окно на связанной с данным маршрутом начальной станции, конечной станции или на перерыве.
  • Несоответствие специальному требованию (6) – В целевом маршруте не найдены специальные требования заказа.
  • Жесткая зона маршрута (7) – Заказ, предварительно назначенный маршруту, не попадает в пределы жесткой зоны маршрута.
  • Order pair MaxTransitTime exceeded (8) – имеется предварительно назначенная маршруту пара заказов, и при назначении этой пары заказов было бы превышено максимальное время нахождения в пути, указанное значением поля MaxTransitTime этой пары заказов.
  • Нарушение пары заказов (9) – заказ принадлежит к паре заказов и не может быть назначен предварительно назначенному маршруту.
  • Недостижимо (10) – Предварительно назначенный заказ расположен на элементе сети, который не достижим данным маршрутом.
  • Невозможно вставить необходимый перерыв (11) – перерыв на маршруте имеет пустое значение последовательности (null) при наличии предварительно назначенных заказов, и его нельзя вставить нигде, не вызвав других нарушений.
  • Невозможно вставить необходимое обновление (12) – емкость маршрута превышена, и необходимо посетить обновление маршрута; однако связанное обновление маршрута имеет пустое значение последовательности (null) при наличии предварительно назначенных заказов, и его нельзя вставить нигде, не вызвав других нарушений.
  • Превышено значение MaxTravelTimeBetweenBreaks exceeded (13) – Механизму расчета не удалось вставить перерыв в пределах времени, заданного полем MaxTravelTimeBetweenBreaks перерыва. Причина зачастую в таком предварительном назначении последовательности для перерыва, что он становится недостижимым в пределах максимального времени в пути.

  • Break MaxCumulWorkTime exceeded (14) – Механизму расчета не удалось вставить перерыв в пределах времени, заданного полем MaxCumulWorkTime перерыва. Причина зачастую заключается в таком предварительном назначении последовательности перерыву, что он становится недостижимым в пределах максимального времени работы.
  • Нарушение времени заказа InboundArriveTime или OutboundDepartTime (15) – заказ не может быть выполнен в пределах входящего времени прибытия или выходного времени отъезда. Это нарушение происходит, когда все значения в поле LatestStartTime маршрута ниже значений InboundArriveTime, либо ни один из этих маршрутов не может достичь станции ранее значения OutboundDepartTime этого заказа.
  • Невозможно установить первый/последний якорь (16) – У заказа есть правило Первый якорь или Последний якорь, но механизм расчета не смог его выполнить. Это нарушение происходит, когда число заказов Первого якоря или число заказов Последнего якоря больше, чем число доступных маршрутов.

Status

Данное поле ограничивается с помощью значений, указанных ниже (их кодированные значения указаны в скобках).

  • OK (0) – сетевое местоположение было успешно определено.
  • Not located (1) – Точка не найдена в сети.
  • Network element not located (2) – Невозможно найти элемент сети, определяемый полями сетевого расположения данной точки. Это может произойти, если элемент сети, где должна быть расположена эта точка, был удален, а перерасчет сетевого положения не выполнен.
  • Element not traversable (3) – Элемент сети, на котором располагается точка, не проходим. Это может произойти, когда сетевой элемент ограничен соответствующим атрибутом.
  • Invalid field values (4) – Одно или несколько значений поля точки попадают вне доменов (интервального или кодированных значений) анализируемых слоев. Например, существует отрицательное значение, когда необходимы только положительные значения.
  • Not reached (5) – Точка не может быть достигнута механизмом расчета. Точка может находиться на отдельном участке сети, который не соединяется с другими входными данными, либо перемещению в эту точку или из нее препятствуют барьеры или ограничения.
  • Time window violation (6) – Точка недосягаема в течение определенного временного окна. Этот статус применяется только для типов анализа с поддержкой временных окон.
  • Not located on closest 7 – Ближайшее к точке сетевое местоположение не проходимо из-за ограничения или барьера, поэтому выбрана точка на ближайшем проходимом объекте сети.