Типы входных данных LastMileDelivery

Ниже описываются типы входных данных, которые можно указать при выполнении анализа доставки до двери.

Заказы

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

Этот тип данных поддерживает следующее поля:

ПолеОписаниеТип данных

Name

Имя заказа.

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

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

Текст

ServiceTime

Значение времени, которое будет проведено в сетевом положении при посещении его на маршруте; это означает, значение импеданса для сетевого положения. Нулевое значение или значение NULL указывают, что сетевое положение не требует времени обслуживания.

Единицы измерения для значения данного поля задаются свойством timeUnits объекта анализа.

Double

TimeWindowStart

Время начала временного окна для заказа. Это поле может содержать значение null, что указывает на отсутствие времени начала.

Временное окно только указывает, когда транспортное средство может прибыть по заказу, но не указывает, когда должно закончиться время обслуживания. Чтобы учесть время обслуживания и уехать до окончания временного окна, вычтите значение ServiceTime из значения поля TimeWindowEnd.

В полях временного окна (TimeWindowStart и TimeWindowEnd) требуется указать дату и время.

Значение этого поля можно задать с помощью объекта datetime Python, например, datetime.datetime(2019, 5, 11, 8, 30, 0), что представляет Субботу 11 мая 2019 8:30:00 AM.

Часовой пояс значения задается свойством timeZoneForTimeFields объекта анализа.

Более подробно о временных окнах

Дата

TimeWindowEnd

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

Дата

MaxViolationTime

Временное окно считается нарушенным, если прибытие происходит после окончания временного окна. В данном поле указывается максимальное допустимое время превышения для временного окна заказа. Оно может содержать нулевое значение, но не может содержать отрицательное. Нулевое значение показывает, что нарушение временного окна недопустимо; то есть временное окно является жестким. С другой стороны, значение NULL показывает, что для допустимого превышения времени предел отсутствует. Ненулевое значение указывает максимальное время опоздания. Например, маршрут может прибыть на точку заказа в течение 30 минут после окончания временного окна.

Единицы измерения для значения данного поля задаются свойством timeUnits объекта анализа.

Double

InboundArriveTime

Определяет, когда доставляемый товар будет готов на станции.

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

Это поле поможет смоделировать возможные наплывы заказов доставок. Например, работа над заказом требует специальных материалов, которые отсутствуют на станции. Материалы отправляются из другого места и прибудут на склад в 11:00. Чтобы убедиться, что ни один маршрут, который начинается до их доставки, не приписан к заказу, входное время заказа устанавливается на 11:00. Специальные материалы будут доставлены в 11:00, загружены в автомобиль, который затем отправится со станции выполнять приписанные ему заказы.

Значение этого поля можно задать с помощью объекта datetime Python, например, datetime.datetime(2019, 5, 11, 8, 30, 0), что представляет Субботу 11 мая 2019 8:30:00 AM.

Примечания:

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

  • Механизм расчета учитывает InboundArriveTime независимо от значений поля DeliveryQuantity_*.

  • Если указано также исходящее время выезда, этот момент времени должен наступить после входящего времени прибытия.

Дата

OutboundDepartTime

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

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

Это поле поможет смоделировать возможные наплывы заказов доставок. Например, судоходная компания посылает грузовики забрать пакеты с заказами, привезти их на станцию, откуда они будут перенаправлены на другие объекты и отправлены по маршруту к месту назначения. Ежедневно в 15:00 полуприцеп останавливается на станции, чтобы забрать приоритетные пакеты и отвезти их непосредственно на центральную станцию обработки. Чтобы избежать задержки приоритетных пакетов до 15:00 вечера следующего дня, судоходная компания старается, чтобы грузовики забирали приоритетные пакеты из заказов и отвозили их на станцию до 15:00. Этого можно достичь путем установки 15:00 в качестве исходящего времени отъезда.

Значение этого поля можно задать с помощью объекта datetime Python, например, datetime.datetime(2019, 5, 11, 8, 30, 0), что представляет Субботу 11 мая 2019 8:30:00 AM.

Примечания:

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

  • Механизм расчета учитывает OutboundDepartTime независимо от значений поля PickupQuantity_*.

  • Если указано также входящее время прибытия, этот момент времени должен наступить до исходящего времени отъезда.

Дата

  • DeliveryQuantity_1
  • DeliveryQuantity_2
  • DeliveryQuantity_3
  • DeliveryQuantity_4
  • DeliveryQuantity_5
  • DeliveryQuantity_6
  • DeliveryQuantity_7
  • DeliveryQuantity_8
  • DeliveryQuantity_9

Размер доставки. Размер можно указать в любом измерении, таком как вес, объем или количество. Если имеется несколько количеств для доставки, укажите их с помощью полей DeliveryQuantity_1, DeliveryQuantity_9.

Введите число объектов поставки без указания единиц. Например, если необходимо выполнить доставку объекта массой 300 фунтов по заказу, введите 300. Вам необходимо запомнить, что данное значение приведено в фунтах.

Убедитесь, что поля Capacity_* в таблице Routes и поля DeliveryQuantity_* и PickupQuantity_* в таблице Orders заданы таким же образом. Значения должны быть в одних и тех же единицах, а поля, заканчивающиеся одним номером, должны соответствовать друг другу. Например, предполагается, что Capacity_4, DeliveryQuantity_4 и PickupQuantity_4 описывают одну и ту же измеряемую величину в таких же единицах измерения.

Если любое из полей DeliveryQuanity_* используется для каких-либо заказов, ни одно из полей PickupQuantity_* не может быть использовано для заказов в анализе. Механизм расчета поддерживает либо все заказы на доставку, либо все заказы на сбор, но не оба варианта.

Значение по умолчанию - 0. Количество элементов доставки не может быть отрицательным.

Double

  • PickupQuantity_1
  • PickupQuantity_2
  • PickupQuantity_3
  • PickupQuantity_4
  • PickupQuantity_5
  • PickupQuantity_6
  • PickupQuantity_7
  • PickupQuantity_8
  • PickupQuantity_9

Размер загрузки. Размер можно указать в любом измерении, таком как вес, объем или количество. Если имеется несколько количеств для загрузки, укажите их с помощью полей PickupQuantity_1, PickupQuantity_9.

Эти поля аналогичны полям DeliveryQuantity_*.

Если любое из полей PickupQuanity_* используется для каких-либо заказов, ни одно из полей DeliveryQuantity_* не может быть использовано для заказов в анализе. Механизм расчета поддерживает либо все заказы на доставку, либо все заказы на сбор, но не оба варианта.

Значение по умолчанию - 0. Количество элементов сбора не может быть отрицательным.

Double

AnchorRule

Задает правило привязки для заказа, показывая, должен ли он быть первым или последним заказом на маршруте.

Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):

  • Null — заказ не имеет ограничений по привязке и может быть первым, последним или любым другим. Это значение используется по умолчанию.
  • 1 (Первая привязка) — заказ должен быть первым заказом на маршруте.
  • 2 (Последняя привязка) — заказ должен быть последним заказом на маршруте.

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

Long

AssignmentRule

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

  • Null – механизм расчета игнорирует предварительно назначенный маршрут (если есть) для заказа во время операции расчета. Он назначает заказу маршрут так, чтобы сократить общую стоимость функции достижения цели. Это значение используется по умолчанию.
  • 1 (Сохранить маршрут и соответствующий порядок следования) – Механизм расчета должен всегда назначать заказ для предварительно назначенного маршрута в предварительно назначенной относительной последовательности во время операции решения. Если правило назначения нельзя учесть, то это приведет к нарушению заказа. При помощи данной настройки поддерживается только относительная последовательность, а не абсолютная. Например, есть два заказа: A и B. Они имеют последовательные значения 2 и 3, соответственно. Если вы установите значения поля AssignmentRule на 1, значения последовательности заказов A и B могут измениться после расчета, поскольку другие заказы и посещения станции могут произойти до, между или после A и B. Однако B не может быть обслужен раньше, чем A.
  • 2 (Сохранить маршрут) – механизм расчета должен всегда назначать заказ для предварительно назначенного маршрута во время расчета. Если указано значение последовательности, оно будет использоваться для первоначального построения маршрута. Если заказ не может быть присвоен указанному маршруту, результатом будет нарушение заказа.
  • 3 (Отозвать) — заказ снимается с назначенного маршрута.

Long

RouteName

Имя маршрута, для которого назначен заказ.

Данное поле используется для предварительного назначения заказа определенному маршруту. Оно может содержать значение NULL, показывающие, что заказ предварительно не назначен ни одному маршруту, и механизм расчета определяет наилучшее из возможных назначений маршрутов для заказа. Если оно задано со значением null, то поле Sequence также должно быть равно null.

После вычисления, если заказ присвоен маршруту, то поле RouteName будет содержать имя маршрута, которому был назначен заказ.

Поле RouteName является внешним ключом для поля Name в классе Routes.

Текст

Sequence

Это обозначает последовательность заказа на маршруте.

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

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

После расчета в поле Sequence будут содержаться значения последовательности заказа для назначенного маршрута.

Long

CurbApproach

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

  • 0 (С любой стороны) – Транспортное средство может подъезжать и отъезжать от точки заказа в любом направлении, поэтому в месте заказа разрешен разворот. Данную настройку можно выбрать, если для транспортного средства возможно и желательно развернуться в месте заказа. Такое решение может зависеть от ширины дороги и интенсивности движения или от наличия у заказа места для стоянки, где транспортное средство может выполнить разворот.
  • 1 (Справа по направлению движения) – когда транспортное средство подъезжает или отъезжает от точки заказа, она должна находиться по правую сторону транспортного средства. Разворот запрещен. Эта опция обычно используется для таких транспортных средств, как автобусы, которые должны подъезжать к автобусной остановке так, чтобы она находилась справа.
  • 2 (Слева по направлению движения) – когда транспортное средство подъезжает и отъезжает от точки заказа, бордюр должен находиться с левой стороны транспортного средства. Разворот запрещен. Эта опция обычно используется для таких транспортных средств, как автобусы, которые должны подъезжать к автобусной остановке так, чтобы она находилась слева.
  • 3 (Нет разворота) – при подъезде транспортного средства к точке заказа бордюр может располагаться с любой стороны транспортного средства. Но при отправлении транспортное средство не должно выполнять разворот.

Атрибут CurbApproach был разработан для работы с обоими национальными стандартами дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда точка заказа находится с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. Вы можете выбрать, с какой из двух сторон подъехать к точке заказа, независимо от национального стандарта дорожного движения, т.е. где будет находится точка заказа – справа или слева от транспортного средства. Например, чтобы подъехать к точке заказа так, чтобы она не была отделена от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании.

Long

Bearing

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

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

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

Более подробно о направлении и допуске направления

Double

BearingTol

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

Единицами измерения являются градусы; в качестве значения по умолчанию используется 30. Значения должны быть больше 0 и меньше 180. Значение, равное 30, означает, что когда Network Analyst предпринимает попытку добавить сетевое местоположение на ребро, диапазон допустимых значений направления создается в пределах 15 градусов с каждой стороны ребра (слева и справа) и в обоих направлениях оцифровки ребра.

Более подробно о направлении и допуске направления

Double

NavLatency

Это поле может использоваться в процессе решения, только если в полях Bearing и BearingTol также есть значения; а ввод значения в поле NavLatency не является обязательным, даже когда в полях Bearing и BearingTol присутствуют значения. NavLatency указывает, сколько времени, как ожидается, пройдет с момента отправки информации GPS с движущегося транспортного средства на сервер и до момента получения обработанного маршрута навигационным устройством транспортного средства.

Единицы измерения времени NavLatency совпадают с единицами, которые задаются свойством timeUnits анализируемого объекта.

Double

Поля сетевого местоположения

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

Вместе эти четыре свойства описывают точку в сети, где расположен объект.

Дополнительные сведения о способе размещения входных данных в сети

Станции

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

Этот тип данных поддерживает следующее поля:

ПолеОписаниеТип данных

Name

Имя станции. Поля StartDepotName и EndDepotName маршрутов ссылаются на указанные здесь имена.

Имена станций чувствительны к регистру, должны быть уникальными и не пустыми.

Текст

CurbApproach

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

  • 0 (С любой стороны) – транспортное средство может подъезжать и отъезжать от станции в любом направлении, поэтому в месте инцидента разрешен разворот. Эту настройку можно выбрать, если транспортное средство может развернуться на станции и это удобно. Такое решение может зависеть от ширины дороги и интенсивности движения или от наличия у станции места для стоянки, где транспортное средство может выполнить разворот.
  • 1 (Справа по направлению движения) – когда транспортное средство подъезжает или отъезжает от станции, она должна находиться по правую сторону транспортного средства. Разворот запрещен. Эта опция обычно используется для таких транспортных средств, как автобусы, которые должны подъезжать к автобусной остановке так, чтобы она находилась справа.
  • 2 (Слева по направлению движения) – когда транспортное средство подъезжает и отъезжает от станции, бордюр должен находиться с левой стороны транспортного средства. Разворот запрещен. Эта опция обычно используется для таких транспортных средств, как автобусы, которые должны подъезжать к автобусной остановке так, чтобы она находилась слева.
  • 3 (Нет разворота) – при подъезде транспортного средства к станции бордюр может располагаться с любой стороны транспортного средства. Но при отправлении транспортное средство не должно выполнять разворот.

Атрибут CurbApproach был разработан для работы с обоими национальными стандартами дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда станция находится с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. Вы можете выбрать, с какой из двух сторон подъехать к станции, независимо от национального стандарта дорожного движения, т.е. где будет находится точка заказа – справа или слева от транспортного средства. Например, чтобы подъехать к станции так, чтобы она не была отделена от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании.

Long

Bearing

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

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

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

Более подробно о направлении и допуске направления

Double

BearingTol

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

Единицами измерения являются градусы; в качестве значения по умолчанию используется 30. Значения должны быть больше 0 и меньше 180. Значение, равное 30, означает, что когда Network Analyst предпринимает попытку добавить сетевое местоположение на ребро, диапазон допустимых значений направления создается в пределах 15 градусов с каждой стороны ребра (слева и справа) и в обоих направлениях оцифровки ребра.

Более подробно о направлении и допуске направления

Double

NavLatency

Это поле может использоваться в процессе решения, только если в полях Bearing и BearingTol также есть значения; а ввод значения в поле NavLatency не является обязательным, даже когда в полях Bearing и BearingTol присутствуют значения. NavLatency указывает, сколько времени, как ожидается, пройдет с момента отправки информации GPS с движущегося транспортного средства на сервер и до момента получения обработанного маршрута навигационным устройством транспортного средства.

Единицы измерения времени NavLatency совпадают с единицами, которые задаются свойством timeUnits анализируемого объекта.

Double

Поля сетевого местоположения

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

Вместе эти четыре свойства описывают точку в сети, где расположен объект.

Дополнительные сведения о способе размещения входных данных в сети

Маршруты

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

Примечание:

В отличие от других типов данных, таких как Orders и Depots, этот тип данных представляет собой таблицу и не содержит информации о местоположении.

Этот тип данных поддерживает следующее поля:

ПолеОписаниеТип данных

Name

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

Это поле является первичным ключом и используется в качестве внешнего ключа в классах Orders, Depot Visits и RouteSpecialties.

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

Текст

StartDepotName

Имя начальной станции маршрута. Это поле является внешним ключом для поля Name в классе Depots.

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

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

Виртуальные начальные станции не допускаются, если заказы или станции находятся в нескольких часовых поясах.

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

Текст

EndDepotName

Имя конечной станции маршрута. Это поле является внешним ключом для поля Name в классе Depots.

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

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

Текст

StartDepotServiceTime

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

Единицы измерения для значения данного поля задаются свойством timeUnits объекта анализа.

Время обслуживания на начальной и конечной станции является фиксированным (значения полей StartDepotServiceTime и EndDepotServiceTime) и не учитывает фактическую загрузку для маршрута. Например, время, затраченное на загрузку транспортного средства на начальной станции, может зависеть от размера заказов. Время обслуживания на станции может быть присвоено значениям, соответствующим полной загрузке грузовика или средней загрузке грузовика, или вы можете сделать оценку времени.

Double

EndDepotServiceTime

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

Единицы измерения для значения данного поля задаются свойством timeUnits объекта анализа.

Время обслуживания на начальной и конечной станции является фиксированным (значения полей StartDepotServiceTime и EndDepotServiceTime) и не учитывает фактическую загрузку для маршрута. Например, время, затраченное на загрузку транспортного средства на начальной станции, может зависеть от размера заказов. Время обслуживания на станции может быть присвоено значениям, соответствующим полной загрузке грузовика или средней загрузке грузовика, или вы можете сделать оценку времени.

Double

EarliestStartDate

Наиболее ранняя допустимая дата начала маршрута. Это значение используется механизмом расчета вместе со значением EarliestStartTime для указания самого раннего времени и даты начала маршрута.

Должно быть задано либо это поле, либо свойство earliestRouteStartDate объекта анализа. Если оставить это поле равным null, то для маршрута будет использоваться значение по умолчанию, установленное в свойстве earliestRouteStartDate.

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

Только дата

EarliestStartTime

Наиболее раннее допустимое время дня для начала маршрута. Это значение используется механизмом расчета вместе с полем EarliestStartDate для указания самого раннего времени и даты начала маршрута.

Должно быть задано либо это поле, либо свойство earliestRouteStartTime объекта анализа. Если оставить это поле равным null, то для маршрута будет использоваться значение по умолчанию, установленное в свойстве earliestRouteStartTime.

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

Только время

StartFlexibility

Показывает, через какое время, после самого раннего разрешенного времени начала, маршрут может быть начат. Значение может быть равно null или нулю, что означает отсутствие гибкости в выборе начального времени, или может быть положительным числом.

Единицы измерения для значения данного поля задаются свойством timeUnits объекта анализа.

Double

ArriveDepartDelay

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

Стоимость для этого атрибута выводится между визитами по несовпадающим заказам и станциям. Например, если маршрут начинается со станции и посещает первый заказ, ко времени пути добавляется общая задержка прибытия/отправления. То же касается пути от первого заказа ко второму. Если второй и третий заказы совпадают, значение ArriveDepartDelay между ними не добавляется, поскольку транспортному средству не нужно перемещаться.

Например, имеются пять совпадающих заказов в одном многоэтажном доме, которые обслуживаются тремя разными маршрутами. Это значит, что добавляются три задержки прибытия/отправления; то есть трем водителям необходимо раздельно найти места для парковки и войти в одно и то же здание. Однако если заказы могут быть обслужены одним маршрутом, парковаться и входить в здание необходимо только одному водителю – и возникает только одна задержка прибытия/отправления. Поскольку механизм расчета пытается минимизировать затраты, он попробует ограничить задержки прибытия/отправления и определяет вариант с одним маршрутом. (При наличии других ограничений – специальных требований, временных окон или емкостей – могут понадобиться несколько маршрутов для отправления.)

Единицы измерения для значения данного поля задаются свойством timeUnits объекта анализа.

Double

  • Capacity_1
  • Capacity_2
  • Capacity_3
  • Capacity_4
  • Capacity_5
  • Capacity_6
  • Capacity_7
  • Capacity_8
  • Capacity_9

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

Введите вместимости без указания единиц. Например, если автомобиль может перевозить максимум 40 000 фунтов, введите 40000. Необходимо помнить, что данное значение задано в фунтах.

Убедитесь, что поля Capacity_* в классе Routes и поля DeliveryQuantity_* и PickupQuantity_* в классе Orders заданы одинаково. Значения должны быть в одних и тех же единицах, а поля, заканчивающиеся одним номером, должны соответствовать друг другу. Например, предполагается, что Capacity_4, DeliveryQuantity_4 и PickupQuantity_4 описывают одну и ту же измеряемую величину в таких же единицах измерения.

Значение емкости не может быть отрицательным. Значение null эквивалентно бесконечности.

Внимание:
Механизм расчета только выполняет простой двоичный тест для определения превышения емкостей. Если значение емкости маршрута выше или равно общей вместимости, это предположит, что груз помещается в транспортное средство. Это может быть неверно, в зависимости от фактической формы груза и транспортного средства. Например, механизм расчета позволяет вам загрузить сферу объемом 1 000-кубических футов в грузовик вместимостью 1 000 кубических футов и шириной 8 футов. В действительности, сфера имеет диаметр 12,6 фута, и ее нельзя поместить в грузовик шириной 8 футов.

Double

FixedCost

Фиксированное денежная стоимость, которая принимается только в том случае, если маршрут используется в решении (то есть, что для него назначены некоторые заказы). Это поле может содержать значения NULL; значение NULL соответствует нулевой фиксированной стоимости. Эта стоимость является частью общей стоимости эксплуатации маршрута.

Double

CostPerUnitTime

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

Единицы измерения для значения данного поля задаются свойством timeUnits объекта анализа.

Double

CostPerUnitDistance

Примененная денежная стоимость – на единицу пройденного расстояния – для длины маршрута (общее пройденное расстояние). Это поле может содержать значения null; значение null указывает на нулевую стоимость.

Единицы измерения для значения данного поля задаются свойством distanceUnits объекта анализа.

Double

OvertimeStartTime

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

Например, если водителю выплачиваются сверхурочные, если общая длительность маршрута превышает восемь часов, значение OvertimeStartTime указывается равным 480 (8 часов * 60 минут/час), при этом в качестве единиц времени задано значение минуты.

Единицы измерения для значения данного поля задаются свойством timeUnits объекта анализа.

Double

CostPerUnitOvertime

Денежная стоимость для единицы времени сверхурочной работы. Это поле может содержать значения null; значение null соответствует равенству значений CostPerUnitOvertime и CostPerUnitTime.

Double

MaxOrderCount

Максимальное допустимое число заказов на маршруте. Значение null указывает на отсутствие ограничений на количество заказов, которые маршрут может посетить за день.

Long

MaxTotalTime

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

Должно быть задано либо это поле, либо свойство maxRouteTotalTime объекта анализа. Если оставить это поле равным null, то для маршрута будет использоваться значение по умолчанию, установленное в свойстве maxRouteTotalTime.

Единицы измерения для значения данного поля задаются свойством timeUnits объекта анализа.

Double

MaxTotalTravelTime

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

Это поле может содержать значения null; значение null соответствует отсутствию ограничений по максимально допустимому времени передвижения по маршруту. Значение данного поля не может быть больше значения поля MaxTotalTime.

Единицы измерения для значения данного поля задаются свойством timeUnits объекта анализа.

Double

MaxTotalDistance

Максимально допустимое расстояние для маршрута.

Это поле может содержать значения null; значение null соответствует отсутствию ограничений по максимально допустимому расстоянию маршрута.

Единицы измерения для значения данного поля задается свойством distanceUnits объекта анализа.

Double

ZoneName

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

Поле ZoneName является внешним ключом для поля Name в классе Zones.

Это поле может содержать значения null, что указывает на то, что для этого маршрута нет зоны маршрута.

Текст

IsHardZone

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

Значение 1 (true) определяет жесткую зону; это означает, что заказ, выходящий за пределы полигона зоны маршрута, не может быть назначен этому маршруту. Используется по умолчанию.

Значение 0 (false) показывает, что заказы, которые находятся вне полигона области маршрута, все еще могут быть назначены, но стоимость обслуживания заказа взвешена на основании функции евклидова расстояния от зоны маршрута. По мере увеличения расстояния по прямой от гибкой зоны до заказа вероятность того, что заказ будет назначен маршруту, уменьшается.

Long

AssignmentRule

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

  • Null — маршрут открыт для новых заказов. Это значение используется по умолчанию.
  • 1 (Закрыто) — маршрут не будет принимать новые заказы, но его можно перестроить или обновить выводы.
  • 2 (Exclude) – маршрут исключен из решения. Вывод для этого маршрута не будет обновлен. Заказы с соответствующим маршрутом также будут исключены из маршрута, и вывод этих заказов не будет обновлен.

Long

Zones

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

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

Тип данных поддерживает следующие поля:

ПолеОписаниеТип данных

Name

Название для зоны.

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

Текст

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

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

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

  • 2 (Added Cost) – прохождение через барьер увеличивает время в пути или расстояние на значение, указанное в полях Additional_Time, Additional_Distance или AdditionalCost. Этот тип барьера называется барьером дополнительной стоимости.

Long

Additional_Time

Добавленное время в пути при преодолении барьера.

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

Double

Additional_Distance

Добавленное расстояние при преодолении барьера.

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

Double

AdditionalCost

Добавленная стоимость при преодолении барьера.

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

Double

FullEdge

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

  • (0) False – разрешает путь по ребру до барьера, но не через него. Это значение используется по умолчанию.
  • 1 (True) – Запрещает путь повсюду в связанном ребре.

Long

CurbApproach

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

  • 0 (Любая сторона транспортного средства) – Барьер влияет на перемещение по ребру в обоих направлениях.
  • 1 (Правая сторона транспортного средства) – Распространяется только на те транспортные средства, для которых барьер находится с правой стороны по ходу движения. Барьер не влияет на автомобили, которые передвигаются по этому же ребру, но при этом барьер находится слева от них.
  • 2 (Левая сторона транспортного средства) – Распространяется только на те транспортные средства, для которых барьер находится с левой стороны по ходу движения. Барьер не распространяется на автомобили, которые передвигаются по этому же ребру, но при этом барьер находится справа от них.

Так как соединения являются точками и не имеют сторон, барьеры на соединениях влияют на все транспортные средства независимо от стороны подъезда.

Long

Bearing

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

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

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

Более подробно о направлении и допуске направления

Double

BearingTol

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

Единицами измерения являются градусы; в качестве значения по умолчанию используется 30. Значения должны быть больше 0 и меньше 180. Значение, равное 30, означает, что когда Network Analyst предпринимает попытку добавить сетевое местоположение на ребро, диапазон допустимых значений направления создается в пределах 15 градусов с каждой стороны ребра (слева и справа) и в обоих направлениях оцифровки ребра.

Более подробно о направлении и допуске направления

Double

NavLatency

Это поле может использоваться в процессе решения, только если в полях Bearing и BearingTol также есть значения; а ввод значения в поле NavLatency не является обязательным, даже когда в полях Bearing и BearingTol присутствуют значения. NavLatency указывает, сколько времени, как ожидается, пройдет с момента отправки информации GPS с движущегося транспортного средства на сервер и до момента получения обработанного маршрута навигационным устройством транспортного средства.

Единицы измерения времени NavLatency совпадают с единицами, которые задаются свойством timeUnits анализируемого объекта.

Double

Поля сетевого местоположения

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

Вместе эти четыре свойства описывают точку в сети, где расположен объект.

Дополнительные сведения о способе размещения входных данных в сети

LineBarriers

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

Этот тип данных поддерживает следующее поля:

ПолеОписаниеТип данных

Name

Имя барьера.

Текст

BarrierType

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

  • 0 (Ограничение) — Запрещает перемещение везде, где барьер пересекает транспортную сеть. Барьер рассматривается как ограничивающий линейный барьер.

  • 1 (Scaled Cost) – масштабирует стоимость (например, время в пути или расстояние), необходимую для проезда по лежащим ниже улицам, на коэффициент, указанный с помощью поля ScaledTimeFactor или ScaledDistanceFactor. Если улицы частично покрыты барьером, время в пути или расстояние будет соответственно разделены, а затем масштабированы. Например, коэффициент 0,25 означает, что ожидаемое время перемещения по соответствующим улицам в четыре раза меньше обычного. Коэффициент 3,0 означает, что ожидаемое время перемещения будет в три раза дольше обычного. Этот тип барьера рассматривается как линейный барьер масштабируемой стоимости. Его можно использовать, например, для моделирования снижения скорости движения из-за перекрытия полос во время проведения дорожных работ.

Long

ScaledTimeFactor

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

Double

ScaledDistanceFactor

Это коэффициент, на который умножается длина пути по улицам, пересеченным барьером. Значение поля должно быть больше нуля.

Double

ScaledCostFactor

Это коэффициент, на который умножается стоимость пути по улицам, пересеченным барьером. Значение поля должно быть больше нуля.

Double

Locations

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

Дополнительные сведения о способе размещения входных данных в сети

Blob

PolygonBarriers

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

Этот тип данных поддерживает следующее поля:

ПолеОписаниеТип данных

Name

Имя барьера.

Текст

BarrierType

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

  • 0 (Restriction) – запрещает прохождение через любую часть барьера. Этот барьер называется запрещающим полигональным барьером, поскольку он запрещает перемещение по пересекаемым улицам. Одним из применений этого типа барьеров является моделирование наводнений, покрывающих улицы, и перемещение по ним становится невозможным.

  • 1 (Scaled Cost) – масштабирует стоимость (например, время в пути или расстояние), необходимую для проезда по лежащим ниже улицам, на коэффициент, указанный с помощью поля ScaledTimeFactor или ScaledDistanceFactor. Если улицы частично покрыты барьером, время в пути или расстояние будет соответственно разделены, а затем масштабированы. Например, коэффициент 0,25 означает, что ожидаемое время перемещения по соответствующим улицам в четыре раза меньше обычного. Коэффициент 3,0 означает, что ожидаемое время перемещения будет в три раза дольше обычного. Этот тип барьера называется полигональным барьером масштабируемой стоимости. Например, он может использоваться для моделирования погодных условий, из-за которых скорость перемещения в указанных регионах снижается.

Long

ScaledTimeFactor

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

Double

ScaledDistanceFactor

Это коэффициент, на который умножается длина пути по улицам, пересеченным барьером. Значение поля должно быть больше нуля.

Double

ScaledCostFactor

Это коэффициент, на который умножается стоимость пути по улицам, пересеченным барьером. Значение поля должно быть больше нуля.

Double

Locations

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

Дополнительные сведения о способе размещения входных данных в сети

Blob