Обзор GTFS Realtime¶
Начало работы¶
Предоставление пользователям обновлений транзитных данных в режиме реального времени значительно улучшает их впечатления от ваших транспортных услуг. Предоставление актуальной информации о текущем времени прибытия и отправления позволяет пользователям плавно планировать свои поездки. В результате, в случае досадной задержки, пассажиру будет легче узнать, что он может еще немного побыть дома.
GTFS Realtime - это спецификация фида, которая позволяет агентствам общественного транспорта предоставлять разработчикам приложений обновления о своем парке в Realtime. Она является расширением GTFS (General Transit Feed Specification), открытого формата данных для расписаний общественного транспорта и связанной с ними географической информации. GTFS Realtime был разработан с учетом простоты реализации, хорошей совместимости с GTFS и ориентации на информацию о пассажирах.
Спецификация была разработана благодаря партнерству первоначальных агентств-партнеров Live Transit Updates, ряда разработчиков транспортных систем и компании Google. Спецификация опубликована под лицензией Apache 2.0.
Как начать?¶
- Продолжайте читать обзор ниже.
- Решите, какие сущности фида вы будете предоставлять.
- Просмотрите примеры фидов.
- Создайте свой собственный фид, используя эталон.
- Опубликуйте свой фид.
Обзор GTFS Realtime feeds¶
В настоящее время спецификация поддерживает следующие типы информации:
- Обновления о поездках - задержки, отмены, измененные маршруты
- Сервисные предупреждения - остановки, непредвиденные события, влияющие на станцию, маршрут или всю сеть.
- Положение транспортных средств - информация о транспортных средствах, включая местоположение и уровень загруженности.
Фид может, хотя и не обязан, объединять объекты разных типов. Фиды обслуживаются по протоколу HTTP и часто обновляются. Сам файл представляет собой обычный двоичный файл, поэтому любой тип веб-сервера может размещать и обслуживать файл (могут использоваться и другие протоколы передачи). В качестве альтернативы можно использовать серверы веб-приложений, которые в ответ на правильный запрос HTTP GET вернут фид. Нет никаких ограничений ни по частоте, ни по точному методу обновления или получения фида.
Поскольку GTFS Realtime позволяет вам представлять фактическое состояние вашего автопарка, фид должен обновляться регулярно - предпочтительно при поступлении новых данных от вашей системы автоматического определения местоположения транспортных средств.
Формат данных¶
Формат обмена данными GTFS Realtime основан на буферах протокола.
Буферы протокола - это нейтральный по отношению к language и платформе механизм для сериализации структурированных данных (вспомните XML, но меньше, быстрее и проще). Структура данных определяется в файле gtfs-realtime.proto, который затем используется для создания исходного кода, чтобы легко читать и записывать структурированные данные из и в различные потоки данных, используя различные языки - например, Java, C++ или Python.
Подробнее о буферах протоколов....
Структура данных¶
Иерархия элементов и определения их типов указаны в файле gtfs-realtime.proto.
Этот текстовый файл используется для создания необходимых библиотек на выбранном вами language программирования. Эти библиотеки предоставляют классы и функции, необходимые для создания действительных фидов GTFS Realtime. Библиотеки не только облегчают создание фидов, но и гарантируют, что будут созданы только действительные фиды.
Подробнее о структуре данных...
Получение справки¶
Чтобы принять участие в обсуждениях вокруг GTFS Realtime и предложить изменения и дополнения к спецификации, присоединяйтесь к GTFS Realtime mailing list и следите за обсуждениями в репозитории google/transit GitHub.
Карты Google и обновления транзита в реальном времени¶
Одним из возможных приложений, использующих GTFS Realtime, является Live Transit Updates, функция в Google Maps, предоставляющая пользователям информацию о транспорте Realtime. Если вы работаете в агентстве общественного транспорта, которое заинтересовано в предоставлении обновлений в Realtime на Картах Google, посетите страницу Google Transit Partner Page.