Типы входных данных, которые могут быть указаны при выполнении анализа задач маршрутизации транспортных средств (VRP) при использовании версии схемы VehicleRoutingProblemSchemaVersion.Two, описаны ниже.
Заказы
Укажите одно или несколько местоположений, через которые должен пройти маршрут, построенный при анализе VRP. Заказ может быть доставкой (например, доставкой мебели), посадкой пассажиров (например, пассажиров в автобус-экспресс до аэропорта) или другим типом обслуживания или осмотра (например, подрезкой деревьев или осмотром строения).
Этот тип данных поддерживает следующее поля:
Поле | Описание | Тип данных |
---|---|---|
Name | Имя заказа. Имя должно быть уникальным. Если оставить имя равным null, имя будет автоматически сгенерировано во время решения. | Строковое |
Description | Описательная информация о заказе. Может содержать любую текстовую информацию по заказу и не имеет ограничений на уникальность. В поле Name, к примеру, можно хранить идентификационный номер клиента, а в поле Description – фактическое имя или адрес этого клиента. | Строковое |
ServiceTime | Данное свойство определяет время, которое будет проведено в сетевом положении при посещении его на маршруте; это означает, что оно хранит в себе значение импеданса для сетевого положения. Нулевое значение или значение NULL указывают, что сетевое положение не требует времени обслуживания. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. | Двойной точности |
TimeWindowStart | Время начала и конца первого временного окна для сетевого положения. Это поле может содержать значение null; значение null указывает на отсутствие времени начала. Временное окно только указывает, когда транспортное средство может прибыть по заказу, но не указывает, когда должно закончиться время обслуживания. Для учета времени обслуживания и отправления до окончания временного окна вычтите ServiceTime из поля TimeWindowEnd. Поля временного окна (TimeWindowStart, TimeWindowEnd, TimeWindowStart2 и TimeWindowEnd2) могут содержать значение только времени или значение даты и времени. Если поле времени, такое как TimeWindowStart, имеет значение только времени (например, 8:00 AM), предполагается, что дата является датой по умолчанию, установленной для анализа. Использование значений даты и времени (например, 11.7.2010, 8:00) позволяет вам задавать временные окна, охватывающие несколько дней. Значение этого атрибута можно задать с помощью объекта Python datetime, например, datetime.datetime(2019, 5, 11, 8, 30, 0), что представляет Субботу 11 мая 20 19 8:30:00 AM. Чтобы указать значение только времени, datetime.time(8, 30, 0) задает 8:30 AM в дату по умолчанию, установленную с помощью свойства. defaultDate. Часовой пояс значения задается свойством timeZoneForTimeFields объекта анализа. | Дата |
TimeWindowEnd | Время окончания первого окна для сетевого положения. Это поле может содержать значение null; значение null указывает на отсутствие времени окончания. | Дата |
TimeWindowStart2 | Время начала и конца второго временного окна для сетевого положения. Это поле может содержать значение null; значение null указывает на отсутствие второго временного окна. Если первое временное окно содержит null, как указано в полях TimeWindowStart и TimeWindowEnd, то второе временное окно также должно иметь значения null. Если оба временных окна не имеют значения null, то они не могут перекрываться. Кроме того, второе временное окно должно появиться после первого. | Дата |
TimeWindowEnd2 | Время окончания второго временного окна для сетевого положения. Это поле может содержать значение null. Когда оба TimeWindowStart2 и TimeWindowEnd2 имеют значение null, то второе временное окно отсутствует. Когда TimeWindowStart2 не null, а TimeWindowEnd2 – null, то имеется второе временное окно со временем начала, но без времени окончания. Это корректно. | Дата |
MaxViolationTime | Временное окно считается нарушенным, если прибытие происходит после окончания временного окна. В данном поле указывается максимальное допустимое время превышения для первого временного окна заказа. Оно может содержать нулевое значение, но не может содержать отрицательные значения. Нулевое значение показывает, что нарушение временного окна в первом временном окне заказа недопустимо; то есть первое временное окно является жестким. С другой стороны, значение NULL показывает, что для допустимого превышения времени предел отсутствует. Ненулевое значение показывает максимальную величину опоздания; например, маршрут может прибыть на точку заказа в течение 30 минут после окончания первого временного окна. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. Превышение временного окна может отслеживаться и взвешиваться механизмом расчета. Следовательно, вы можете направить механизм расчета VRP на выполнение одного из следующих действий:
Назначая уровень важности для свойства timeWindowFactor объекта анализа, вы выбираете один из этих трех подходов. Однако в любом случае механизм расчета возвратит ошибку, если будет превышено значение, заданное для MaxViolationTime. | Двойной точности |
MaxViolationTime2 | Максимальное допустимое время нарушения для второго временного окна заказа. Данное поле аналогично полю MaxViolationTime. | Двойной точности |
InboundArriveTime | Определяет, когда доставляемый товар будет готов на станции. Заказу может быть приписан маршрут, только если входное время прибытия предшествует значению последнего времени старта маршрута. То есть маршрут не может стартовать со станции, пока товар не будет загружен. Это поле поможет смоделировать возможные наплывы заказов доставок. Например, работа над заказом требует специальных материалов, которые отсутствуют на станции. Материалы доставляются из другого местоположения и прибудут на станцию в 11:00. Чтобы убедиться, что ни один маршрут, который начинается до их доставки, не приписан к заказу, входное время заказа устанавливается на 11:00. Специальные материалы будут доставлены в 11:00, загружены в автомобиль, который затем отправится со станции выполнять приписанные ему заказы. Примечания:
| Дата |
OutboundDepartTime | Определяет, когда требуемый для заказа товар должен прибыть на конечную станцию. Заказ должен быть присвоен маршруту, только если маршрут может посетить место заказа и достичь его конечной станции до указанного исходящего времени отъезда. Это поле поможет смоделировать возможные наплывы заказов доставок. Например, судоходная компания посылает грузовики забрать пакеты с заказами, привезти их на станцию, откуда они будут перенаправлены на другие объекты и отправлены по маршруту к месту назначения. Ежедневно в 15:00 полуприцеп останавливается на станции, чтобы забрать приоритетные пакеты и отвезти их непосредственно на центральную станцию обработки. Чтобы избежать задержки приоритетных пакетов до 15:00 вечера следующего дня, судоходная компания старается, чтобы грузовики забирали приоритетные пакеты из заказов и отвозили их на станцию до 15:00. Этого можно достичь путем установки 15:00 в качестве исходящего времени отъезда. Примечания:
| Дата |
| Размер доставляемых товаров. Размер можно указать в любом измерении, таком как вес, объем или количество. Если имеется несколько количеств для доставки, укажите их с помощью полей DeliveryQuantity_1, DeliveryQuantity_9. Введите число объектов поставки без указания единиц. Например, если необходимо выполнить доставку объекта массой 300 фунтов по заказу, введите 300. Вам необходимо запомнить, что данное значение приведено в фунтах. Убедитесь, что поля Capacity_* для маршрутов и поля DeliveryQuantity_* и PickupQuantity_* для заказов указываются одинаково. Значения должны быть в одних и тех же единицах, а поля, заканчивающиеся одним номером, должны соответствовать друг другу. Например, предполагается, что Capacity_4, DeliveryQuantity_4 и PickupQuantity_4 описывают одну и ту же измеренную величину с одинаковыми единицами измерения. По умолчанию - 0. Количество элементов поставки не может быть отрицательными. | Двойной точности |
| Размер собираемых товаров. Размер можно указать в любом измерении, таком как вес, объем или количество. Если имеется несколько количеств для загрузки, укажите их с помощью полей PickupQuantity_1, PickupQuantity_9. Данное поле аналогично полю DeliveryQuantity_*. В случае поездки для обмена, заказ может содержать указанное количество как поставки, так и загрузки. По умолчанию - 0. Количество элементов поставки не может быть отрицательными. | Двойной точности |
Revenue | Доход, создаваемый в случае включения заказа в решение. Это поле может содержать значение null (значение null означает нулевой доход), но не может иметь отрицательного значения. Прибыль включается в оптимизацию значения целевой функции, но не является частью оперативных расходов на решение, т.е. поле TotalCost в классе маршрутов никогда не содержит прибыль в выходном значении. Однако прибыль имеет относительно важную роль при обслуживании заказов. | Двойной точности |
AssignmentRule | Задает правило присвоения заказа маршруту. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Это поле не может содержать значения null. | Целочисленное |
RouteName | Имя маршрута, для которого назначен заказ. Данное поле используется для предварительного назначения заказа определенному маршруту. Оно может содержать значение NULL, показывающие, что заказ предварительно не назначен ни одному маршруту, и механизм расчета определяет наилучшее из возможных назначений маршрутов для заказа. Если оно задано со значением null, то поле Sequence также должно быть равно null. После вычисления, если заказ присвоен маршруту, то поле RouteName будет содержать имя маршрута, которому был назначен заказ. | Строковое |
Sequence | Это обозначает последовательность заказа на маршруте. Данное поле используется для указания относительной последовательности для заказа на маршруте. Данное поле может содержать значение NULL, показывающие, что заказ может быть размещен в любой точке маршрута. Значение null может иметь место только вместе со значением null RouteName. Значения входной последовательности являются положительными и уникальными для каждого маршрута (распределенного среди посещений станций, заказов и перерывов), но не обязаны начинаться с 1 или быть последовательными. | Целочисленное |
CurbApproach | Указывает направление, в котором транспортное средство может подъехать или отъехать от точки заказа. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Атрибут CurbApproach был разработан для работы с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда точка заказа находится с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. Вы можете выбрать, с какой из двух сторон подъехать к точке заказа, независимо от национального стандарта дорожного движения, т.е. где будет находится точка заказа – справа или слева от транспортного средства. Например, если необходимо подъехать к точке заказа так, чтобы она не была отделена от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании. | Short Integer |
Bearing | Направление, в котором движется точка. Единицами измерения являются градусы, отсчитывается по часовой стрелке от направления на истинный север. Это поле используется совместно с полем BearingTol. Данные направления обычно отправляются автоматически с мобильного устройства, оснащенного GPS-приемником. Попробуйте включить данные о направлении, если вы загружаете движущееся входное местоположение например, пешехода или транспортное средство. Использование данного поля обеспечивает защиту от добавления положений на неверные ребра, что может произойти, например, когда транспортное средство расположено недалеко от перекрестка или эстакады. Направление также позволяет инструменту определять, на какой стороне улицы расположена точка. | Двойной точности |
BearingTol | Значение допуска направления создает диапазон допустимых значений направления во время определения положения движущихся точек на ребре с использованием поля Bearing. Если значение из поля Bearing находится в пределах допустимых значений, созданных на основании допуска направления на ребре, точка может быть добавлена как сетевое положение; в противном случае происходит анализ ближайшей точки следующего ближайшего ребра. Единицами измерения являются градусы; в качестве значения по умолчанию используется 30. Значения должны быть больше 0 и меньше 180. Значение, равное 30, означает, что когда Network Analyst предпринимает попытку добавить сетевое местоположение на ребро, диапазон допустимых значений направления создается в пределах 15 градусов с каждой стороны ребра (слева и справа) и в обоих направлениях оцифровки ребра. | Двойной точности |
NavLatency | Это поле может использоваться в процессе решения, только если в полях Bearing и BearingTol также есть значения; а ввод значения в поле NavLatency не является обязательным, даже когда в полях Bearing и BearingTol присутствуют значения. NavLatency указывает, сколько времени, как ожидается, пройдет с момента отправки информации GPS с движущегося транспортного средства на сервер и до момента получения обработанного маршрута навигационным устройством транспортного средства. Единицы измерения NavLatency используются те же, что и единицы, которые задаются свойством timeUnits анализируемого объекта. | Двойной точности |
Поля сетевого местоположения
| Вместе эти четыре свойства описывают точку в сети, где расположен объект. Дополнительные сведения о способе размещения входных данных в сети |
Станции
Задайте одну или несколько станций для данной задачи нахождения маршрута транспорта. Станция – это место, откуда отправляется транспортное средство в начале рабочего дня, и куда оно возвращается в конце рабочего дня. Автотранспорт загружается (для доставки) или разгружается (для самовывоза) на станциях. В некоторых случаях станция может также служить местом пополнения загрузки, в котором транспортное средство может разгружаться или догружаться и продолжать выполнять доставку и сбор. У станции есть значения времени открытия и закрытия, указываемые жестким временным окном. Транспортные средства не могут прибывать на станцию за пределами этого временного окна.
Этот тип данных поддерживает следующее поля:
Поле | Описание | Тип данных |
---|---|---|
Name | Имя станции. Поля StartDepotName и EndDepotName маршрутов ссылаются на указанные здесь имена. На них также ссылаются обновления маршрута при их использовании. Имена депо нечувствительны к регистру и должны быть не пустыми и уникальными. | Строковое |
Description | Описательная информация о местоположении склада. Может использоваться любая текстовая информация и нет ограничений на уникальность. Возможно, необходимо будет записать регион, в котором находится станция, или ее адрес и номер телефона; эту информацию можно ввести здесь, а не в поле Name. | Строковое |
TimeWindowStart | Время начала и конца первого временного окна для сетевого положения. Это поле может содержать значение null; значение null указывает на отсутствие времени начала. Поля временного окна (TimeWindowStart, TimeWindowEnd, TimeWindowStart2 и TimeWindowEnd2) могут содержать значение только времени или значение даты и времени. Если поле времени, такое как TimeWindowStart, имеет значение только времени (например, 8:00 AM), предполагается, что дата является датой по умолчанию, установленной для анализа. Использование значений даты и времени (например, 11.7.2010, 8:00) позволяет вам задавать временные окна, охватывающие несколько дней. Значение этого атрибута можно задать с помощью объекта Python datetime, например, datetime.datetime(2019, 5, 11, 8, 30, 0), что представляет Субботу 11 мая 20 19 8:30:00 AM. Чтобы указать значение только времени, datetime.time(8, 30, 0) задает 8:30 AM в дату по умолчанию, установленную с помощью свойства defaultDate. Часовой пояс значения задается свойством timeZoneForTimeFields объекта анализа. | Дата |
TimeWindowEnd | Время окончания первого окна для сетевого положения. Это поле может содержать значение null; значение null указывает на отсутствие времени окончания. | Дата |
TimeWindowStart2 | Время начала и конца второго временного окна для сетевого положения. Это поле может содержать значение null; значение null указывает на отсутствие второго временного окна. Если первое временное окно пустое, как указано в полях TimeWindowStart и TimeWindowEnd, то второе временное окно также должно быть null. Если оба временных окна непустые, то они не могут перекрываться. Кроме того, второе временное окно должно появиться после первого. | Дата |
TimeWindowEnd2 | Время окончания второго временного окна для сетевого положения. Это поле может содержать значение null. Когда оба TimeWindowStart2 и TimeWindowEnd2 имеют значение null, то второе временное окно отсутствует. Когда TimeWindowStart2 не null, а TimeWindowEnd2 – null, то имеется второе временное окно со временем начала, но без времени окончания. Это действительно так. | Дата |
CurbApproach | Указывает направление, в котором транспортное средство может подъехать или отъехать от станции. Значение поля указывается одним из следующих целых чисел, показанных в скобках (используйте числовой код, а не имя в скобках):
Атрибут CurbApproach был разработан для работы с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда станция находится с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. Вы можете выбрать, с какой из двух сторон подъехать к станции, независимо от национального стандарта дорожного движения, т.е. где будет находится точка заказа – справа или слева от транспортного средства. Например, если необходимо подъехать к станции так, чтобы она не была отделена от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании. | Целочисленное |
Bearing | Направление, в котором движется точка. Единицами измерения являются градусы, отсчитывается по часовой стрелке от направления на истинный север. Это поле используется совместно с полем BearingTol. Данные направления обычно отправляются автоматически с мобильного устройства, оснащенного GPS-приемником. Попробуйте включить данные о направлении, если вы загружаете движущееся входное местоположение например, пешехода или транспортное средство. Использование данного поля обеспечивает защиту от добавления положений на неверные ребра, что может произойти, например, когда транспортное средство расположено недалеко от перекрестка или эстакады. Направление также позволяет инструменту определять, на какой стороне улицы расположена точка. | Двойной точности |
BearingTol | Значение допуска направления создает диапазон допустимых значений направления во время определения положения движущихся точек на ребре с использованием поля Bearing. Если значение из поля Bearing находится в пределах допустимых значений, созданных на основании допуска направления на ребре, точка может быть добавлена как сетевое положение; в противном случае происходит анализ ближайшей точки следующего ближайшего ребра. Единицами измерения являются градусы; в качестве значения по умолчанию используется 30. Значения должны быть больше 0 и меньше 180. Значение, равное 30, означает, что когда Network Analyst предпринимает попытку добавить сетевое местоположение на ребро, диапазон допустимых значений направления создается в пределах 15 градусов с каждой стороны ребра (слева и справа) и в обоих направлениях оцифровки ребра. | Двойной точности |
NavLatency | Это поле может использоваться в процессе решения, только если в полях Bearing и BearingTol также есть значения; а ввод значения в поле NavLatency не является обязательным, даже когда в полях Bearing и BearingTol присутствуют значения. NavLatency указывает, сколько времени, как ожидается, пройдет с момента отправки информации GPS с движущегося транспортного средства на сервер и до момента получения обработанного маршрута навигационным устройством транспортного средства. Единицы измерения NavLatency используются те же, что и единицы, которые задаются свойством timeUnits анализируемого объекта. | Двойной точности |
Поля сетевого местоположения
| Вместе эти четыре свойства описывают точку в сети, где расположен объект. Дополнительные сведения о способе размещения входных данных в сети |
Маршруты
Укажите один или несколько маршрутов, описывающих характеристики транспортного средства и водителя. Маршрут может учитывать время начала и окончания обслуживания на станции, фиксированное или гибкое время начала, оперативные расходы на основании времени и на основании расстояния, различные ограничения по рабочему дню водителя и т. д.
Примечание:
В отличие от других типов данных, таких как Orders и Depots, этот тип данных представляет собой таблицу и не содержит информации о местоположении.
Этот тип данных поддерживает следующее поля:
Поле | Описание | Тип данных |
---|---|---|
Name | Название маршрута. Имя должно быть уникальным. Инструмент создает уникальное имя во время расчета, если значение поля равно null, поэтому это значение в большинстве случаев не обязательно. Однако вам необходимо ввести имя, если анализ содержит перерывы, обновления маршрута, зоны маршрутов или заказы, которые были предварительно назначены для маршрута, так как имя маршрута в данном случае используется как внешний ключ. Имена маршрутов не чувствительны к регистру. | Строковое |
Description | Описательная информация о маршруте. Может содержать любую текстовую информацию и не должно быть уникальным. | Строковое |
StartDepotName | Имя начальной станции маршрута. Это поле является внешним ключом для поля Name в классе Depots. Если значение StartDepotName - null, то маршрут начинается с первого назначенного заказа. Исключение начальной станции полезно в том случае, если начальное положение транспортного средства неизвестно или неважно для вашей задачи. Однако, когда StartDepotName имеет значение null, EndDepotName не может быть null. Виртуальные начальные станции не допускаются, если заказы или станции находятся в нескольких часовых поясах. Если маршрут выполняет доставку и StartDepotName пустое, то предполагается, что груз загружен в транспортное средство на виртуальной станции перед началом маршрута. Для маршрута без обновления, заказы маршрутов (с ненулевыми значениями в полях DeliveryQuantity_* в классе Заказы) загружаются на начальной станции или виртуальной станции. Для маршрута с обновлениями, на начальной или виртуальной станции выполняется загрузка только тех заказов маршрутов, которые выполняются до первого обновления. | Строковое |
EndDepotName | Имя конечной станции маршрута. Это поле является внешним ключом для поля Name в классе Depots. | Строковое |
StartDepotServiceTime | Время обслуживания на начальной станции. Это значение может быть использовано для моделирования времени, потраченного на загрузку транспортного средства. Это поле может содержать пустое значение; пустое значение соответствует нулевому времени обслуживания. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. Время обслуживания на начальной и конечной станции является фиксированным (определяется значениями полей StartDepotServiceTime и EndDepotServiceTime) и не учитывает фактическую загрузку для маршрута. Например, время, затраченное на загрузку транспортного средства на начальной станции, может зависеть от размера заказов. Время обслуживания на станции может быть присвоено значениям, соответствующим полной загрузке грузовика или средней загрузке грузовика, или вы можете сделать свою собственную оценку времени. | Двойной точности |
EndDepotServiceTime | Время обслуживания на конечной станции. Это значение может быть использовано для моделирования времени, потраченного на загрузку транспортного средства. Это поле может содержать пустое значение; пустое значение соответствует нулевому времени обслуживания. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. Время обслуживания на начальной и конечной станции является фиксированным (определяется значениями полей StartDepotServiceTime и EndDepotServiceTime) и не учитывает фактическую загрузку для маршрута. Например, время, затраченное на загрузку транспортного средства на начальной станции, может зависеть от размера заказов. Время обслуживания на станции может быть присвоено значениям, соответствующим полной загрузке грузовика или средней загрузке грузовика, или вы можете сделать свою собственную оценку времени. | Двойной точности |
EarliestStartTime | Наиболее раннее допустимое время начала маршрута. Оно используется механизмом решения вместе с временным окном начальной станции для определения возможного времени начала маршрута. Это поле не может содержать значения null и имеет значение по умолчанию только для времени, равное 8:00. Значение по умолчанию интерпретируется как 8:00 утра на дату по умолчанию, установленную для анализа. Значение этого атрибута можно задать с помощью объекта Python datetime, например, datetime.datetime(2019, 5, 11, 8, 30, 0), что представляет Субботу 11 мая 20 19 8:30:00 AM. Чтобы указать значение только времени, datetime.time(8, 30, 0) задает 8:30 AM в дату по умолчанию, установленную с помощью свойства defaultDate. Часовой пояс значения задается свойством timeZoneForTimeFields объекта анализа. | Дата |
LatestStartTime | Наиболее позднее допустимое время начала маршрута. Это поле не может содержать значения NULL и имеет значение по умолчанию только времени, равное 10:00 AM. Значение по умолчанию интерпретируется как 10:00 утра в наборе дат по умолчанию для анализа. Значение этого атрибута можно задать с помощью объекта Python datetime, например, datetime.datetime(2019, 5, 11, 8, 30, 0), что представляет Субботу 11 мая 20 19 8:30:00 AM. Чтобы указать значение только времени, datetime.time(8, 30, 0) задает 8:30 AM в дату по умолчанию, установленную с помощью свойства defaultDate. Часовой пояс значения задается свойством timeZoneForTimeFields объекта анализа. | Дата |
ArriveDepartDelay | В этом поле хранится величина времени в пути, необходимая для ускорения транспортного средства до обычной скорости передвижения, замедления его до остановки и перемещения из сети и в сеть (например, на парковку и с парковки). Включение значения ArriveDepartDelay позволяет механизму расчета VRP не отправлять множество маршрутов для обслуживания физически совпадающих заказов. Стоимость для этого свойства выводится между визитами по несовпадающим заказам, станциям и обновлениям маршрута. Например, если маршрут начинается со станции и посещает первый заказ, ко времени пути добавляется общая задержка прибытия/отправления. То же касается пути от первого заказа ко второму. Если второй и третий заказы совпадают, значение ArriveDepartDelay между ними не добавляется, поскольку транспортному средству не нужно перемещаться. Если маршрут следует к пункту обновления загрузки, значение снова добавляется ко времени в пути. Хотя транспортному средству необходимо замедляться и останавливаться на перерыв, а после него ускоряться, механизм расчета VRP не может добавлять значение ArriveDepartDelay для перерывов. Это означает, что если маршрут оставляет заказ, останавливается на перерыв и переходит к следующему заказу, задержка прибытия/отправления добавляется только один раз, а не дважды. Например, предположим, что имеются пять совпадающих заказов в одном многоэтажном доме, которые обслуживаются тремя разными маршрутами. Это значит, что добавляются три задержки прибытия/отправления; то есть трем водителям необходимо раздельно найти места для парковки и войти в одно и то же здание. Однако если заказы могут быть обслужены одним маршрутом, парковаться и входить в здание необходимо только одному водителю – и возникает только одна задержка прибытия/отправления. Поскольку механизм расчета задачи выбора маршрута транспорта пытается минимизировать затраты, он попробует ограничить задержки прибытия/отправления и поэтому определит вариант с одним маршрутом. (Обратите внимание, что при наличии других ограничений – специальных требований, временных окон или емкостей – могут понадобиться несколько маршрутов.) Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. | Двойной точности |
| Максимальная величина (например, объем, вес или количество), которая может быть перевезена транспортным средством. Если имеется несколько емкостей, укажите их с помощью полей Capacity_1, Capacity_9. Введите вместимости без указания единиц. Например, если ваш автомобиль может перевозить максимум 40 000 фунтов, введите 40000. Необходимо помнить, что данное значение задано в фунтах. Убедитесь, что поля Capacity_* для маршрутов и поля DeliveryQuantity_* и PickupQuantity_* для заказов указываются одинаково. Значения должны быть в одних и тех же единицах, а поля, заканчивающиеся одним номером, должны соответствовать друг другу. Например, предполагается, что Capacity_4, DeliveryQuantity_4 и PickupQuantity_4 описывают одну и ту же измеренную величину с одинаковыми единицами измерения. По умолчанию - 0. Значение емкости не может быть отрицательным. Механизм расчета VRP только выполняет простой двоичный тест для определения превышения емкостей. Если значение емкости маршрута выше или равно общей вместимости, то механизм расчета VRP предположит, что груз помещается в транспортное средство. Это может быть неверно, в зависимости от фактической формы груза и транспортного средства. Например, механизм расчета VRP позволяет вам загрузить сферу объемом 1 000-кубических футов в грузовик вместимостью 1 000 кубических футов и шириной 8 футов. В действительности, сфера имеет диаметр 12,6 фута, и ее нельзя поместить в грузовик шириной 8 футов. | Двойной точности |
FixedCost | Фиксированное денежная стоимость, которая принимается только в том случае, если маршрут используется в решении (то есть, что для него назначены некоторые заказы). Это поле может содержать значения NULL; значение NULL соответствует нулевой фиксированной стоимости. Эта стоимость является частью общей стоимости эксплуатации маршрута. | Двойной точности |
CostPerUnitTime | Примененная денежная стоимость – на единицу времени работы – для общей продолжительности маршрута, включая значения времени в пути, а также времени обслуживания и ожидания на заказах, станциях и в перерывах. Это поле не может содержать значения null и имеет значение по умолчанию, равное 1.0. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. | Двойной точности |
CostPerUnitDistance | Примененная денежная стоимость – на единицу пройденного расстояния – для длины маршрута (общее пройденное расстояние). Это поле может содержать значения null; значение null указывает на нулевую стоимость. Единицы измерения для значения данного поля задается свойством distanceUnits для слоя анализа. | Двойной точности |
OvertimeStartTime | Продолжительность регулярного времени работы перед началом вычисления сверхурочных. Это поле может содержать значения null; значение null указывает, что сверхурочная работа не применяется. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. Например, если водителю выплачиваются сверхурочные, если общая длительность маршрута превышает восемь часов, значение OvertimeStartTime указывается равным 480 (8 часов * 60 минут/час), при этом в качестве единиц времени задано значение минуты. | Двойной точности |
CostPerUnitOvertime | Денежная стоимость для единицы времени сверхурочной работы. Это поле может содержать значения null; значение null соответствует равенству значений CostPerUnitOvertime и CostPerUnitTime. | Двойной точности |
MaxOrderCount | Максимальное допустимое число заказов на маршруте. Это поле не может содержать значения NULL и имеет значение по умолчанию, равное 30. | Целочисленное |
MaxTotalTime | Максимально допустимая продолжительность маршрута. Продолжительность (длительность) маршрута включает в себя значения времени в пути, а также времени обслуживания и ожидания на заказах, на станциях и в перерывах. Это поле может содержать значения null; значение null указывает на отсутствие ограничений на продолжительность маршрута. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. | Двойной точности |
MaxTotalTravelTime | Максимально допустимое время в пути для маршрута. Время в пути включает только время, проведенное за рулем, и не включает время обслуживания или ожидания. Это поле может содержать значения null; значение null соответствует отсутствию ограничений по максимально допустимому времени передвижения по маршруту. Значение данного поля не может быть больше значения поля MaxTotalTime. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. | Двойной точности |
MaxTotalDistance | Максимально допустимое расстояние для маршрута. Единицы измерения для значения данного поля задается свойством distanceUnits для слоя анализа. Это поле может содержать значения null; значение null соответствует отсутствию ограничений по максимально допустимому расстоянию маршрута. | Двойной точности |
AssignmentRule | Определяет, может ли маршрут использоваться для решения задачи. Это поле ограничивается с помощью домена значений, перечисленных ниже (используйте числовые значения, а не названия, указанные в скобках).
| Целочисленное |
Перерывы
Это время отдыха или перерывы для маршрутов в заданной задаче нахождения маршрута транспорта. Перерыв связан ровно с одним маршрутом и может быть взят после выполнения заказа, на пути к заказу или перед обслуживанием заказа. У него есть время начала и длительность, которые могут оплачиваться или не оплачиваться водителю. Имеется три способа установки начала перерыва: временное окно, максимальное время в пути или максимальное время работы.
В отличие от других типов данных, таких как Заказы или Склады, этот тип данных является таблицей и не содержит никакой информации о местоположении.
Этот тип данных поддерживает следующее поля:
Поле | Описание | Тип данных |
---|---|---|
RouteName | Название маршрута, для которого применяется перерыв. Хотя перерыв назначается ровно одному маршруту, одному и тому же маршруту может быть назначено множество перерывов. Данное поле является внешним ключом для поля Name в маршрутах, поэтому оно не может содержать значение null. | Строковое |
Precedence | Значения приоритета определяют последовательность перерывов для заданного маршрута. Перерывы со значением приоритета 1 происходят перед перерывами со значением 2 и так далее. Все перерывы должны иметь значение приоритета, независимо от того, являются ли они перерывами во временном окне, с максимальным временем в пути или с максимальным рабочим временем. | Целочисленное |
ServiceTime | Продолжительность перерыва. Это поле не может содержать значения NULL. Значение по умолчанию – 60. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. | Двойной точности |
TimeWindowStart | Время начала временного окна перерыва. Необходимо указать как время начала, так и время окончания. Если данное поле содержит значение, то значения полей MaxTravelTimeBetweenBreaks и MaxCumulWorkTime должны быть пустыми, и все остальные перерывы в анализе должны иметь значения null для MaxTravelTimeBetweenBreaks и MaxCumulWorkTime. Ошибка возникнет во время решения, если на маршруте есть несколько перерывов с перекрывающимися временными окнами. Поля временных окон в перерывах могут содержать значение только времени или даты и времени. Если поле времени, такое как TimeWindowStart, имеет значение только времени (например, 12:00 AM), дата считается датой, указанной в параметре defaultDate. Использование значений даты и времени (например, 11.07.2012 12:00) позволяет указывать временные окна, охватывающие два дня и более. Это удобно, если перерыв следует сделать в районе полуночи. Значение этого атрибута можно задать с помощью объекта Python datetime, например, datetime.datetime(2019, 5, 11, 8, 30, 0), что представляет Субботу 11 мая 20 19 8:30:00 AM. Чтобы указать значение только времени, datetime.time(8, 30, 0) задает 8:30 AM в дату по умолчанию, установленную с помощью свойства defaultDate. Часовой пояс значения задается свойством timeZoneForTimeFields объекта анализа. | Дата |
TimeWindowEnd | Время окончания временного окна перерыва. Необходимо указать как время начала, так и время окончания. Если данное поле содержит значение, то значения полей MaxTravelTimeBetweenBreaks и MaxCumulWorkTime должны быть null, и все остальные перерывы в анализе должны иметь значения null для MaxTravelTimeBetweenBreaks и MaxCumulWorkTime. Значение этого атрибута можно задать с помощью объекта Python datetime, например, datetime.datetime(2019, 5, 11, 8, 30, 0), что представляет Субботу 11 мая 20 19 8:30:00 AM. Чтобы указать значение только времени, datetime.time(8, 30, 0) задает 8:30 AM в дату по умолчанию, установленную с помощью свойства defaultDate. Часовой пояс значения задается свойством timeZoneForTimeFields объекта анализа. | Дата |
MaxViolationTime | В данном поле указывается максимальное допустимое время нарушения для временного окна перерыва. Временное окно считается нарушенным, если время прибытия выходит за пределы временного диапазона. Нулевое значение указывает, что временное окно не может быть нарушено; то есть, это окно является жестким. Ненулевое значение указывает максимальное время опоздания. Например, перерыв может начаться через 30 минут после окончания выделенного ему временного окна, но штраф за опоздание рассчитывается в соответствии с параметром Значимость превышения временного окна. Данное свойство может содержать пустые (null) значения. Значение null со значениями TimeWindowStart и TimeWindowEnd указывает на отсутствие ограничения допустимого времени нарушения. Если MaxTravelTimeBetweenBreaks или MaxCumulWorkTime имеют значение, MaxViolationTime должно быть null. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. | Двойной точности |
MaxTravelTimeBetweenBreaks | Максимальное время в пути, которое может быть суммировано до начала перерыва. Время в пути суммируется от окончания предыдущего перерыва или, если перерыв еще не произошел, от начала маршрута. Если это последний перерыв маршрута, то MaxTravelTimeBetweenBreaks также указывает на максимальное время в пути, которое может быть суммировано от последнего перерыва до конечной станции. Это поле предназначено для ограничения длительности вождения транспортного средства человеком, прежде чем потребуется перерыв. Например, если единица времени для анализа установлена на минуты и MaxTravelTimeBetweenBreaks имеет значение 120, водитель получит перерыв после двух часов вождения. Чтобы назначить второй перерыв еще через два часа вождения, для параметра MaxTravelTimeBetweenBreaks второго перерыва нужно указать значение 120. Если данное поле содержит значение, то TimeWindowStart, TimeWindowEnd,MaxViolationTime и MaxCumulWorkTime должны быть null для успешного выполнения анализа. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. | Двойной точности |
MaxCumulWorkTime | Максимальное время работы, которое может быть суммировано до начала перерыва. Время работы всегда накапливается с начала маршрута. Оно включает в себя сумму времени перемещения, а также времени обслуживания и ожидания на заказах, на станциях и в перерывах. Обратите внимание, что здесь исключено время ожидания, которое равно времени, затрачиваемому маршрутом (или водителем) на ожидание в точке заказа или на станции до начала временного окна. Это поле ограничения продолжительности работы человека, прежде чем потребуется перерыв. Например, если единица времени для анализа установлена на минуты, MaxCumulWorkTime имеет значение 120 и ServiceTime имеет значение 15, водитель получит 15-минутный перерыв после двух часов работы. Продолжая рассматривать последний пример, предположим, что второй перерыв должен начаться через три часа работы. Для указания данного перерыва необходимо ввести значение 315 (пять часов и 15 минут) в значение MaxCumulWorkTime второго перерыва. Данное значение включает в себя MaxCumulWorkTime и ServiceTime предыдущего перерыва, а также три дополнительных часа работы до второго перерыва. Чтобы избежать преждевременных перерывов на максимальное рабочее время, помните, что они накапливают рабочее время с начала маршрута и что рабочее время включает время обслуживания на ранее посещенных станциях, заказы и перерывы. Если данное поле содержит значение, то TimeWindowStart, TimeWindowEnd,MaxViolationTime и MaxTravelTimeBetweenBreaks должны быть null для успешного выполнения анализа. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. | Двойной точности |
IsPaid | Булево значение, указывающее, будет ли перерыв оплачиваемым или нет. Установка значения данного поля равным 1 означает, что время, затраченное на перерыв, включается в расчет стоимости маршрута и определение сверхурочных. Значение 0 указывает на обратное. Значение по умолчанию равно 1. | Целочисленное |
Sequence | Означает последовательность перерывов на маршруте. Это поле может содержать значения null, из-за чего механизм решения назначает последовательность прерывания. Если значения последовательности заданы, они должны быть положительными и уникальными для каждого маршрута (распределенного среди посещений станций, заказов и перерывов), но не обязаны начинаться с 1 или быть последовательными. | Целочисленное |
OrderPairs
Пары заказов сбора и доставки, которые обслуживаются на одном маршруте. Указание парных заказов не позволяет назначить маршруту только один из этих заказов: либо одному и тому же маршруту назначаются оба заказа, либо не назначается ни один.
Иногда необходимо, чтобы сбор и доставка по заказам производились совместно. Например, курьерской компании может потребоваться маршрут для сбора посылки с высоким приоритетом от одного заказчика и доставки ее другому без возврата на станцию или сортировочную станцию с целью сокращения времени доставки. Эти связанные заказы могут назначаться одному и тому же маршруту с соответствующей последовательностью при помощи спаренных заказов. Могут существовать ограничения продолжительности хранения посылки в транспортном средстве; например, посылка может содержать образец крови, который должен быть перевезен из офиса врача в лабораторию в течение двух часов.
В некоторых ситуациях могут быть необходимы две пары заказов. Например, предположим, что нужно перевезти пожилую пациентку из дома к врачу, а затем привезти ее обратно домой. Рейс от ее дома к врачу будет одной парой заказов с желаемым временем прибытия к врачу, а рейс от врача обратно к дому – другой парой с желаемым временем посадки.
Этот тип данных поддерживает следующее поля:
Поле | Описание | Тип данных |
---|---|---|
FirstOrderName | Имя первого заказа в паре. Это поле является внешним ключом для поля Name в заказах. | Строковое |
SecondOrderName | Имя второго заказа в паре. Это поле является внешним ключом для поля Name в заказах. Первый заказ в паре должен быть заказом самовывоза; то есть значения для его полей DeliveryQuantity_* равны 0. Второй заказ в паре должен быть заказом на доставку; то есть значения для его полей PickupQuantity_* равны 0. Количество, которое собирается в первом заказе, должно соответствовать количеству, поставляемому во втором заказе. В особом случае оба заказа могут иметь нулевые количества для сценариев, в которых мощности не используются. Заказы не загружаются и не разгружаются на станциях. | Строковое |
MaxTransitTime | Максимальное время нахождения в пути для пары. Время нахождения в пути представляет собой продолжительность от времени отправления для первого заказа до времени прибытия на точку второго заказа. Это ограничение влияет на время в транспортном средстве, или время поездки, между двумя заказами. Если транспортное средство перевозит людей или скоропортящиеся товары, то его время поездки обычно короче, чем для транспортного средства, перевозящего коробки или непортящиеся товары. Это поле может содержать значения null; значение null соответствует отсутствию ограничений по времени поездки. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. Механизмом расчета может отслеживаться и учитываться лишнее время в пути (измеряемое с учетом непосредственного времени в пути между парами заказов). По этой причине вы можете указать механизму расчета VRP следующие подходы:
Назначая уровень важности при помощи свойства excessTransitFactor объекта анализа, вы фактически выбираете один из этих трех вариантов. Независимо от уровня значимости, механизм расчета всегда будет возвращать ошибку при превышении значения параметра MaxTransitTime. | Двойной точности |
RouteRenewals
Определяет промежуточные станции, которые могут посещаться на маршруте для догрузки и выгрузки доставляемых или собираемых грузов. Обновление связывает маршрут со станцией. Связь указывает, что на маршруте может производиться обновление (догрузка или выгрузка на маршруте) на связанной станции.
Обновления маршрутов могут использоваться для моделирования сценариев, в которых транспортное средство набирает полный объем доставляемых грузов на начальной станции, обслуживает заказы, возвращается на станцию для новой загрузки и продолжает обслуживать дальнейшие заказы. Например, при доставке газа пропана транспортное средство может осуществить несколько доставок до тех пор, пока его резервуар не будет почти или полностью опустошен, посетить пункт дозаправки и осуществлять дальнейшую доставку.
Вот некоторые правила и опции, которые следует иметь в виду:
- Пункт догрузки/выгрузки (место пополнения загрузки) может отличаться от начальной и конечной станций.
- У каждого маршрута может быть одно или несколько заранее определенных мест пополнения.
- Место пополнения загрузки может использоваться на одном маршруте несколько раз.
- В случаях наличия нескольких потенциальных мест пополнения загрузки для маршрута механизм расчета определяет ближайшее доступное из них.
Этот тип данных поддерживает следующее поля:
Поле | Описание | Тип данных |
---|---|---|
RouteName | Название маршрута, к которому применяется данное обновление. Это поле не может содержать значение null и является внешним ключом для поля Name в маршрутах. | Строковое |
DepotName | Имя станции, в которой происходит такое обновление. Это поле не может содержать значение null и является внешним ключом для поля Name в станциях. | Строковое |
ServiceTime | Время обслуживания для обновления. Это поле может содержать пустое значение; пустое значение соответствует нулевому времени обслуживания. Единицы измерения для значения данного поля задается свойством timeUnits для слоя анализа. Время, затраченное на загрузку транспортного средства на станции обновления, может зависеть от размера транспортного средства и степени его загруженности. Однако время обслуживания для обновления маршрута является фиксированным значением и не учитывает фактическую загрузку. Следовательно, время на обслуживание обновления должно быть представлено значением, соответствующим полной загрузке грузовика, средней его загрузке или другому времени на ваш выбор. | Двойной точности |
Sequences | Укажите разделенную пробелами строку значений последовательности посещений станции пополнения загрузки. Это поле может содержать нулевое значение и используется для предварительного назначения посещений станции пополнения загрузки. | Строковое |
RouteZones
Очерчивает рабочие территории для заданных маршрутов. Зона маршрута – это полигональный пространственный объект, который используется для ограничения маршрутов обслуживанием только тех заказов, которые находятся в пределах указанной области или вблизи нее. Вот несколько примеров, когда зоны маршрутов могут быть полезны:
- У некоторых ваших сотрудников нет необходимых разрешений на выполнение работ в определенных областях или районах. Вы можете создать зону жесткого маршрута, чтобы они посещали заказы только в тех областях, где они соответствуют требованиям.
- Одно из транспортных средств часто выходит из строя, и вы хотите минимизировать время реакции, отправляя его только на заказы, находящиеся вблизи гаража техобслуживания. Вы можете создать гибкую или жесткую зону маршрута для удержания транспортного средства поблизости.
Этот тип данных поддерживает следующее поля:
Поле | Описание | Тип данных |
---|---|---|
RouteName | Название маршрута, для которого применяется данная зона. Зона маршрута может иметь не более одного связанного маршрута. Это поле не может содержать значения null и является внешним ключом для поля Name в маршрутах. | Строковое |
IsHardZone | Двоичное значение, определяющее гибкую или жесткую зону маршрута. Значение 1 определяет жесткую зону; это означает, что заказ, выходящий за пределы полигона зоны маршрута, не может быть назначен этому маршруту. Значение по умолчанию 1. Значение 0 определяет, что такие заказы все еще могут быть назначены, но стоимость обслуживания заказа взвешена на основании функции евклидова расстояния от зоны маршрута. Обычно это означает что, по мере увеличения расстояния по прямой от гибкой зоны до заказа вероятность того, что заказ будет присвоен маршруту, уменьшается. | Short Integer |
OrderSpecialties
OrderSpecialties и RouteSpecialties перечисляют специальные условия, которые могут потребоваться по заказам и поддерживаться маршрутами. Маршрут может обслужить заказ, только если он поддерживает все специальные требования этого заказа.
Заказ может требовать наличия технического специалиста с определенным набором навыков или автомобиля со специальными возможностями. Вы моделируете эти навыки, способности и так далее, добавляя их в таблицу OrderSpecialties. Затем вы добавляете специальные условия, которые поддерживаются маршрутом в RouteSpecialties. Когда анализ завершен, заказы, требующие определенных специальных условий, сопоставляются с маршрутами, которые могут их предоставить.
Тип данных OrderSpecialties поддерживает следующие поля:
Поле | Описание | Тип данных |
---|---|---|
OrderName | Имя заказа. Значение этого поля соответствует значению в поле Name заказа во входном классе Orders. | Строковое |
SpecialtyName | Имя специального условия. Указывает обязательные требования для заказа. В каждой строке указывается только одно условие. Если в заказе требуется более одного условия, создайте новую строку. В именах специальных требований не должно быть пробелов. Например, специальность старшего техника должна быть указана как SeniorTechnician. | Строковое |
RouteSpecialties
OrderSpecialties и RouteSpecialties перечисляют специальные условия, которые могут потребоваться по заказам и поддерживаться маршрутами. Маршрут может обслужить заказ, только если он поддерживает все специальные требования этого заказа.
Заказ может требовать наличия технического специалиста с определенным набором навыков или автомобиля со специальными возможностями. Вы моделируете эти навыки, способности и так далее, добавляя их в таблицу OrderSpecialties. Затем вы добавляете специальные условия, которые поддерживаются маршрутом в RouteSpecialties. Когда анализ завершен, заказы, требующие определенных специальных условий, сопоставляются с маршрутами, которые могут их предоставить.
Тип данных RouteSpecialties поддерживает следующие поля:
Поле | Описание | Тип данных |
---|---|---|
RouteName | Название маршрута. Значение этого поля соответствует значению в поле Name заказа во входном классе Routes. | Строковое |
SpecialtyName | Имя специального условия. Указывает специальные требования, поддерживаемые маршрутом. В каждой строке указывается только одно условие. Если в маршруте требуется более одного условия, создайте новую строку. В именах специальных требований не должно быть пробелов. Например, специальность старшего техника должна быть указана как SeniorTechnician. | Строковое |
PointBarriers
Используйте этот параметр, чтобы указать одну или несколько точек, которые будут действовать как временные ограничения или представлять дополнительное время или расстояние, которое может потребоваться для проезда по нижележащим улицам. Например, точечный барьер может быть использован для обозначения упавшего дерева или для ввода времени ожидания на железнодорожном переезде.
Этот тип данных поддерживает следующее поля:
Поле | Описание | Тип данных |
---|---|---|
Name | Имя барьера. | Строковое |
BarrierType | Указывает, ограничивает ли точечный барьер перемещение полностью или добавляет время или расстояние при его пересечении. Значение этого атрибута указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
| Короткое целое |
Additional_Time | Добавленное время в пути при преодолении барьера. Это поле применимо только для барьеров с добавленной стоимостью и когда значение параметра Единицы измерения основано на времени. Значение этого поля должно быть больше или равно нулю, а его единицы измерения соответствуют заданным свойством timeUnits. | Двойной точности |
Additional_Distance | Добавленное расстояние при преодолении барьера. Это поле применимо только для барьеров с добавленной стоимостью и когда значение параметра Единицы измерения основано на расстоянии. Значение этого поля должно быть больше или равно нулю, а его единицы измерения соответствуют заданным свойством distanceUnits. | Двойной точности |
Additional_Cost | Добавленная стоимость при преодолении барьера. Это поле применимо только для барьеров с добавленной стоимостью, когда значение параметра Единицы измерения не основано ни на времени, ни на расстоянии. Значения этого поля должны быть больше или равны нулю, а единицы их измерения интерпретируются как неизвестные. | Двойной точности |
FullEdge | Указывает, как ограничительные точечные барьеры применяются к элементам ребер во время анализа. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
| Короткое целое |
CurbApproach | Указывает направление движения, на которое влияет барьер. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
Поскольку соединения являются точками и не имеют стороны, барьеры на соединениях влияют на все транспортные средства, независимо от приближения к бордюру. Атрибут CurbApproach работает с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда пункт обслуживания располагается с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. От национального стандарта дорожного движения будет зависеть ваше решение, с какой из двух сторон подъехать к пункту обслуживания, т.е. должен ли он находиться с правой или левой стороны транспортного средства. Например, чтобы подъехать к пункту обслуживания и не иметь полосы движения между транспортным средством и объектом, выберите 1 (Правая сторона транспортного средства) в США и 2 (Левая сторона транспортного средства) в Великобритании. | Короткое целое |
Bearing | Направление, в котором движется точка. Единицами измерения являются градусы, отсчитывается по часовой стрелке от направления на истинный север. Это поле используется совместно с полем BearingTol. Данные направления обычно отправляются автоматически с мобильного устройства, оснащенного GPS-приемником. Попробуйте включить данные о направлении, если вы загружаете движущееся входное местоположение например, пешехода или транспортное средство. Использование данного поля обеспечивает защиту от добавления положений на неверные ребра, что может произойти, например, когда транспортное средство расположено недалеко от перекрестка или эстакады. Направление также позволяет инструменту определять, на какой стороне улицы расположена точка. | Двойной точности |
BearingTol | Значение допуска направления создает диапазон допустимых значений направления во время определения положения движущихся точек на ребре с использованием поля Bearing. Если значение из поля Bearing находится в пределах допустимых значений, созданных на основании допуска направления на ребре, точка может быть добавлена как сетевое положение; в противном случае происходит анализ ближайшей точки следующего ближайшего ребра. Единицами измерения являются градусы; в качестве значения по умолчанию используется 30. Значения должны быть больше 0 и меньше 180. Значение, равное 30, означает, что когда Network Analyst предпринимает попытку добавить сетевое местоположение на ребро, диапазон допустимых значений направления создается в пределах 15 градусов с каждой стороны ребра (слева и справа) и в обоих направлениях оцифровки ребра. | Двойной точности |
NavLatency | Это поле может использоваться в процессе решения, только если в полях Bearing и BearingTol также есть значения; а ввод значения в поле NavLatency не является обязательным, даже когда в полях Bearing и BearingTol присутствуют значения. NavLatency указывает, сколько времени, как ожидается, пройдет с момента отправки информации GPS с движущегося транспортного средства на сервер и до момента получения обработанного маршрута навигационным устройством транспортного средства. Единицы измерения NavLatency используются те же, что и единицы, которые задаются свойством timeUnits анализируемого объекта. | Двойной точности |
Поля сетевого местоположения
| Вместе эти четыре свойства описывают точку в сети, где расположен объект. Дополнительные сведения о способе размещения входных данных в сети |
LineBarriers
Используйте этот параметр, чтобы указать одну или несколько линий, запрещающих движение в любом месте, где линии пересекают улицы. Например, при помощи линейного барьера можно смоделировать маршрут парада или марша протеста, которые препятствуют движению по нескольким участкам улиц. Линейный барьер может также быстро запретить пересечение нескольких дорог, отделяя, таким образом, возможный маршрут от нежелательных участков уличной сети.
Этот тип данных поддерживает следующее поля:
Поле | Описание | Тип данных |
---|---|---|
Name | Имя барьера. | Строковое |
BarrierType | Указывает, ограничивает ли прохождение через барьер перемещение полностью или масштабирует стоимость перемещения (например время или расстояние). Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
| Короткое целое |
ScaledTimeFactor | Это коэффициент, на который умножается время поездки по улицам, пересекающимся с барьером. Значение поля должно быть больше нуля. Это поле действительно только для барьеров с масштабированной стоимостью, и только если используются Единицы измерения времени. | Двойной точности |
ScaledDistanceFactor | Это коэффициент, на который умножается длина пути по улицам, пересеченным барьером. Значение поля должно быть больше нуля. Это поле действительно только для барьеров с масштабированной стоимостью, и только если используются Единицы измерения расстояния. | Двойной точности |
ScaledCostFactor | Это коэффициент, на который умножается стоимость пути по улицам, пересеченным барьером. Значение поля должно быть больше нуля. Это поле действительно только для барьеров с масштабированной стоимостью, и если не используются Единицы измерения времени или расстояния. | Двойной точности |
Locations | Информация в этом поле определяет, какие ребра и соединения сети покрыты линией или полигоном и долю покрытия для каждого покрытого элемента ребра. Вы не можете напрямую читать или редактировать информацию, содержащуюся в этом поле, но Network Analyst использует ее при выполнении анализа. Дополнительные сведения о способе размещения входных данных в сети | Blob |
PolygonBarriers
Используйте этот параметр, чтобы указать полигоны, которые либо полностью запрещают передвижение, либо пропорционально масштабируют время или расстояние, необходимое для передвижения по улицам, пересекаемым полигоном.
Этот тип данных поддерживает следующее поля:
Поле | Описание | Тип данных |
---|---|---|
Name | Имя барьера. | Строковое |
BarrierType | Указывает, ограничивает ли прохождение через барьер перемещение полностью или масштабирует стоимость перемещения (например время или расстояние). Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):
| Короткое целое |
ScaledTimeFactor | Это коэффициент, на который умножается время поездки по улицам, пересекающимся с барьером. Значение поля должно быть больше нуля. Это поле действительно только для барьеров с масштабированной стоимостью, и только если используются Единицы измерения времени. | Двойной точности |
ScaledDistanceFactor | Это коэффициент, на который умножается длина пути по улицам, пересеченным барьером. Значение поля должно быть больше нуля. Это поле действительно только для барьеров с масштабированной стоимостью, и только если используются Единицы измерения расстояния. | Двойной точности |
ScaledCostFactor | Это коэффициент, на который умножается стоимость пути по улицам, пересеченным барьером. Значение поля должно быть больше нуля. Это поле действительно только для барьеров с масштабированной стоимостью, и если не используются Единицы измерения времени или расстояния. | Двойной точности |
Locations | Информация в этом поле определяет, какие ребра и соединения сети покрыты линией или полигоном и долю покрытия для каждого покрытого элемента ребра. Вы не можете напрямую читать или редактировать информацию, содержащуюся в этом поле, но Network Analyst использует ее при выполнении анализа. Дополнительные сведения о способе размещения входных данных в сети | Blob |