Доступно с лицензией Network Analyst.
Для моделирования сервиса общественного транспорта с учетом расписания в сетевом наборе данных у сети должен быть специальный набор таблиц и классов объектов с определенной схемой, который определяет остановки и маршруты, а также даты и время, когда этот сервис доступен. Эти таблицы и классы объектов составляют модель данных общественного транспорта Network Analyst, они описаны ниже.
Эти таблицы и классы объектов можно использовать в сетевом наборе данных по атрибутам стоимости на основе времени, который настроен на работу с алгоритмом оценки Общественный транспорт, он вычисляет время передвижения вдоль маршрута в указанное время дня на основе расписаний общественного транспорта, указанных в модели данных.
Примечание:
Корректные набор таблиц и класс объектов модели данных общественного транспорта могут быть созданы автоматически на основе данных общественного транспорта General Transit Feed Specification (GTFS) с помощью запуска инструментов геообработки GTFS в модель данных общественного транспорта и Подключить модель данных общественного транспорта к улицам. Полное описание рабочего процесса создания подобного набора данных находится в разделе Создание и использование сетевого набора данных с данными об общественном транспорте.
Модель данных общественного транспорта Network Analyst состоит из четырех классов объектов, которые должны находиться в наборе данных объектов, в котором будет создан сетевой набор данных, а также из семи таблиц, которые должны находиться в родительской базе геоданных этого набора. Данные должны храниться в файловой или многопользовательской базе геоданных, модель данных общественного транспорта не поддерживает шейп-файлы. Кроме того, поскольку в модели данных должны участвовать классы объектов и таблицы с определенными именами, нет возможности добавлять более одного набора классов объектов и таблиц для модели данных общественного транспорта в одну и ту же базу геоданных. Вы можете добавить данные из нескольких источников в один набор классов объектов и таблиц, но вы не можете хранить разные отдельные наборы классов объектов и таблиц внутри одной базы геоданных.
В таблице ниже приведены все классы объектов и таблицы, необходимые для модели данных общественного транспорта, а также взаимоотношения между ними:
Классы объектов и таблицы модели данных общественного транспорта
Имя | Описание | Тип | Обязательный |
---|---|---|---|
Определяет локации и характеристики остановок общественного транспорта. Класс объектов Stops обязательно должен присутствовать в модели данных, чтобы корректно смоделировать систему общественного транспорта, однако он напрямую в алгоритме Общественного транспорта не используется. | Класс пространственных объектов | Y | |
Определяет локации, где пассажиры могут попасть на остановки транспорта с улиц или тротуаров. Основное назначение этого класса - это настройка корректной связности между улицами и маршрутами транспорта. Класс объектов StopsOnStreets не обязателен в модели данных и не используется в алгоритме Общественного транспорта, но он полезен для определения связности сетевого набора данных. | Класс пространственных объектов | N | |
Создает соединения между остановками и их местоположением на улице, которое определяется связанным объектом StopsOnStreets. Основное назначение этого класса - это настройка корректной связности между улицами и маршрутами транспорта. Класс объектов StopConnectors не обязателен в модели данных и не используется в алгоритме Общественного транспорта, но он полезен для определения связности сетевого набора данных. | Класс пространственных объектов | N | |
Линейные объекты, определяющие маршруты общественного транспорта. Каждый объект LineVariantElements напрямую соединяет пару соседних остановок. В сетевом наборе данных источник ребер LineVariantElements должен использовать алгоритм Общественный транспорт в атрибутах стоимости, чтобы моделировать актуальное время передвижения на общественном транспорте в соответствии с расписанием. Алгоритм Общественного транспорта будет вычислять время передвижения вдоль варианта линейного сегмента в указанное время дня на основании расписаний общественного транспорта, при этом выполняются запросы к различным таблицам модели данных общественного транспорта. Длина и форма вариантов линейных элементов не используются в алгоритме общественного транспорта, поэтому геометрия объекта значения не имеет. | Класс пространственных объектов | Y | |
Определяет основные характеристики линий или маршрутов общественного транспорта. | Таблица | Y | |
Определяет различные варианты линий. Например, у маршрута могут быть две разные конечные станции, при этом некоторые транспортные средства идут до одной конечной станции, а некоторые - до другой. Каждый из них может быть отдельным линейным вариантом. Каждый линейный вариант состоит из элементов линейных вариантов. | Таблица | Y | |
Определяет уникальные особенности времени передвижения, связанные с линейными вариантами. Например, предположим, что в часы пик перемещение автобуса между остановками занимает порядка пяти минут, а в более свободные часы это время составляет всего 3 минуты. Таблица Schedules будет содержать одну запись для 5-минутных интервалов и другую запись для 3-минутных. | Таблица | Y | |
Определяет время передвижения по расписанию вдоль элемента линейного варианта, который является частью линейного варианта, с которым связано расписание. Последовательность элементов расписания определяет время передвижения для соответствующей последовательности элементов линейных вариантов для конкретного расписания. | Таблица | Y | |
Определяет конкретное время начала, в которое начинается обслуживание поездки на основе шаблона времени передвижения, который задается расписанием. | Таблица | Y | |
Определяет дни недели и диапазоны дат, когда запущен сервис общественного транспорта. Таблица Calendars является обязательной, но в ней может не быть записей, если вы не хотите задавать регулярный вариант сервиса общественного транспорта. Если эта таблица пуста, то таблица CalendarExceptions должна быть заполнена. Обе таблицы могут использоваться вместе. | Таблица | Y | |
Определяет исключения из регулярного расписания, например, некоторые даты, в которые общественный транспорт не работает. Таблица CalendarExceptions является обязательной, но в ней может не быть записей, если вы не хотите задавать исключения для регулярного варианта сервиса общественного транспорта. Если эта таблица пуста, то таблица Calendars должна быть заполнена. Обе таблицы могут использоваться вместе. | Таблица | Y |
Посмотреть увеличенную версию модели данных.
Классы пространственных объектов
Классы объектов в модели данных можно использовать в качестве источников для сетевого набора данных. Классы объектов Stops и StopsOnStreets могут быть источниками соединений, а классы LineVariantElements и StopConnectors источниками ребер. В сетевом наборе данных источник ребер LineVariantElements, которые представляет сегменты маршрутов транспорта, должен использовать алгоритм Общественный транспорт в атрибутах стоимости на базе времени, чтобы моделировать время передвижения на общественном транспорте в соответствии с расписанием. Группы связности можно использовать для управления передвижением между улицами или линиями маршрутов на базе остановок и связующих объектов.
Остановки
Класс пространственных объектов 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 остановки. Это поле используется только в информационных целях. | Text | N | Y |
GStopType | Определяет, является ли эта остановка регулярной остановкой общественного транспорта, родительской станцией, которая включает одну или несколько регулярных остановок, либо входом на станцию. Возможные значения приведены ниже:
Если остановка располагается внутри станции, то поле 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 текущей остановки или входа на родительскую станцию. Это поле используется только в информационных целях. | Text | N | Y |
GWheelchairBoarding | Определяет, есть ли доступ к остановке, станции или входу на станцию людям с ограниченными возможностями. Возможные значения приведены ниже:
Если объект является остановкой (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), выйти с одной линии маршрута на другой остановке и вернуться на улицу, чтобы продолжить свой путь к цели.
Класс объектов StopConnectors не обязателен в модели данных и не используется в алгоритме Общественного транспорта. Однако поскольку нежелательно, чтобы остановки располагались непосредственно на улицах, рекомендуется использовать соединители, чтобы гарантировать связности между линиями маршрутов и улицами.
В следующей таблице схема класса объектов StopConnectors:
StopConnectors
Имя поля | Описание | Тип | Обязательный | Может содержать значение NULL |
---|---|---|---|---|
ObjectID | ObjectID строки таблицы. | ObjectID | Y | N |
Shape | Линейная форма объекта. Направление оцифровки объектов-соединителей с остановками должно быть от остановок к улицам. | Shape | Y | N |
StopID | Значение поля ID остановки, которую этот объект StopConnectors соединяет с улицами. | Long | N | Y |
ConnectorType | Определяет тип соединения для объекта между остановкой и улицами. Значение ConnectorType определяет, представляет ли соединитель прямое подключение между остановкой и улицей, соединение от остановки к родительской станции, либо соединение от родительской станции к входу на станцию. Возможные значения приведены ниже:
Это поле не является обязательным, но может быть полезным при настройке алгоритмов оценки стоимости или атрибутов ограничений. Например, ваш атрибут стоимости может добавлять различные величины времени передвижения пешком в зависимости от значения поля ConnectorType. | Short | N | Y |
GWheelchairBoarding | Определяет, будет ли путь между остановкой и улицей, представленный этой линией соединения, доступен для людей с ограниченными возможностями. Возможные значения приведены ниже:
Это поле может потребоваться при создании атрибутов ограничений в сетевом наборе данных для моделирования поведения пассажиров с ограниченными возможностями. | 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 |
Таблицы
Эти таблицы в модели данных определяют расписания общественного транспорта. Эти таблицы используются алгоритмом Общественный транспорт для определения времени передвижения вдоль объекта LineVariantElements в указанное время дня на основе сервиса расписания транспорта.
Линии
Эта таблица Lines определяет линии маршрутов и их характеристики. Эта линия соответствует маршруту GTFS.
В следующей таблице описана схема таблицы Lines:
Линии
Имя поля | Описание | Тип | Обязательный | Может содержать значение NULL |
---|---|---|---|---|
ObjectID | ObjectID строки таблицы. | ObjectID | Y | N |
ID | Уникальное ID линии маршрута. | Long | Y | N |
GRouteID | GTFS route_id линии. Это поле используется только в информационных целях. | Text | N | Y |
GRouteType | Режим общественного транспорта, который представляет эта линия. Возможные значения приведены ниже:
Поле GRouteType соответствует полю route_type в файле routes.txt. | Short | N | Y |
LineVariants
Таблица LineVariants определяет различные варианты линий. Например, у маршрута могут быть две разные конечные станции, при этом некоторые транспортные средства идут до одной конечной станции, а некоторые - до другой. Вариант линии состоит из последовательности элементов вариантов линий, которая соединяет определенную последовательность остановок вдоль линии маршрута.
В следующей таблице описана схема таблицы LineVariants:
LineVariants
Имя поля | Описание | Тип | Обязательный | Может содержать значение NULL |
---|---|---|---|---|
ObjectID | ObjectID строки таблицы. | ObjectID | Y | N |
ID | Уникальное ID варианта линии. | Long | Y | N |
LineID | Значение поля ID строки в Lines, к которому принадлежит этот вариант линии. У нескольких вариантов линий может быть одинаковый LineID, каждая из них представляет отдельный шаблон элементов вариантов линии, который принадлежит заданной линии. | Long | Y | N |
GDirectionID | Числовой код, обозначающий направление движения вдоль линии, которую представляет этот вариант линии, например, входной или выходной. Это поле является исключительно описательным и не влияет на маршрутизацию. Оно соответствует полю direction_id GTFS. Возможные значения приведены ниже:
| Short | N | Y |
GShapeID | Значение shape_id GTFS, которому соответствует этот вариант строки. Это поле используется только в информационных целях. | Text | 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, с которым связан этот прогон. Это поле используется только в информационных целях. | Text | N | Y |
CalendarID | Значение поля ID для строки в таблице Calendars и соответствующее значение поля CalendarID в таблице CalendarExceptions, которое определяет дни недели или даты, когда работает этот прогон. | Long | Y | N |
GWheelchairAccessible | Определяет, есть ли доступ к этому прогону для людей с ограниченными возможностями. Возможные значения приведены ниже:
Это поле дополнительное. Если этого поля нет, то алгоритм Общественный транспорт будет учитывать все прогоны как пригодные для людей с ограниченными возможностями Поле GWheelchairAccessible соответствует полю wheelchair_accessible в файле trips.txt. | Short | N | Y |
GBikesAllowed | Определяет, доступен ли провоз велосипедов на этом прогоне. Возможные значения приведены ниже:
Это поле дополнительное. Если этого поля нет, то алгоритм Общественный транспорт будет учитывать все прогоны как пригодные для провоза велосипедов. Поле 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, с которым связан этот календарь. Это поле используется только в информационных целях. | Text | N | Y |
Monday | Определяет, будет ли прогон с этим значением CalendarID выполняться по понедельникам. Возможные значения приведены ниже:
| Short | Y | N |
Tuesday | Определяет, будет ли прогон с этим значением CalendarID выполняться по вторникам. Возможные значения приведены ниже:
| Short | Y | N |
Wednesday | Определяет, будет ли прогон с этим значением CalendarID выполняться по средам. Возможные значения приведены ниже:
| Short | Y | N |
Thursday | Определяет, будет ли прогон с этим значением CalendarID выполняться по четвергам. Возможные значения приведены ниже:
| Short | Y | N |
Friday | Определяет, будет ли прогон с этим значением CalendarID выполняться по пятницам. Возможные значения приведены ниже:
| Short | Y | N |
Saturday | Определяет, будет ли прогон с этим значением CalendarID выполняться по субботам. Возможные значения приведены ниже:
| Short | Y | N |
Sunday | Определяет, будет ли прогон с этим значением CalendarID выполняться по воскресеньям. Возможные значения приведены ниже:
| Short | Y | N |
StartDate | Начало диапазона дат, когда работает служба общественного транспорта, описанная этим набором данных. При решении задач сетевого анализа для конкретных дат алгоритм Общественный транспорт использует только прогоны с этим значением CalendarID, если дата анализа попадает в пределы диапазона дат между StartDate и EndDate. Диапазон дат между StartDate и EndDate игнорируется при решении задач сетевого анализа для любого дня недели, в этом случае будут использоваться только поля с днями недели, например, Monday. | Дата | N | N |
EndDate | Конец диапазона дат, когда работает служба общественного транспорта, описанная этим набором данных. Дата, указанная в поле EndDate, также включается в этот диапазон дат. При решении задач сетевого анализа для конкретных дат алгоритм Общественный транспорт использует только прогоны с этим значением CalendarID, если дата анализа попадает в пределы диапазона дат между StartDate и EndDate. Диапазон дат между StartDate и EndDate игнорируется при решении задач сетевого анализа для любого дня недели, в этом случае будут использоваться только поля с днями недели, например, Monday. | Дата | 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. Это поле используется только в информационных целях. | Text | N | Y |
ExceptionDate | Дата службы общественного транспорта, описанная в этом исключении, добавляется или удаляется. | Дата | Y | N |
GExceptionType | Определяет, будет ли служба общественного транспорта добавляться или удаляться в даты, описанные в поле ExceptionDate. Возможные значения приведены ниже:
Поле GExceptionType соответствует полю exception_type в файле calendar_dates.txt. | Short | Y | N |