Модель данных общественного транспорта Network Analyst
Доступно с лицензией Network Analyst.
Для моделирования сервиса общественного транспорта с учетом расписания в наборе сетевых данных у сети должен быть специальный набор таблиц и классов объектов с определенной схемой, который определяет остановки и маршруты, а также даты и время, когда этот сервис доступен. Эти таблицы и классы объектов составляют модель данных общественного транспорта Network Analyst, они описаны ниже.
Эти таблицы и классы объектов можно использовать в наборе сетевых данных по атрибутам стоимости на основе времени, который настроен на работу с алгоритмом оценки Общественный транспорт, он вычисляет время передвижения вдоль маршрута в указанное время дня на основе расписаний общественного транспорта, указанных в модели данных.
Примечание:
Корректные набор таблиц и класс объектов модели данных общественного транспорта могут быть созданы автоматически на основе данных общественного транспорта General Transit Feed Specification (GTFS) с помощью запуска инструментов геообработки GTFS в модель данных общественного транспорта и Подключить модель данных общественного транспорта к улицам. Полное описание рабочего процесса создания подобного набора данных находится в разделе Создание и использование набора сетевых данных с данными об общественном транспорте.
Модель данных общественного транспорта Network Analyst включает пять классов объектов, которые должны находиться в наборе объектов, где будет создан набор сетевых данных, и семь таблиц, которые должны находиться в родительской базе геоданных этого набора объектов. Данные должны храниться в файловой или многопользовательской базе геоданных; сетевые наборы данных в мобильной базе геоданных не поддерживают общественный транспорт. Кроме того, поскольку в модели данных должны участвовать классы объектов и таблицы с определенными именами, нет возможности добавлять более одного набора классов объектов и таблиц для модели данных общественного транспорта в одну и ту же базу геоданных. Вы можете включать данные от нескольких транспортных агентств в один и тот же набор классов объектов и таблиц, но в базе геоданных не может быть более одного отдельного набора таких классов объектов и таблиц.

В таблице ниже приведены все классы объектов и таблицы, необходимые для модели данных общественного транспорта, а также взаимоотношения между ними:
Классы объектов и таблицы модели данных общественного транспорта
|
Имя |
Описание |
Тип |
Обязательный |
|---|---|---|---|
|
Определяет локации и характеристики остановок общественного транспорта. Класс объектов |
Класс пространственных объектов |
Y |
|
|
Определяет локации, где пассажиры могут попасть на остановки транспорта с улиц или тротуаров. Основное назначение этого класса - это настройка корректной связности между улицами и маршрутами транспорта. Класс объектов |
Класс пространственных объектов |
N |
|
|
Создает соединения между остановками и их местоположением на улице, которое определяется связанным объектом Класс объектов |
Класс пространственных объектов |
N |
|
|
Линейные объекты, определяющие маршруты общественного транспорта. Каждый объект В наборе сетевых данных источник рёбер |
Класс пространственных объектов |
Y |
|
|
Линейные объекты определяют маршруты общественного транспорта, которые необходимо использовать для визуализации на карте. Этот дополнительный класс объектов не используется набора сетевых данных для маршрутизации, но может быть использован для улучшенной визуализации выходных данных в инструменте Вычислить частоту сервиса транспорта. |
Класс пространственных объектов |
N |
|
|
Определяет основные характеристики линий или маршрутов общественного транспорта. |
Таблица |
Y |
|
|
Определяет различные варианты линий. Например, у маршрута могут быть две разные конечные станции, при этом некоторые транспортные средства идут до одной конечной станции, а некоторые - до другой. Каждый из них может быть отдельным линейным вариантом. Каждый линейный вариант состоит из элементов линейных вариантов. |
Таблица |
Y |
|
|
Определяет уникальные особенности времени передвижения, связанные с линейными вариантами. Например, предположим, что в часы пик перемещение автобуса между остановками занимает порядка пяти минут, а в более свободные часы это время составляет всего 3 минуты. Таблица |
Таблица |
Y |
|
|
Определяет время передвижения по расписанию вдоль элемента линейного варианта, который является частью линейного варианта, с которым связано расписание. Последовательность элементов расписания определяет время передвижения для соответствующей последовательности элементов линейных вариантов для конкретного расписания. |
Таблица |
Y |
|
|
Определяет конкретное время начала, в которое начинается обслуживание поездки на основе шаблона времени передвижения, который задается расписанием. |
Таблица |
Y |
|
|
Определяет дни недели и диапазоны дат, когда запущен сервис общественного транспорта. Таблица |
Таблица |
Y |
|
|
Определяет исключения из регулярного расписания, например, некоторые даты, в которые общественный транспорт не работает. Таблица |
Таблица |
Y |

Посмотреть увеличенную версию модели данных.
Классы пространственных объектов
Большинство классов объектов в модели данных можно использовать в качестве источников для набора сетевых данных. Классы объектов Stops и StopsOnStreets могут быть источниками соединений, а классы LineVariantElements и StopConnectors — источниками рёбер. В наборе сетевых данных источник рёбер LineVariantElements, которые представляет сегменты маршрутов транспорта, должен использовать алгоритм Общественный транспорт в атрибутах стоимости на базе времени, чтобы моделировать время передвижения на общественном транспорте в соответствии с расписанием. Группы связности можно использовать для управления передвижением между улицами или линиями маршрутов на базе остановок и связующих объектов.
Класс объектов LVEShapes не используется набором сетевых данных и предназначен только для визуализации. В основном он используется инструментом Вычислить частоту сервиса транспорта.
Остановки
Класс пространственных объектов Stops определяет местоположения и характеристики остановок общественного транспорта. Он обязательно должен присутствовать в модели данных, чтобы корректно смоделировать систему общественного транспорта, однако он напрямую в алгоритме Общественного транспорта не используется.
Класс объектов Stops соответствует файлу GTFS stops.txt.
В следующей таблице описывается схема класса объектов Stops:
Остановки
|
Имя поля |
Описание |
Тип |
Обязательный |
Может содержать значение NULL |
|---|---|---|---|---|
|
|
ObjectID строки таблицы. |
ObjectID |
Y |
N |
|
|
Геометрия точки, которая определяет местоположение остановки. |
Shape |
Y |
N |
|
|
Уникальное ID остановки транспорта. |
Long |
Y |
N |
|
|
GTFS |
Текст |
N |
Y |
|
|
Определяет, является ли эта остановка регулярной остановкой общественного транспорта, родительской станцией, которая включает одну или несколько регулярных остановок, либо входом на станцию. Возможные значения приведены ниже:
Если остановка располагается внутри станции, то поле Если объект представляет собой вход на станцию ( Если Поле |
Short |
N |
Y |
|
|
Значение |
Long |
N |
Y |
|
|
Значение GTFS |
Текст |
N |
Y |
|
|
Определяет, есть ли доступ к остановке, станции или входу на станцию людям с ограниченными возможностями. Возможные значения приведены ниже:
Если объект является остановкой ( Поле |
Short |
N |
Y |
StopsOnStreets
Класс пространственных объектов StopsOnStreets определяет местоположения, где пассажиры могут попасть на остановки транспорта с улиц или тротуаров. Объекты StopsOnStreets могут представлять собой местоположения входов на станции, либо ближайшую точку, пересекающую улицу или тротуар рядом с местоположением остановки, чтобы обеспечить связность сети.
Клас объектов StopsOnStreets не является обязательным в модели данных, но он помогает в построении корректной связности набора сетевых данных, поскольку не всегда попадают непосредственно на саму улицу. Если вы планируете моделировать людей, идущих по улицам и использующих систему общественного транспорта, вам нужен какой-то способ контролируемого соединения линий маршрутов с улицами, поэтому использовать этот класс объектов настоятельно рекомендуется.
У класса объектов StopsOnStreets нет строго определенной схемы данных. Если вы создали этот класс объектов с помощью инструмента Подключить модель данных общественного транспорта к улицам, то его схема будет такой же, как и у класса Stops. Но поскольку этот класс объектов не используется алгоритмом Общественного транспорта, вы можете использовать любые поля, которые наиболее подходят для того, что вы моделируете.
StopConnectors
Класс объектов StopConnectors определяет линейные объекты, соединяющие остановки с улицами с помощью соответствующих объектов StopsOnStreets. Основное назначение этого класса - это настройка корректной связности между улицами и маршрутами транспорта. Это позволяет пешеходу перемещаться по улицам, попадать на остановку общественного транспорта, использовать сервис расписания вдоль линии маршрута (объект LineVariantElements ), выйти с одной линии маршрута на другой остановке и вернуться на улицу, чтобы продолжить путь к месту назначения.
Остановки ^^^ на маршруте можно соединить с объектами улиц в наборе сетевых данных. Часть 1 показывает остановку на маршруте (оранжевый кружок) вдоль линии маршрута (синяя линия). Часть 2 показывает вершину (зеленый треугольник), добавленную к ближайшей точке ближайшего объекта улицы (черная линия). Часть 3 показывает копию остановки, замкнутую на объект улицы (фиолетовый кружок). Часть 4 показывает соединительную линию, созданную для того, чтобы подключить остановку к улице. Пеший маршрут между улицами и маршрутами моделируется с помощью этих соединений и правила связности в наборе сетевых данных.
Класс объектов StopConnectors не обязателен в модели данных и не используется в алгоритме Общественного транспорта. Однако поскольку нежелательно, чтобы остановки располагались непосредственно на улицах, рекомендуется использовать соединители, чтобы гарантировать связности между линиями маршрутов и улицами.
В следующей таблице схема класса объектов StopConnectors:
StopConnectors
|
Имя поля |
Описание |
Тип |
Обязательный |
Может содержать значение NULL |
|---|---|---|---|---|
|
|
ObjectID строки таблицы. |
ObjectID |
Y |
N |
|
|
Линейная форма объекта. Направление оцифровки объектов-соединителей с остановками должно быть от остановок к улицам. |
Shape |
Y |
N |
|
|
Значение поля |
Long |
N |
Y |
|
|
Определяет тип соединения для объекта между остановкой и улицами. Значение
|

ConnectorType 1. Родительская станция соединяется с улицей с помощью линии соединения с ConnectorType 0.
ConnectorType 1. Родительская станция соединяется с улицами в местах входов на станцию (зеленые квадраты) с помощью линий соединения с ConnectorType 2.Это поле не является обязательным, но может быть полезным при настройке алгоритмов оценки стоимости или атрибутов ограничений. Например, ваш атрибут стоимости может добавлять различные величины времени передвижения пешком в зависимости от значения поля ConnectorType.
Short
N
Y
GWheelchairBoarding
Определяет, будет ли путь между остановкой и улицей, представленный этой линией соединения, доступен для людей с ограниченными возможностями. Возможные значения приведены ниже:
0 (или Null)—нет информации о том, смогут ли люди с ограниченными возможностями перемещаться по этой линии соединения от улицы к остановке.
1 — путь между остановкой и улицей, представленный этой линией соединения, доступен для людей с ограниченными возможностями.
2 - путь между остановкой и улицей, представленный этой линией соединения, недоступен для людей с ограниченными возможностями.
Это поле может потребоваться при создании атрибутов ограничений в наборе сетевых данных для моделирования поведения пассажиров с ограниченными возможностями.
Short
N
Y
LineVariantElements
Класс объектов LineVariantElements определяет линии, представляющие маршруты общественного транспорта. Каждый элемент варианта линии представляет перемещение вдоль маршрута между двумя последующими остановками на маршруте.
В наборе сетевых данных источник рёбер LineVariantElements должен использовать алгоритм Общественный транспорт в атрибутах стоимости, чтобы моделировать актуальное время передвижения на общественном транспорте в соответствии с расписанием. Алгоритм Общественного транспорта будет вычислять время передвижения вдоль варианта линейного сегмента в указанное время дня на основании расписаний общественного транспорта, при этом выполняются запросы к различным таблицам модели данных общественного транспорта. Длина и форма элементов линейных вариантов не используются в алгоритме Общественного транспорта, поэтому геометрия объекта значения не имеет, однако каждый элемент должен соединяться с последующими остановками с обеих сторон, чтобы поддерживать правильную связность в наборе сетевых данных.
В следующей таблице схема класса объектов LineVariantElements:
LineVariantElements
|
Имя поля |
Описание |
Тип |
Обязательный |
Может содержать значение NULL |
|---|---|---|---|---|
|
|
ObjectID строки таблицы. |
ObjectID |
Y |
N |
|
|
Форма линии сегмента маршрута. Длина и форма линии этого объекта не используются алгоритмом Общественного транспорта для вычисления времени передвижения. Время движения берется из расписаний общественного транспорта, которые хранятся в таблицах модели данных. Следовательно, несмотря на то, что элементы вариантов линии должны иметь формы для моделирования связности в наборе сетевых данных, конкретные формы не имеют значения для расчета времени передвижения. Если вы создаете таблицы модели данных на основе данных GTFS с помощью инструмента GTFS в модель данных общественного транспорта, то элементы вариантов линий будут просто прямыми линиями, которые соединяют последовательно остановки на маршруте, а не географическими путями, которые транспортные средства проезжают в реальном мире. |
Shape |
Y |
N |
|
|
Значение поля |
Long |
Y |
N |
|
|
Вариант линии состоит из последовательности элементов вариантов линий, которая соединяет определенную последовательность остановок вдоль линии маршрута. Поле Например, вариант линии состоит из 10 элементов варианта линии, Значения |
Short |
Y |
N |
|
|
Элемент варианта линии представляет перемещение вдоль маршрута между двумя последующими остановками на маршруте. Поле |
Long |
N |
Y |
|
|
Элемент варианта линии представляет перемещение вдоль маршрута между двумя последующими остановками на маршруте. Поле |
Long |
N |
Y |
|
|
Значение поля У нескольких объектов |
Long |
N |
Y |
LVEShapes
Класс объектов LVEShapes определяет линии на карте, представляющие линии маршрутов общественного транспорта, которые могут быть использованы для визуализации на карте. Каждый объект представляет путь общественного транспорта вдоль маршрута между двумя последующими остановками на маршруте.
Этот дополнительный класс объектов не используется набора сетевых данных для маршрутизации, но может быть использован для улучшенной визуализации выходных данных в инструменте Вычислить частоту сервиса транспорта.
В следующей таблице схема класса объектов LVEShapes:
LVEShapes
|
Имя поля |
Описание |
Тип |
Обязательный |
Может содержать значение NULL |
|---|---|---|---|---|
|
|
ObjectID строки таблицы. |
ObjectID |
Y |
N |
|
|
Форма линии сегмента маршрута общественного транспорта, представляющая путь между последующими остановками на маршруте. |
Shape |
Y |
N |
|
|
Уникальный ID для объекта формы. |
Long |
Y |
N |
Таблицы
Эти таблицы в модели данных определяют расписания общественного транспорта. Эти таблицы используются алгоритмом Общественный транспорт для определения времени передвижения вдоль объекта LineVariantElements в указанное время дня на основе сервиса расписания транспорта.
Линии
Таблица Lines определяет линии маршрутов и их характеристики. Линия эквивалентна маршруту GTFS.

ID значение.В следующей таблице описана схема таблицы Lines:
Линии
|
Имя поля |
Описание |
Тип |
Обязательный |
Может содержать значение NULL |
|---|---|---|---|---|
|
|
ObjectID строки таблицы. |
ObjectID |
Y |
N |
|
|
Уникальное ID линии маршрута. |
Long |
Y |
N |
|
|
GTFS |
Текст |
N |
Y |
|
|
Режим общественного транспорта, который представляет эта линия. Возможные значения приведены ниже:
Поле |
Short |
N |
Y |
LineVariants
Таблица LineVariants определяет различные варианты линий. Например, у маршрута могут быть две разные конечные станции, при этом некоторые транспортные средства идут до одной конечной станции, а некоторые - до другой. Вариант линии состоит из последовательности элементов вариантов линий, которая соединяет определенную последовательность остановок вдоль линии маршрута.

LineID, но при этом они являются отдельными вариантами линий, каждый со своим значением ID, поскольку они идут к разным конечным станциям.В следующей таблице описана схема таблицы LineVariants:
LineVariants
|
Имя поля |
Описание |
Тип |
Обязательный |
Может содержать значение NULL |
|---|---|---|---|---|
|
|
ObjectID строки таблицы. |
ObjectID |
Y |
N |
|
|
Уникальное ID варианта линии. |
Long |
Y |
N |
|
|
Значение поля |
Long |
Y |
N |
|
|
Числовой код, обозначающий направление движения вдоль линии, которую представляет этот вариант линии, например, входной или выходной. Это поле является исключительно описательным и не влияет на маршрутизацию. Оно соответствует полю Возможные значения приведены ниже:
|
Short |
N |
Y |
|
|
Значение |
Текст |
N |
Y |
Schedules
Таблица Schedules определяет уникальные особенности времени передвижения, связанные с линейными вариантами. Например, предположим, что в часы пик перемещение автобуса между остановками занимает порядка пяти минут, а в более свободные часы это время составляет всего 3 минуты. Таблица Schedules будет содержать одну запись для 5-минутных интервалов и другую запись для 3-минутных. Отдельные компоненты расписания учитываются в таблице ScheduleElements. Расписания привязаны к вариантам линий.
В следующей таблице описана схема таблицы Schedules:
Schedules
|
Имя поля |
Описание |
Тип |
Обязательный |
Может содержать значение NULL |
|---|---|---|---|---|
|
|
ObjectID строки таблицы. |
ObjectID |
Y |
N |
|
|
Уникальный ID расписания. |
Long |
Y |
N |
|
|
Значение поля |
Long |
Y |
N |
ScheduleElements
Таблица ScheduleElements определяет время передвижения вдоль каждого элемента линии для конкретного расписания. Последовательность элементов расписания определяет время передвижения для соответствующей последовательности элементов линейных вариантов для конкретного расписания. Таблица ScheduleElements должна содержать последовательность строк для каждой строки в Schedules таблице.

В следующей таблице описана схема таблицы ScheduleElements:
ScheduleElements
|
Имя поля |
Описание |
Тип |
Обязательный |
Может содержать значение NULL |
|---|---|---|---|---|
|
|
ObjectID строки таблицы. |
ObjectID |
Y |
N |
|
|
Значение поля |
Long |
Y |
N |
|
|
Расписание состоит из упорядоченной последовательности элементов расписания, каждый из которых соответствует соответствующему элементу варианта линии для варианта линии, на который ссылаются как таблица Например, вариант линии состоит из 10 элементов варианта линии, Соответствующие Если вышеупомянутый вариант линии имеет дополнительное расписание, связанное с ним, таблица |
Short |
Y |
N |
|
|
Число минут, начиная с 0, в течение которого транспортное средство покидает исходную остановку элемента варианта линии с тем же Значение |
Double |
Y |
N |
|
|
Число минут, начиная с 0, в течение которого транспортное средство приезжает на конечную остановку элемента варианта линии с тем же |
Double |
Y |
N |
Runs
Таблица Runs определяет конкретные времена отправления, когда транзитный рейс начинает обслуживание вдоль последовательности элементов вариантов линии с учетом времени в пути, заданное определённым расписанием. Прогон соответствует поездке в GTFS. Таблица Runs также определяет, можно ли разместить инвалидные коляски и велосипеды в конкретном транспортном средстве, обслуживающем маршрут в это время суток.

В следующей таблице описана схема таблицы Runs:
Runs
|
Имя поля |
Описание |
Тип |
Обязательный |
Может содержать значение NULL |
|---|---|---|---|---|
|
|
ObjectID строки таблицы. |
ObjectID |
Y |
N |
|
|
Уникальный ID прогона. |
Long |
Y |
N |
|
|
Значение поля |
Long |
Y |
N |
|
|
Количество минут, начиная с полуночи, спустя которое транспортное средство отправляется с первой остановки. Например, если прогон начинается в 8:00 a.m., то значение |
Double |
Y |
N |
|
|
GTFS |
Текст |
N |
Y |
|
|
Значение поля |
Long |
Y |
N |
|
|
Определяет, есть ли доступ к этому прогону для людей с ограниченными возможностями. Возможные значения приведены ниже:
Это поле дополнительное. Если этого поля нет, то алгоритм Общественный транспорт будет учитывать все прогоны как пригодные для людей с ограниченными возможностями Поле |
Short |
N |
Y |
|
|
Определяет, доступен ли провоз велосипедов на этом прогоне. Возможные значения приведены ниже:
Это поле дополнительное. Если этого поля нет, то алгоритм Общественный транспорт будет учитывать все прогоны как пригодные для провоза велосипедов. Поле |
Short |
N |
Y |
Calendars
Таблица Calendars определяет дни недели и диапазоны дат, когда запущен сервис общественного транспорта.
При решении задачи сетевого анализа на конкретные даты алгоритм Общественный транспорт учитывает диапазон дат, указанный в полях StartDate и EndDate в таблице Calendars. При решении задачи сетевого анализа для любого дня недели поля StartDate и EndDate игнорируются, используются только поля дней недели, типа Monday, они определяют дни, по которым работает сервис общественного транспорта.
Таблица является обязательной в модели данных, но в ней может не быть записей, если вы не хотите задавать регулярный вариант сервиса общественного транспорта. Однако либо Calendars, либо CalendarExceptions должна быть заполнена строками. Если обе Calendarsи CalendarExceptionsзаполнены,CalendarExceptions изменяет регулярный сервис, определённый в Calendars.
В следующей таблице описана схема таблицы Calendars:
Calendars
|
Имя поля |
Описание |
Тип |
Обязательный |
Может содержать значение NULL |
|---|---|---|---|---|
|
|
ObjectID строки таблицы. |
ObjectID |
Y |
N |
|
|
Уникальный ID календаря. |
Long |
Y |
N |
|
|
GTFS |
Текст |
N |
Y |
|
|
Определяет, будет ли прогон с этим значением
|
Short |
Y |
N |
|
|
Определяет, будет ли прогон с этим значением
|
Short |
Y |
N |
|
|
Определяет, будет ли прогон с этим значением
|
Short |
Y |
N |
|
|
Определяет, будет ли прогон с этим значением
|
Short |
Y |
N |
|
|
Определяет, будет ли прогон с этим значением
|
Short |
Y |
N |
|
|
Определяет, будет ли прогон с этим значением
|
Short |
Y |
N |
|
|
Определяет, будет ли прогон с этим значением
|
Short |
Y |
N |
|
|
Начало диапазона дат, когда работает служба общественного транспорта, описанная этим набором данных. При решении задач сетевого анализа для конкретных дат алгоритм Общественный транспорт использует только прогоны с этим значением |
Дата |
N |
N |
|
|
Конец диапазона дат, когда работает служба общественного транспорта, описанная этим набором данных. Дата, указанная в поле При решении задач сетевого анализа для конкретных дат алгоритм Общественный транспорт использует только прогоны с этим значением |
Дата |
N |
N |
CalendarExceptions
Таблица CalendarExceptions определяет исключения из регулярного расписания, например, некоторые даты, в которые общественный транспорт не работает, либо вводятся дополнительные маршруты. Алгоритм Общественный транспорт использует даты исключений из этой таблицы только в том случае, если в сетевом анализе настроено использование конкретных дат, а не дней недели.
Таблица является обязательной в модели данных, но в ней может не быть записей, если вы не хотите задавать исключения для регулярного варианта сервиса общественного транспорта. Однако либо Calendars, либо CalendarExceptions должна быть заполнена строками. Если обе Calendarsи CalendarExceptionsзаполнены,CalendarExceptions изменяет регулярный сервис, определённый в Calendars. Если таблица Calendars является пустой, все маршруты общественного транспорта задаются в CalendarExceptions путем добавления обслуживания в указанные даты. В этом случае указанные даты должны использоваться в сетевого анализе вместо выбора дня недели.
В следующей таблице описана схема таблицы CalendarExceptions:
CalendarExceptions
|
Имя поля |
Описание |
Тип |
Обязательный |
Может содержать значение NULL |
|---|---|---|---|---|
|
|
ObjectID строки таблицы. |
ObjectID |
Y |
N |
|
|
Идентификатор исключения, который может соответствовать или не соответствовать значению в поле Значения в этом поле не обязательно должны быть уникальными, но каждая уникальная комбинация |
Long |
Y |
N |
|
|
GTFS |
Текст |
N |
Y |
|
|
Дата службы общественного транспорта, описанная в этом исключении, добавляется или удаляется. |
Дата |
Y |
N |
|
|
Определяет, будет ли служба общественного транспорта добавляться или удаляться в даты, описанные в поле
Поле |
Short |
Y |
N |