Инструмент геообработки Расчет задачи выбора маршрута транспорта создает следующую таблицу и классы пространственных объектов в качестве выходных данных: 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).
|
| Отображает отдельное нарушенное ограничение для каждого поля. Описания нарушений можно увидеть в ViolationConstraints.
|
OrderCount | Число заказов, назначенных маршруту. |
TotalCost | Общие затраты на эксплуатацию маршрута, которые являются суммой значений следующих полей:
|
RegularTimeCost | Стоимость обычного рабочего времени, за исключением неоплачиваемых перерывов. |
OvertimeCost | Стоимость сверхурочной работы, за исключением неоплачиваемых перерывов. |
DistanceCost | Компонент стоимости расстояния, получаемый умножением значений полей TotalDistance и CostPerUnitDistance. Это поле имеет нулевое значение, если атрибут расстояния не указан до выполнения расчета. |
TotalTime | Общая длительность маршрута. Она включает в себя значения времени в пути, а также времени обслуживания и ожидания на заказах, на станциях и в перерывах. Значение TotalTime является суммой значений следующих полей:
Единицы измерения для значения данного поля задается параметром Единицы поля времени (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.
|
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 | Указывает, что именно представляет остановка – станцию, заказ или перерыв. В поле хранится кодированное значение, которое может быть интерпретировано следующим образом:
|
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. Однако вы можете вернуть их. Чтобы сделать это, выполните следующие действия:
- Откройте окно Результаты из меню Геообработка.
- В окне Результаты перейдите к результатам операции, из которой вам необходим набор объектов.
- Раскройте соответствующий результат Расчет задачи выбора маршрута транспорта.
- Раскройте Входные данные.
- Щелкните правой кнопкой мыши на наборе объектов, который вы хотите просмотреть, и выберите Добавить к карте. Набор объектов появится на карте и в таблице содержания.
- Дополнительно нажмите кнопку По источникам в окне Таблица содержания для просмотра места хранения данных.
В отличие от заказов и станций, перерывы не связаны с набором входных объектов. Поэтому вам необходимо использовать другой метод для их отображения. Вы можете создать путевой лист в анализе, выбрать линии, которые представляют объекты, и использовать инструмент Вершины объекта в точки для преобразования их в точки.
Таблица UnassignedStops
В таблице UnassignedStops приведен перечень заказов, которые не могут быть посещены маршрутами. В ней также указано, почему невозможно посетить остановку, что позволяет вам внести необходимые изменения для устранения проблемы.
По умолчанию имя этой выходной таблицы – Stops, но вы можете изменить его на любое другое имя путем изменения параметра Имя выходных неназначенных остановок (output_unassigned_stops_name) перед расчетом.
Имена полей таблицы Stops и их описание приведено ниже.
Имя поля | Описание |
---|---|
ObjectID | Управляемое системой поле ID. |
StopType | Указывает, что именно представляет остановка – станцию, заказ или перерыв. В поле хранится кодированное значение, которое может быть интерпретировано следующим образом:
|
Name | Имя остановки. Оно является внешним ключом для имени станции, заказа или перерыва в наборах входных объектов и наборе записей. Входной объект или набор записей указывается полем StopType. |
ViolatedConstraints | Это поле содержит сводку по нарушениям ограничений, и значение ему присваивается после операции расчета. Если эта постоянная нарушена, то возможно полю было назначено сочетание одного или нескольких нарушений, перечисленных ниже. Более подробно:Кодированные значения, представляющие текстовое описание, приведены в списке ниже, в скобках. Обратите внимание, что кодированные значения являются частью геометрической последовательности, которая увеличивается путем удвоения последнего значения. Это позволяет кодировать различные комбинации нарушений. Например, комбинация Превышение емкостей (2) и Жесткая зона маршрута (128) кодируется как 130 (2 +128).
|
| Отображает отдельное нарушенное ограничение для каждого поля. Описания нарушений можно увидеть в ViolationConstraints.
|
Status | Данное поле ограничивается с помощью значений, указанных ниже (их кодированные значения указаны в скобках).
|