Обзор GTFS Realtime

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

GTFS Realtime – это спецификация фидов, которая позволяет компаниям общественного транспорта передавать разработчикам приложений данные об изменениях в работе парка транспортных средств в режиме реального времени. Это расширение открытого формата данных GTFS (General Transit Feed Specification – спецификация фидов общественного транспорта), который позволяет обмениваться информацией о расписании и местоположении транспортных средств. Формат GTFS Realtime прост в реализации, совместим с GTFS и хорошо подходит для передачи данных, необходимых пассажирам.

В создании спецификации принимали участие агентства-партнеры, которые первыми использовали изменения в работе транспорта, несколько разработчиков из сферы общественного транспорта, и компания Google. Спецификация публикуется по лицензии Apache 2.0.

Что такое изменения в работе транспорта для Google Карт

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

Информация об изменениях в работе транспорта бывает двух видов: время отправления и оповещения. Партнеры программы "Google Транспорт" предоставляют ее в виде фидов в формате GTFS realtime. Он дополняет широко распространенный формат GTFS, используемый для передачи данных о расписании общественного транспорта. Ваш фид должен быть доступен для периодической загрузки в нашу систему, которая распознает обновления и обрабатывает их как изменения в расписании.

С чего начать

  1. Прочитайте оставшуюся часть обзора.
  2. Определите, какие элементы будут в вашем фиде.
  3. Ознакомьтесь с примерами фидов.
  4. Создайте собственные фиды, следуя этому руководству.
  5. Опубликуйте фид.

Обзор фидов GTFS Realtime

В настоящее время спецификация поддерживает следующие типы информации:

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

Фид может содержать элементы разных типов. Фиды передаются через HTTP и периодически обновляются. Файлы фидов – это обычные бинарные файлы, поэтому их можно размещать на любых веб-серверах, а для их передачи допустимо использовать и другие протоколы. Например, их можно размещать на серверах веб-приложений и получать по HTTP-запросу GET. Ограничений на периодичность или способ обновления и получения фидов нет.

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

Подробнее об элементах фида…

Формат данных

Формат обмена данными GTFS Realtime основан на протоколе Protocol Buffers.

Protocol Buffers – это платформенно-независимый механизм сериализации структурированных данных, совместимый с языками программирования. Формат Protocol Buffers аналогичен XML, однако он проще, компактнее и быстрее. Структура данных определяется в файле gtfs-realtime.proto, который затем применяется для генерации исходного кода, что позволяет легко компилировать и декомпилировать структурированные данные с использованием различных языков, таких как Java, C++ или Python.

Подробнее о Protocol Buffers…

Структура данных

Иерархия элементов и определения их типов описываются в файле gtfs-realtime.proto.

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

Подробнее о структуре данных…

Если вам нужна помощь

Если вы хотите участвовать в обсуждениях формата GTFS Realtime либо предложить изменения или дополнения к спецификации, подпишитесь на список рассылки GTFS Realtime.

Google Карты и изменения в работе транспорта

Одно из возможных применений GTFS Realtime – функция Google Карт Изменения в работе транспорта, которая позволяет получать информацию о расписании и другие сведения в режиме реального времени. Если вы представляете компанию, осуществляющую перевозки на общественном транспорте, и хотите предоставлять актуальную информацию об изменениях в маршрутах и расписании на Google Картах, перейдите на сайт партнерской программы "Google Транспорт".