Обзор GTFS Realtime

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

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

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

О функции "Изменения в работе транспорта"

Изменения в работе транспорта – это система оперативного оповещения пользователей 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 Карты и изменения в работе транспорта

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