Слой анализа маршрута

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

  • Поиск маршрутов, посещающих остановки в заданном порядке.

    Сохраненная последовательность

  • Поиск маршрутов, оптимизирующих последовательность остановок для сокращения всей поездки. Эта задача известна как расчет задачи коммивояжера или TSP.

    Последовательность оптимизирована

    Свойство Последовательность на вкладке Маршрут оптимизирует порядок остановок.

  • Построение нескольких маршрутов в одном анализе.

    Три выходных маршрута

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

  • Измерение расстояния поездки между множеством пар точек (пары Источник-Назначение).

    ПассажирВсего в милях

    Steven

    19.9

    Annette

    32.4

    Eli

    24.0

    Sharon

    20.7

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

  • Поиск самого быстрого общего маршрута и посещения некоторых остановок в определенное время дня, например, между 1:00 и 2:00 p.m.

    При помощи полей TimeWindowStart и TimeWindowEnd можно задать временные окна на остановках.

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

Далее описывается слой анализа маршрута, свойства его анализа и его классы объектов.

Класс объектов Остановки

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

Остановки: входные поля

Входное полеОписание

ObjectID

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

Shape

Поле геометрии, показывающее географическое положение объекта сетевого анализа.

Name

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

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

RouteName

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

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

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

TimeWindowStart

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

Если для TimeWindowStart задано значение 10:00 AM, и маршрут прибывает на остановку в 9:50 AM, то имеется 10 минут времени ожидания, которые добавляются к общему времени.

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

Часовой пояс для полей временного окна можно задать с помощью параметра time_zone_for_time_fields инструмента геообработки Создать слой анализа маршрута.

Как задать время для временного окна

TimeWindowEnd

В этом поле хранится самое позднее время для посещения остановки.

Вместе поля TimeWindowStart и TimeWindowEnd образуют временное окно, в рамках которого маршрут может посетить остановку.

Если положение имеет значение TimeWindowEnd, равное 11:00 AM, и самый ранний маршрут может достичь остановки в 11:25 AM, фиксируется превышение в 25 минут. Кроме того, на остановке появляется символ, соответствующий превышению временного окна.

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

Часовой пояс для полей временного окна можно задать с помощью параметра time_zone_for_time_fields инструмента геообработки Создать слой анализа маршрута.

Как задать время для временного окна

Attr_[Стоимость]

(например, Attr_Minutes, где Minutes – это стоимость перемещения)

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

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

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

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

Если существует несколько сетевых атрибутов стоимости, вы увидите несколько полей Attr_[Стоимость]. Впоследствии у вас может быть более одного поля Attr_[стоимость] на основе времени или расстояния. Предоставляемые вами значения полей приводятся, только если атрибут стоимости, на который ссылается имя поля, используется в анализе, например, для минимизации общего времени или расстояния.

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

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge
  • SnapX
  • SnapY
  • SnapZ
  • DistanceToNetworkInMeters

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

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

CurbApproach

Поле CurbApproach указывает направление, в котором транспортное средство может подъезжать или отправляться от сетевого местоположения Кратчайший путь между двумя точками может изменяться в зависимости от направления движения, разрешенного при прибытии в определенное место или выезде из него. Можно выбрать четыре варианта (их кодированные значения показаны в скобках):

  • Either side of vehicle (0) – Направление отправления транспортного средства из точки или прибытия в нее может быть любым. Развороты допустимы. Эту настройку следует выбирать в том случае, если транспортное средство может сделать в этой точке разворот, или если оно может съехать на подъездную дорогу или парковку и развернуться.
  • Right side of vehicle (1) – По прибытии в точку или отправлении из нее бордюр должен находиться с правой стороны от транспортного средства. Разворот запрещен.
  • Left side of vehicle (2) – По прибытии в точку или отправлении из нее бордюр должен находиться с левой стороны от транспортного средства. Разворот запрещен.
  • No U-Turn (3) – По прибытии транспортного средства в точку обочина может располагаться с любой стороны транспортного средства; но при отправлении транспортное средство не должно выполнять разворот.
Более подробно о разворотах и направлении подъезда

LocationType

Это поле описывает тип остановки.

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

Примечание:
Временное окно только указывает, когда транспортное средство может прибыть на остановку, а не когда также завершается Attr_[Стоимость]. Чтобы учесть время обслуживания и уехать до окончания временного окна, вычтите значение Attr_[Стоимость] из поля TimeWindowEnd.

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

Остановки: входные/выходные поля

Входное/Выходное полеОписание

Sequence

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

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

Status

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

  • OK (0) – Точка допустима.
  • Not located (1) – Точка не найдена в сети.
  • Network element not located (2) – Невозможно найти элемент сети, определяемый полями сетевого расположения данной точки. Это может произойти, если элемент сети, где должна быть расположена эта точка, был удален, а перерасчет сетевого положения не выполнен.

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

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

Остановки: выходные поля

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

ArriveCurbApproach

Указывает на сторону транспортного средства, с которой должен находится бордюр при прибытии на остановку. Если для остановки значение CurbApproach задано как Справа по направлению движения, то после расчета ArriveCurbApproach будет равно Справа по направлению движения. Однако, если значение CurbApproach установлено на С любой стороны или Без разворота, то ArriveCurbApproach может быть как слева, так и справа, в зависимости от того, что приведет на кратчайший маршрут.

DepartCurbApproach

Указывает на сторону транспортного средства, с которой должен находится бордюр при отправлении с остановки. Если для сетевого положения значение CurbApproach задано как Справа по направлению движения, то после расчета DepartCurbApproach будет равно Справа по направлению движения. Однако, если значение CurbApproach установлено на С любой стороны или Без разворота, то DepartCurbApproach может быть как слева, так и справа, в зависимости от того, что приведет на кратчайший маршрут.

Cumul_[Стоимость]

(например, Cumul_Minutes, где Minutes – стоимость перемещения по сети)

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

Если слой анализа маршрута указывает, что для посещения двух остановок отводится 10 минут, а вторая остановка имеет значение Attr_Minutes, равное 5, то значение Cumul_Minutes будет равным 15 минутам.

Wait_[Стоимость]

(например, Wait_Minutes, где Minutes – это стоимость перемещения)

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

CumulWait_[Стоимость]

(например, CumulWait_Minutes, где Minutes – это стоимость перемещения)

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

Violation_[Стоимость]

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

CumulViolation_[Стоимость]

В этом поле хранится накопленное время нарушений (Violation_[Стоимость]) на текущей остановке и всех предыдущих остановках, посещенных на маршруте.

ArriveTime

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

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

DepartTime

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

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

ArriveTimeUTC

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

DepartTimeUTC

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

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

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

Маршруты: выходные поля

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

ObjectID

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

Name

Имя маршрута назначается автоматически при расчете слоя маршрута при считывании значения из поля RouteName класса объектов Остановки или, если это значение отсутствует, создается путем сочетания имен первой и последней остановок на маршруте, например, Остановка 1 – Остановка 8.

Shape

Поле геометрии, показывающее географическое положение объекта сетевого анализа.

FirstStopID

Значение ObjectID первой остановки на маршруте.

LastStopID

Значение ObjectID последней остановки на маршруте.

StopCount

Количество остановок, посещаемых на маршруте.

Total_[Стоимость]

(например, Total_Minutes, где Minutes – стоимость перемещения по сети)

Общее расстояние, время или другая стоимость перемещения от начала первой остановки до окончания последней. В это значение входят общая стоимость перемещения и Attr_[Стоимость] посещенных остановок.

TotalWait_[Стоимость]

(например, TotalWait_Minutes, где Minutes – стоимость перемещения по сети)

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

TotalViolation_[Стоимость]

(например, TotalViolation_Minutes, где Minutes – стоимость перемещения по сети)

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

StartTime

Время начала маршрута.

EndTime

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

StartTimeUTC

Время начала маршрута дается в формате Всемирного координированного времени (UTC).

EndTimeUTC

Время окончания маршрута в формате Всемирного координированного времени (UTC).

Свойства слоя анализа маршрута

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

Вкладка Маршрут

Запустить

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

Импорт остановок

Импорт остановок Импорт остановок находится в группе Входные данные. Щелкните на ней, чтобы загрузить в класс объектов остановок объекты из другого источника данных, например, слоя точечных объектов.

Импорт барьеров

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

Создать объекты

Щелкните кнопку Создать объекты Создать объекты, чтобы открыть панель Создать объекты. Выберите один из доступных шаблонов, чтобы создать объекты на текущей карте.

Мода

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

Последовательность

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

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

  • Использовать текущий Использовать текущий – сохраняет относительный порядок остановок в поле Sequence остановок.

    Любые остановки с нулевыми значениями поля Sequence наносятся после остановок со значениями, отличными от нуля.

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

  • Сохранить первую и последнюю остановку Сохранить первую и последнюю остановку – Маршрут начинается и заканчивается на первой и последней остановках соответственно. Порядок промежуточных остановок изменяется для поиска кратчайшего возможного маршрута.

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

  • Сохранить первую остановку Сохранить первую остановку – Маршрут начинается с первой остановки. Порядок последующих остановок изменяется для поиска кратчайшего возможного маршрута.

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

  • Сохранить последнюю остановку Сохранить последнюю остановку – Маршрут заканчивается на последней остановке. Порядок предыдущих остановок изменяется для поиска кратчайшего возможного маршрута.

    Если остановки имеют как нулевые, так и ненулевые значения поля Sequence, то маршрут заканчивается на последней остановке в классе пространственных объектов, которая имеет нулевое значение. Порядок всех предыдущих остановок оптимизируется вне зависимости от того, какие значения (нулевые или ненулевые) они имеют.

Дата и время

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

В ниспадающем списке представлены следующие опции:

  • Нет использования времени – результаты основаны на статичном времени движения, вне зависимости от того, включает ли источник данных в себя данные трафика. Время перемещения по ребру сети не меняется в течение дня. Текстовые поля Время дня и Дата остаются недоступными.

  • Время & Дата – время указывается как время дня и календарная дата. Текстовые поля Время дня и Дата доступны для предоставления этой информации.

  • День недели – указываются время дня и день недели. Текстовые поля Время дня и Дата доступны для предоставления этой информации. Задайте день недели, введя одно из следующих значений в текстовое поле Дата:

    • Понедельник
    • Вторник
    • Среда
    • Четверг
    • Пятница
    • Суббота
    • Воскресенье

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

  • Сейчас – при запуске анализа в качестве времени и даты задаются текущие время и дата. Это удобно, если набор сетевых данных настроен на данные реального трафика, и после расчета анализа маршруты передаются водителям для немедленного применения. Текстовые поля Время дня и Дата недоступны, то есть их значения нельзя изменить.

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

  • Местное время в местоположениях
  • UTC (Всемирное координированное время)

Линейный тип формы выходной геометрии

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

  • Без линий – не будут созданы никакие линейные формы.
  • Прямые линии – создается выходная упрощенная геометрия в виде прямых линий.
  • Вдоль сети – создаются истинные пути вдоль сети на карте.

Стоимостные атрибуты накопления

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

Ниспадающее меню Стоимостные атрибуты накопления

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

Чек бокс указывающий на неодинаковое состояние

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

Для атрибутов установлены отметки.

Путевой лист

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

Опубликовать как слои маршрутов

Кнопка Слои маршрутов Опубликовать как слой маршрута в группе Опубликовать как позволяет публиковать результаты анализа как слои маршрутов. Эта кнопка открывает инструмент геообработки Опубликовать как слои маршрутов. После успешного выполнения результаты анализа публикуются как элементы слоев маршрутов на портале.