Исторический трафик

Доступно с лицензией Network Analyst.

Дополнительный модуль ArcGIS Network Analyst extension позволяет использовать данные исторического трафика для моделирования время-зависимых скоростей движения по дорогам. Благодаря этому расчет времени в пути и времени прибытия будет выполнен более точно, а время, затраченное на передвижение, вероятнее всего, сократится по сравнению с расчетами, при которых характер движения не учитывается.

Подсказка:

Учебные данные к дополнительному модулю Network Analyst, доступные на ArcGIS.com, содержат базу геоданных San Francisco с данными о дорожном движении. Ознакомившись с классом объектов Улицы (Streets), таблицей Ежедневных профилей (DailyProfiles) и таблицей Улиц ежедневных профилей (Streets_DailyProfiles), содержащимися в базе геоданных SanFrancisco.gdb, вы более ясно будете понимать этот вопрос. После загрузки и распаковки данных вы найдете базу геоданных SanFrancisco: \Network Analyst\Tutorial\SanFrancisco.gdb.

Примечание:

Движение можно настраивать только в базе геоданных. В наборе сетевых данных на основе шейп-файла такая настройка невозможна.

Свойства атрибутов исторического трафика

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

Вкладка Исторический трафик

  • Скорость—выберите Скорость, если данные об историческом трафике основаны на скорости.
  • Время в пути—выберите Время в пути, если данные об историческом трафике основаны на времени в пути.
  • Профили трафика—используйте таблицу ниже, чтобы настроить свойства для таблицы Профили трафика:

    СвойствоОписание

    Таблица профилей

    Имя таблицы, которая содержит профили трафика.

    Поле первого временного среза

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

    Поле последнего временного среза

    См. описание свойства Поле первого временного среза.

    Указать длительность каждого временного среза в минутах

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

    Указать время начала первого временного среза

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

    Например, пусть для свойства Поле первого временного среза задано значение SpeedFactor_0000, и этот временной срез начинается в полночь; тогда для свойства Время начала первого временного среза устанавливается значение 12 AM.

    Время окончания последнего временного среза

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

  • Назначение профиля—этот раздел назначает профили сегментам улиц и задает значения базовых линий.

    СвойствоОписание

    Таблица Улицы-Профиль

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

    Поле времени свободного перемещения или Поле скорости в свободном движении

    Имя этого свойства меняется в зависимости от того, какое значение выбрано данных исторического трафика: Время в пути или Скорость. Это свойство определяет поле, которое содержит время в пути при свободном движении или скорость свободного движения, если данные основаны на скорости.

    Единицы измерения поля свободного режима

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

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

    Имя поля, которое содержит идентификатор (ID) профиля дорожного движения для воскресенья, понедельника и т.д.

Создание данных исторического трафика для использования в дополнительном модуле Network Analyst

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

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

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

Типовая модель исторического трафика

Одним из способов хранения данных исторического трафика является создание набора стоимостей для каждого ребра. Стоимости будут представлять собой скорости движения в различное время суток на протяжении недели. Например, неделю можно разделить на 168 дискретных интервалов продолжительностью в 1 час. Это значит, что изменения движения на протяжении недели будут представлены 168 стоимостными атрибутами ребра. Если с целью повышения временного разрешения сократить интервал времени до пяти минут, то для каждого ребра потребуется 2016 стоимостных атрибутов. Хранение всех уникальных значений требует много места, особенно при работе с большими сетями. Также, поскольку в течение суток сетевая стоимость передвижения по многим улицам одинакова, будут дублироваться большие объемы данных. По данным причинам Network Analyst не поддерживает такой вариант моделирования.

Модель исторического трафика Network Analyst

Вместо того, чтобы сохранять всю информацию о движении по каждому объекту, ArcGIS минимизирует размер этой информации с помощью нормализованной модели. Вместо сохранения 168 или 2016 стоимостных атрибутов для каждого объекта создается соответствующая таблица, в которую помещаются эти данные. Каждая строка в таблице содержит данные о скорости, а в некоторых случаях, данные о времени в пути в каждом интервале на протяжении суток. Строка – это профиль движения. В ней представлены сведения об изменении скоростей в течение суток. Например, при наличии большого количества улиц с ограничением скорости движения до 60 км/час, скорость движения по которым отличается в разное время суток, в таблице профилей движения можно создать одиночную строку для отображения этой динамики и присвоить этим улицам одну строку или профиль движения. Было сделано несколько улучшений, чтобы один и тот же профиль движения можно присвоить даже дорогам с различными ограничениями скорости движения, но обладающим одинаковым характером движения в течение суток.

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

Теперь можно осуществлять анализ характера движения в течение суток через равные временные интервалы или промежутки. Данные выбираемых временных интервалов представляются в их временном разрешении. Доступны интервалы времени продолжительностью 1 час, 10 минут и так далее. Предположим, выбран 5-минутный интервал. Данные наблюдений записываются в виде коэффициентов масштабирования скоростей в свободном режиме движения. Коэффициенты масштабирования ограничены диапазоном от ноля до единицы. Предположим, вы наблюдаете за автомобилями, движущимися со скоростью 45 км/час в 8:00 утра. Эта скорость составляет 0,4 от значения скорости движения в свободном режиме. В 17:00 средняя скорость движения равна 95 км/час, что составляет 0,85 от скорости движения в свободном режиме. В 23:00 по дороге движутся всего несколько машин, а их средняя скорость составляет 70 миль в час (примерно 110 км/час). Это значение равно скорости движения в свободном режиме и коэффициент масштабирования равен единице.

Наблюдение за скоростью движения

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

Для представления времени в пути на этом участке по понедельникам используем профиль движения 68 (на диаграмме ниже).

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

Примечание:

Время суток в профиле соответствует местному времени, а именно часовому поясу, в котором находится соответствующее ребро. Таким образом, ребро в Лос-Анджелесе со ссылкой на профиль 68 будет иметь скорость, составляющую 40% от скорости движения в свободном режиме в 8:00 a.m. Скорость движения по ребру со ссылкой на тот же профиль, находящемуся в Нью-Йорке, будет составлять 40 от скорости движения в свободном режиме в 8:00 a.m.

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

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

Теперь, выбрав профиль для понедельника, необходимо повторить те же операции для остальных дней недели. Процесс проиллюстрирован ниже:

  1. Вычислите или зафиксируйте значения скоростей движения в свободном режиме по соответствующему участку улицы. (Повторно это действие выполнять не нужно, так как значения скоростей одинаковы для всех рабочих дней недели.)
  2. Зафиксируйте значения средних скоростей движения в равные интервалы времени в течение суток.
  3. Преобразуйте эти значения в коэффициент масштабирования (от 0 до 1) скорости движения в свободном режиме. (При моделировании времени в пути, а не скоростей движения коэффициент масштабирования должен быть выше или равен нулю.)
  4. Выберите профиль, в котором будут представлены данные о движении на участке улицы в требуемый день недели.

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

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

Профиль движения, который соответствует скорости движения на определенном участке дороги по выходным дням

Затем значения скоростей движения в свободном режиме и связи между участком улицы и профилями движения сохраняются в таблице Улицы-Профили (Streets-Profiles). Описание этой таблицы и других входных данных приведено в следующих разделах.

Сохранение данных и связей в базе геоданных

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

Примечание:

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

Класс объектов Streets

Каждый объект улицы обладает уникальным идентификатором, а именно значением ObjectID. В таблице Улицы-Профили (Streets-Profiles) улицы соотносятся с различными профилями движения с помощью уникального идентификатора.

Фрагмент таблицы атрибутов Streets

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

ПолеОбразцы имени поляОписание

Время в пути, не зависящее от времени

FT_Minutes

TF_Minutes

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

Время в пути по рабочим дням

FT_WeekdayMinutes

TF_WeekdayMinutes

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

(Независящее от дня недели и времени суток время в пути часто используют в качестве времени в пути буднего дня.)

Время в пути по выходным

FT_WeekendMinutes

TF_WeekendMinutes

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

Часовой пояс

TimeZoneID

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

Таблица профилей

Каждая запись в таблице профилей движения обладает уникальным идентификатором и несколькими полями для хранения коэффициента масштабирования скорости движения в свободном режиме в различное время суток. Сутки разбиты на временные интервалы или временные промежутки одинаковой продолжительности. Таким образом, 24 часа поделены на равные временные интервалы. Например, если длина временного среза составляет 5 минут, общее число полей будет равно 288 (одно с 12:00 до 12:05, другое с 12:05 до 12:10 и так далее).

В учебных данных базы геоданных Network Analyst для Сан-Франциско день разбит на пятиминутные интервалы времени. Поле SpeedFactor_0000 содержит коэффициенты масштабирования скорости движения в свободном режиме с 00:00 до 00:05. Поле SpeedFactor_1140 содержит множители для интервала с11:40 до 11:45. При установлении связи между объектом улицы и профилем можно получить ожидаемое значение времени в пути в любое время суток. Например, если улица связана с профилем 16, который показан на следующем рисунке, ожидаемое время в пути можно вычислить в 11:41, умножив значение времени в пути при отсутствии трафика на значение коэффициента SpeedFactor_1140, которое для этого профиля равно 0,889.

Исключение из таблицы профилей

Таблица Улицы-Профиль

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

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

Идентификатор класса объекта ребра

EdgeFCID

Этому полю следует дать имя EdgeFCID.

Long integer

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

Идентификатор объекта ребра

EdgeFID

Этому полю следует дать имя EdgeFID.

Long integer

Идентифицирует объект улицы.

Ребро от положения

EdgeFrmPos

Этому полю следует дать имя EdgeFrmPos.

Double

Работает в связке с EdgeToPos для идентификации направления движения или стороны улицы. Значение 0 указывает на начало линейного объекта, определенного направлением его вектора. Значение 1 обозначает противоположный конец.

Например, значение EdgeFrmPos, равное 0 и значение EdgeToPos, равное 1 обозначают правую сторону линейного объекта (с учетом того, что движение осуществляется по правой стороне). Профили движения, указанные в той же записи, будут представлять собой движение только по этой стороне улицы.

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

Ребро к положению

EdgeToPos

Этому полю следует дать имя EdgeToPos.

Double

Работает в связке с EdgeFrmPos для идентификации направления движения или стороны улицы.

Поле скорости в свободном движении

или

Поле времени свободного перемещения

BaseSpeedKPH

или

FreeflowMinutes

С плавающей запятой или двойной точности (Поле времени свободного перемещения)

С плавающей запятой или двойной точности, либо короткой или длинное целочисленное (Поле скорости в свободном движении)

Скорость движения в свободном режиме. Время в пути в свободном режиме (если необходимо).

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

Поле профиля Воскресенье

Profile_1

SundayProfile

Короткое или длинное целое

Object ID из таблицы профилей, наиболее точно представляющий характер движения по воскресеньям на участке улицы, обозначаемый значениями EdgeFCID, EdgeFID, EdgeFrmPos и EdgeToPos.

Поле профиля Понедельник

Profile_2

MondayProfile

Короткое или длинное целое

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

Поле профиля Вторник

Profile_3

TuesdayProfile

Короткое или длинное целое

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

Поле профиля Среда

Profile_4

WednesdayProfile

Короткое или длинное целое

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

Поле профиля Четверг

Profile_5

ThursdayProfile

Короткое или длинное целое

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

Поле профиля Пятница

Profile_6

FridayProfile

Короткое или длинное целое

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

Поле профиля Суббота

Profile_7

SaturdayProfile

Короткое или длинное целое

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

Примером таблицы Улицы-Профили является приведенная ниже таблица под именем Streets_DailyProfiles. Поле PROFILE_1 представляет поле профиля Воскресенье. Поле PROFILE_7 представляет поле профиля Суббота; Поля с PROFILE_2 до PROFILE_6 (не показано) представляют поля начиная с поля профиля Понедельник до поля профиля Пятница.

Выбранная запись (ObjectID 111) связывает профили для каждого из дней недели с со стороной "от-до" объекта улицы с object ID 28803. Направление улицы "от-до" определяется значениями EdgeFrmPos и EdgeToPos, которые равны соответственно нулю и единице. Профиль движения 12 представляет эту сторону улицы по воскресеньям и субботам, так как 12 – это значение, указываемое в профилях PROFILE_1 и PROFILE_7. В поле SPFREEFLOW указывается скорость движения по улице в направлении От-До в условиях свободного режима движения.

В первой записи (Object ID 109) содержатся профили для участка улицы с направлением "до-от", а во второй (Object ID 110) – профили для того же участка улицы в обратном направлении. Это связано с тем, что значения EdgeFCID и EdgeFID идентичны, а значения EdgeFrmPos и EdgeToPos противоположны друг другу. Обратите внимание, что значения полей профилей Воскресенье и Суббота равны нулю. Это значит, что сбор данных выполнен не был или для этих дней не был назначен профиль. При оценке данных исторического трафика по воскресеньям или субботам для этого ребра анализатору оценки движения по ребру придется обратиться к вторичному стоимостному атрибуту, указанному в списке.

Таблица Улицы-Профиль

Настройка исторического трафика

Следуйте инструкциям ниже, чтобы изменить настройки сетевого исторического трафика:

  1. Откройте диалоговое окно Свойства набора сетевых данных.
  2. Щелкните Трафик.

    Появятся две вкладки: Исторический трафик и Живой трафик. Однако если при создании набора сетевых данных, который вы используете, он не был настроен на поддержку трафика, то эти вкладки будут недоступны.

  3. Щелкните закладку Исторический трафик.
  4. Указать, на чем базируются данные исторического трафика: скорости или времени в пути.

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

  5. Настройте свойства в разделе Профили трафика.
  6. Настройте свойства в разделе Назначение профиля.
  7. Щёлкните OK.

    Изменения будут сохранены в наборе сетевых данных.