Модель данных общественного транспорта Network Analyst

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

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

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

Примечание:

Корректные набор таблиц и класс объектов модели данных общественного транспорта могут быть созданы автоматически на основе данных общественного транспорта General Transit Feed Specification (GTFS) с помощью запуска инструментов геообработки GTFS в модель данных общественного транспорта и Подключить модель данных общественного транспорта к улицам. Полное описание рабочего процесса создания подобного набора данных находится в разделе Создание и использование сетевого набора данных с данными об общественном транспорте.

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

База геоданных, содержащая сетевой набор данных и все классы объектов и таблицы в модели данных общественного транспорта

В таблице ниже приведены все классы объектов и таблицы, необходимые для модели данных общественного транспорта, а также взаимоотношения между ними:

Классы объектов и таблицы модели данных общественного транспорта

ИмяОписаниеТипОбязательный

Остановки

Определяет локации и характеристики остановок общественного транспорта.

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

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

Y

StopsOnStreets

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

Класс объектов StopsOnStreets не обязателен в модели данных и не используется в алгоритме Общественного транспорта, но он полезен для определения связности сетевого набора данных.

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

N

StopConnectors

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

Класс объектов StopConnectors не обязателен в модели данных и не используется в алгоритме Общественного транспорта, но он полезен для определения связности сетевого набора данных.

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

N

LineVariantElements

Линейные объекты, определяющие маршруты общественного транспорта. Каждый объект LineVariantElements напрямую соединяет пару соседних остановок.

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

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

Y

LVEShapes

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

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

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

N

Линии

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

Таблица

Y

LineVariants

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

Таблица

Y

Schedules

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

Таблица

Y

ScheduleElements

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

Таблица

Y

Runs

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

Таблица

Y

Calendars

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

Таблица Calendars является обязательной, но в ней может не быть записей, если вы не хотите задавать регулярный вариант сервиса общественного транспорта. Если эта таблица пуста, то таблица CalendarExceptions должна быть заполнена. Обе таблицы могут использоваться вместе.

Таблица

Y

CalendarExceptions

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

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

Таблица

Y

Схема таблиц и классов объектов модели данных общественного транспорта и взаимоотношения между ними

Посмотреть увеличенную версию модели данных.

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

Большинство классов объектов в модели данных можно использовать в качестве источников для сетевого набора данных. Классы объектов Stops и StopsOnStreets могут быть источниками соединений, а классы LineVariantElements и StopConnectors источниками ребер. В сетевом наборе данных источник ребер LineVariantElements, которые представляет сегменты маршрутов транспорта, должен использовать алгоритм Общественный транспорт в атрибутах стоимости на базе времени, чтобы моделировать время передвижения на общественном транспорте в соответствии с расписанием. Группы связности можно использовать для управления передвижением между улицами или линиями маршрутов на базе остановок и связующих объектов.

Класс объектов LVEShapes не используется сетевым набором данных и предназначен только для визуализации. В основном он используется инструментом Вычислить частоту сервиса транспорта.

Остановки

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

Класс объектов Stops соответствует файлу GTFS stops.txt.

В следующей таблице схема класса объектов Stops:

Остановки

Имя поляОписаниеТипОбязательныйМожет содержать значение NULL

ObjectID

ObjectID строки таблицы.

ObjectID

Y

N

Shape

Геометрия точки, которая определяет местоположение остановки.

Shape

Y

N

ID

Уникальное ID остановки транспорта.

Long

Y

N

GStopID

GTFS stop_id остановки. Это поле используется только в информационных целях.

Текст

N

Y

GStopType

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

  • 0 (или Null)—регулярная остановка общественного транспорта или платформа, где пассажиры садятся или выходят из транспортного средства
  • 1 – станция, которая включает одну или несколько регулярных остановок, но сама по себе не является частью транспортного сервиса
  • 2 – вход на станцию, который определяет местоположение, где пассажиры могут попасть на станцию с улицы или тротуара

Если остановка располагается внутри станции, то поле ParentID должно быть заполнено значением ID другой остановки, которая является родительской по отношению к этой остановке. У объекта родительской станции значение GStopType должно быть 1, а у остановки значение GStopType должно быть 0 (или Null). Родительские станции не могут быть родительскими по отношению к другими родительским станциям.

Если объект представляет собой вход на станцию (GStopType 2), то должно быть поле ParentID, которое будет заполнено значением ID другой остановки, которая представляет родительскую станцию, для которой этот объект является входом. Вход на станцию не может иметь регулярной остановки, как его родительская станция. Входы на станцию могут быть только у родительских станций.

Если поля GStopType в таблице нет, все остановки будут учитываться как регулярные остановки общественного транспорта (GStopType 0). В этом случае все значения в поле ParentID будут проигнорированы.

Поле GStopType соответствует полю location_type в файле stops.txt.

Short

N

Y

ParentID

Значение ID текущей остановки или входа на родительскую станцию. Остановка с соответствующим значением ID должна иметь в поле GStopType значение 1.

Long

N

Y

GStopParen

Значение GTFS stop_id текущей остановки или входа на родительскую станцию. Это поле используется только в информационных целях.

Текст

N

Y

GWheelchairBoarding

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

  • 0 (или Null)—нет сведений о том, доступна ли остановка, станция или вход на станцию для людей с ограниченными возможностями.
  • 1 - остановка, станция или вход на станцию доступен людям с ограниченными возможностями.
  • 2 - остановка, станция или вход на станцию не доступен людям с ограниченными возможностями.

Если объект является остановкой (GStopType 0) или входом на станцию (GStopType 2), а значение GWheelchairBoarding равно 0 или Null, то объект наследует значение GWheelchairBoarding из родительской станции, которая указана в поле ParentID.

Поле GWheelchairBoarding соответствует полю wheelchair_boarding в файле stops.txt.

Short

N

Y

StopsOnStreets

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

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

У класса объектов StopsOnStreets нет строго определенной схемы данных. Если вы создали этот класс объектов с помощью инструмента Подключить модель данных общественного транспорта к улицам, то его схема будет такой же, как и у класса Stops. Но поскольку этот класс объектов не используется алгоритмом Общественного транспорта, вы можете использовать любые поля, которые наиболее подходят для того, что вы моделируете.

StopConnectors

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

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

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

В следующей таблице схема класса объектов StopConnectors:

StopConnectors

Имя поляОписаниеТипОбязательныйМожет содержать значение NULL

ObjectID

ObjectID строки таблицы.

ObjectID

Y

N

Shape

Линейная форма объекта. Направление оцифровки объектов-соединителей с остановками должно быть от остановок к улицам.

Shape

Y

N

StopID

Значение поля ID остановки, которую этот объект StopConnectors соединяет с улицами.

Long

N

Y

ConnectorType

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

  • 0 – прямое соединение между остановкой (GStopType 0) или родительской станцией (GStopType 1) и улицей
  • 1 – подключение от остановки (GStopType 0) к родительской станции (GStopType 1)
  • 2 – соединение от родительской станции (GStopType 1) ко входу на станцию (GStopType 2)

Остановка с родительской станцией
Показана остановка с родительской станцией. Остановка (оранжевый кружок) соединяется с родительской станцией (синий квадрат) с помощью линии соединения (серая линия) с 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 строки таблицы.

ObjectID

Y

N

Shape

Форма линии сегмента маршрута.

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

Shape

Y

N

LineVarID

Значение поля ID варианта линии, который является частью элемента варианта линии. Вариант линии состоит из последовательности элементов вариантов линий, которая соединяет определенную последовательность остановок вдоль линии маршрута.

Long

Y

N

SqIdx

Вариант линии состоит из последовательности элементов вариантов линий, которая соединяет определенную последовательность остановок вдоль линии маршрута. Поле SqIdx представляет последовательность вдоль линии маршрута, куда попадает этот элемент варианта линии, начиная с 1.

Например, вариант линии состоит из 10 элементов варианта линии, SqIdx первого элемента варианта линии будет 1. SqIdx второго элемента варианта линии будет 2, а SqIdx последнего (десятого) варианта линии будет 10.

Значения SqIdx в таблице ScheduleElements должны соответствовать значениям SqIdx, заданным здесь для элементов варианта линии.

Short

Y

N

FromStopID

Элемент варианта линии представляет перемещение вдоль маршрута между двумя последующими остановками на маршруте. Поле FromStopID определяет значение поля ID остановки, с которой начинается обслуживание (отправление) пассажиров вдоль этого элемента линии маршрута. Транспортное средство вдоль этого элемента варианта линии передвигается от FromStopID к ToStopID.

Long

N

Y

ToStopID

Элемент варианта линии представляет перемещение вдоль маршрута между двумя последующими остановками на маршруте. Поле ToStopID определяет значение поля ID остановки, на которую прибывает или к которой направляется транспортное средство вдоль этого элемента варианта линии. Транспортное средство вдоль этого элемента варианта линии передвигается от FromStopID к ToStopID.

Long

N

Y

LVEShapeID

Значение поля ID объекта LVEShapes, представляющего форму объекта LineVariantElements на карте. Объект LineVariantElements - это обычно прямая линия, соединяющая последующие остановки, не предназначенная для визуализации. Связанный объект LVEShapes представляет собой путь общественного транспорта при движении между двумя остановками, соединенными этим объектом LineVariantElements.

У нескольких объектов LineVariantElements могут быть одинаковые значения поля LVEShapeID.

Long

N

Y

LVEShapes

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

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

В следующей таблице схема класса объектов LVEShapes:

LVEShapes

Имя поляОписаниеТипОбязательныйМожет содержать значение NULL

ObjectID

ObjectID строки таблицы.

ObjectID

Y

N

Shape

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

Shape

Y

N

ID

Уникальный ID для объекта формы.

Long

Y

N

Таблицы

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

Линии

Эта таблица Lines определяет линии маршрутов и их характеристики. Эта линия соответствует маршруту GTFS.

Линии маршрутов
Показаны две линии маршрутов, у каждой никальное значение ID.

В следующей таблице описана схема таблицы Lines:

Линии

Имя поляОписаниеТипОбязательныйМожет содержать значение NULL

ObjectID

ObjectID строки таблицы.

ObjectID

Y

N

ID

Уникальное ID линии маршрута.

Long

Y

N

GRouteID

GTFS route_id линии. Это поле используется только в информационных целях.

Текст

N

Y

GRouteType

Режим общественного транспорта, который представляет эта линия. Возможные значения приведены ниже:

  • 0 – трамвай, легкорельсовый транспорт или любой другой тип транспортного сервиса, который использует пути на уровне улицы
  • 1 – подземка, метро или любой другой подземный транспорт
  • 2 – междугородний железнодорожный транспорт
  • 3 – автобус с фиксированным маршрутом или микроавтобус, работающий на улицах
  • 4 – паром
  • 5 – канатная дорога, которая проходит на уровне улицы и управляется кабелем
  • 6 – гондола или подвесная канатная дорога
  • 7 – фуникулер или другая железнодорожная система на крутом склоне
  • 11 – троллейбус с питанием от проводов
  • 12 – монорельсовая дорога

Поле GRouteType соответствует полю route_type в файле routes.txt.

Short

N

Y

LineVariants

Таблица LineVariants определяет различные варианты линий. Например, у маршрута могут быть две разные конечные станции, при этом некоторые транспортные средства идут до одной конечной станции, а некоторые - до другой. Вариант линии состоит из последовательности элементов вариантов линий, которая соединяет определенную последовательность остановок вдоль линии маршрута.

Два варианта линии с одним и тем же значением LineID
Два варианта линии на этой иллюстрации имеют одинаковое значение LineID, но при этом они являются отдельными вариантами линий, каждый со своим значением ID, поскольку они идут к разным конечным станциям.

В следующей таблице описана схема таблицы LineVariants:

LineVariants

Имя поляОписаниеТипОбязательныйМожет содержать значение NULL

ObjectID

ObjectID строки таблицы.

ObjectID

Y

N

ID

Уникальное ID варианта линии.

Long

Y

N

LineID

Значение поля ID строки в Lines, к которому принадлежит этот вариант линии. У нескольких вариантов линий может быть одинаковый LineID, каждая из них представляет отдельный шаблон элементов вариантов линии, который принадлежит заданной линии.

Long

Y

N

GDirectionID

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

Возможные значения приведены ниже:

  • 0 - Движение в одном направлении
  • 1 - Движение в обратном направлении

Short

N

Y

GShapeID

Значение shape_id GTFS, которому соответствует этот вариант строки. Это поле используется только в информационных целях.

Текст

N

Y

Schedules

Таблица Schedules определяет уникальные особенности времени передвижения, связанные с линейными вариантами. Например, предположим, что в часы пик перемещение автобуса между остановками занимает порядка пяти минут, а в более свободные часы это время составляет всего 3 минуты. Таблица Schedules будет содержать одну запись для 5-минутных интервалов и другую запись для 3-минутных. Отдельные компоненты расписания учитываются в таблице ScheduleElements. Расписания привязаны к вариантам линий.

В следующей таблице описана схема таблицы Schedules:

Schedules

Имя поляОписаниеТипОбязательныйМожет содержать значение NULL

ObjectID

ObjectID строки таблицы.

ObjectID

Y

N

ID

Уникальный ID расписания.

Long

Y

N

LineVarID

Значение поля ID строки в LineVariants, к которому привязано это расписание.

Long

Y

N

ScheduleElements

Таблица ScheduleElements определяет время передвижения вдоль каждого элемента линии для конкретного расписания. Последовательность элементов расписания определяет время передвижения для соответствующей последовательности элементов линейных вариантов для конкретного расписания. Таблица ScheduleElements должна содержать последовательность строк для каждой строки в таблице Schedules.

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

В следующей таблице описана схема таблицы ScheduleElements:

ScheduleElements

Имя поляОписаниеТипОбязательныйМожет содержать значение NULL

ObjectID

ObjectID строки таблицы.

ObjectID

Y

N

ScheduleID

Значение поля ID строки в таблице Schedules, к которому привязано этот элемент расписания. Расписание состоит из упорядоченной последовательности элементов расписаний.

Long

Y

N

SqIdx

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

Например, вариант линии состоит из 10 элементов варианта линии, SqIdx первого элемента варианта линии будет 1. SqIdx второго элемента варианта линии будет 2, а SqIdx последнего (десятого) варианта линии будет 10.

Соответствующие значения SqIdx для каждого элемента расписания должны совпадать со значениями SqIdx в классе объектов LineVariantElements. В примере выше предположим, что у варианта линии есть связанная с ним часть расписания. У первого элемента расписания этого расписания значение SqIdx должно быть 1, у второго - значение 2, а у последнего (десятого) - значение 10, по аналогии с элементами вариантов линии.

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

Short

Y

N

Departure

Число минут, начиная с 0, в течение которого транспортное средство покидает исходную остановку элемента варианта линии с тем же LineVarID, что и расписание, и SqIdx этого элемента расписания. Если транспортные средства отправляются с этой остановки через 20 минут после отправления с первой остановки этой линии, то значение Departure будет 20.

Значение Departure в элементе расписания с SqIdx равным 1 всегда должно быть 0.

Double

Y

N

Arrival

Число минут, начиная с 0, в течение которого транспортное средство приезжает на конечную остановку элемента варианта линии с тем же LineVarID, что и расписание, и SqIdx этого элемента расписания. Если транспортные средства прибывают на эту остановку сегмента через 23 минут после отправления с первой остановки этой линии, то значение Arrival будет 23.

Double

Y

N

Runs

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

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

В следующей таблице описана схема таблицы Runs:

Runs

Имя поляОписаниеТипОбязательныйМожет содержать значение NULL

ObjectID

ObjectID строки таблицы.

ObjectID

Y

N

ID

Уникальный ID прогона.

Long

Y

N

ScheduleID

Значение поля ID строки в таблице Schedules, к которому привязан этот прогон. Определяет график времени передвижения, которому будет следовать этот прогон.

Long

Y

N

StartRun

Количество минут, начиная с полуночи, спустя которое транспортное средство отправляется с первой остановки. Например, если прогон начинается в 8:00 a.m., то значение StartRun должно быть 480, т.к. 8:00 a.m. соответствует 8 часам или 480 после полуночи.

Double

Y

N

GTripID

GTFS trip_id, с которым связан этот прогон. Это поле используется только в информационных целях.

Текст

N

Y

CalendarID

Значение поля ID для строки в таблице Calendars и соответствующее значение поля CalendarID в таблице CalendarExceptions, которое определяет дни недели или даты, когда работает этот прогон.

Long

Y

N

GWheelchairAccessible

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

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

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

Поле GWheelchairAccessible соответствует полю wheelchair_accessible в файле trips.txt.

Short

N

Y

GBikesAllowed

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

  • 0 (или Null)—нет сведений о том, доступен ли прогон для провоза велосипедов. Алгоритм Общественный транспорт учитывает прогоны с этим значением как пригодные, если параметр Путешествие с велосипедом задан как True.
  • 1 – разрешено провозить велосипеды на прогоне. Алгоритм Общественный транспорт учитывает прогоны с этим значением как пригодные, если параметр Путешествие с велосипедом задан как True.
  • 2 – не разрешено провозить велосипеды на прогоне. Алгоритм Общественный транспорт учитывает прогоны с этим значением как непригодные, если параметр Путешествие с велосипедом задан как True.

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

Поле GBikesAllowed соответствует полю bikes_allowed в файле trips.txt.

Short

N

Y

Calendars

Таблица Calendars определяет дни недели и диапазоны дат, когда запущен сервис общественного транспорта.

При решении задачи сетевого анализа на конкретные даты алгоритм Общественный транспорт учитывает диапазон дат, указанный в полях StartDate и EndDate в таблице Calendars. При решении задачи сетевого анализа для любого дня недели поля StartDate и EndDate игнорируются, используются только поля дней недели, типа Monday, они определяют дни, по которым работает сервис общественного транспорта.

Таблица является обязательной в модели данных, но в ней может не быть записей, если вы не хотите задавать регулярный вариант сервиса общественного транспорта. Но Calendars, либо CalendarExceptions должны быть заполнены строками. Если заполнены и Calendars, и CalendarExceptions, CalendarExceptions вносит изменения в регулярный сервис, заданный в Calendars.

В следующей таблице описана схема таблицы Calendars:

Calendars

Имя поляОписаниеТипОбязательныйМожет содержать значение NULL

ObjectID

ObjectID строки таблицы.

ObjectID

Y

N

ID

Уникальный ID календаря.

Long

Y

N

GServiceID

GTFS service_id, с которым связан этот календарь. Это поле используется только в информационных целях.

Текст

N

Y

Monday

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

  • 0 – нет обслуживания в этот день недели.
  • 1 – есть обслуживание в этот день недели.

Short

Y

N

Tuesday

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

  • 0 – нет обслуживания в этот день недели.
  • 1 – есть обслуживание в этот день недели.

Short

Y

N

Wednesday

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

  • 0 – нет обслуживания в этот день недели.
  • 1 – есть обслуживание в этот день недели.

Short

Y

N

Thursday

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

  • 0 – нет обслуживания в этот день недели.
  • 1 – есть обслуживание в этот день недели.

Short

Y

N

Friday

Определяет, будет ли прогон с этим значением CalendarID выполняться по пятницам. Возможные значения приведены ниже:

  • 0 – нет обслуживания в этот день недели.
  • 1 – есть обслуживание в этот день недели.

Short

Y

N

Saturday

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

  • 0 – нет обслуживания в этот день недели.
  • 1 – есть обслуживание в этот день недели.

Short

Y

N

Sunday

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

  • 0 – нет обслуживания в этот день недели.
  • 1 – есть обслуживание в этот день недели.

Short

Y

N

StartDate

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

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

Date

N

N

EndDate

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

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

Date

N

N

CalendarExceptions

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

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

В следующей таблице описана схема таблицы CalendarExceptions:

CalendarExceptions

Имя поляОписаниеТипОбязательныйМожет содержать значение NULL

ObjectID

ObjectID строки таблицы.

ObjectID

Y

N

CalendarID

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

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

Long

Y

N

GServiceID

GTFS service_id, с которым связан этот CalendarException. Это поле используется только в информационных целях.

Текст

N

Y

ExceptionDate

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

Date

Y

N

GExceptionType

Определяет, будет ли служба общественного транспорта добавляться или удаляться в даты, описанные в поле ExceptionDate. Возможные значения приведены ниже:

  • 1 – в указанную дату транспорт будет работать.
  • 2 – в указанную дату транспорт работать не будет.

Поле GExceptionType соответствует полю exception_type в файле calendar_dates.txt.

Short

Y

N