GTFS в реальном времени

Стандарт для данных общественного транспорта в режиме реального времени
GTFS в реальном времени
Пример визуализации метрополитена Лос-Анджелеса в реальном времени с помощью GTFS
Расширение имени файла
.пб
Первоначальный выпуск27 сентября 2011 г. ; 13 лет назад (2011-09-27)
Последний релиз
2.0
11 марта 2024 г. ; 9 месяцев назад (2024-03-11)
Тип форматаФормат данных транзита в реальном времени
Расширенный отБуферы протоколов
СтандартФактический стандарт
Открытый формат ?Да, CC BY 3.0
Веб-сайтgtfs.org/realtime/

GTFS Realtime (также известный как GTFS-rt ) — это расширение GTFS , в котором агентства общественного транспорта обмениваются данными о местоположении транспортных средств в реальном времени, прогнозами времени прибытия и оповещениями, такими как объезды и отмены, через веб-сервер Protocol Buffers . [1]

Данные о местоположении в реальном времени непрерывно создаются агентством из систем автоматического определения местоположения транспортных средств (AVL). Время прибытия в поездку вычисляется с использованием моделей машинного обучения, которые анализируют исторические данные о местоположении и расписания. [2]

Стандарт используется организациями общественного транспорта по всему миру, включая США, Канаду, большинство стран Европейского Союза, Великобританию, Австралию, Новую Зеландию и Иокогаму (Япония) .

История

22 августа 2011 года Google выпустила первую версию GTFS-rt. [3] Эти данные были показаны пользователям Google Maps . [4]

В июле 2012 года Google Maps начал показывать оповещения от GTFS-rt. [5]

Предложение, созданное 28 июля 2015 года и объединенное 15 августа 2015 года, позволило объединить несколько типов объектов фида в один фид. [6] Хотя большинство агентств разделяют типы объектов фида (местоположения транспортных средств, поездки и оповещения), некоторые фиды по-прежнему объединены.

30 августа 2021 года был выпущен экспериментальный тип сущностей фида, Shapes. Shapes имеет возможность обновлять формы маршрута в реальном времени для отражения объезда, поскольку обновления маршрута отражаются либо ссылкой на существующую shape_id, либо определением в реальном времени новой формы как закодированной полилинии.

В 2022 году проект CalTrans Integrated Travel Project начал проверку расписания GTFS и каналов реального времени, публикуемых муниципальными и окружными агентствами общественного транспорта в Калифорнии. [7] Ежемесячно публикуются отчеты об ошибках в данных агентств, а также анализ типичных скоростей движения на улицах и дорожного движения.

В сентябре 2023 года Swiftly и приложение Transit предложили 2 дополнительных типа объектов фида: Stop и Trip Modifications. Они позволяют агентствам транслировать новые пути объезда маршрутов и новые временные остановки. Изменение было выпущено для пользователей в приложении Transit в нескольких агентствах. 11 марта 2024 года предложение было объединено и выпущено разработчиками GTFS. [8]

Стандарт

Спецификация GTFS Realtime определяется файлом .proto, размещенным Google. [9] Данные сериализуются в необработанные байты сервером, а затем десериализуются клиентом. Официально поддерживаемые библиотеки привязки GTFS-rt были созданы на .NET , Java , Javascript , Python и Go . Неофициальные библиотеки были написаны на других языках, таких как Rust .

В настоящее время в стандарте определены три официальных типа фидов: TripUpdates, VehiclePositions и Alerts. Shapes, Trip Modifications и Stops в настоящее время являются экспериментальными.

Агентства, поддерживающие GTFS-Realtime, обычно предоставляют отдельные URL-адреса для трех отдельных типов каналов и могут выбрать предоставление только некоторых каналов. В отличие от zip-файлов GTFS Schedule, многие агентства могут потребовать от разработчиков запрашивать ключ API по электронной почте или через веб-форму.

Затем разработчики пишут программы для периодического получения веб-API агентства по HTTP , обычно каждые несколько секунд или минут. Агентства обычно обновляют данные с частотой от 1 секунды до 1 минуты. Стандарта для потоковой передачи данных GTFS Realtime нет, также встроена поддержка, позволяющая удалять элементы из предыдущих итераций.

Обновления поездки

В спецификации GTFS поездка относится к оператору, управляющему транспортным средством с фиксированным маршрутом от начала маршрута до конца. Новая поездка начинается, когда транспортное средство разворачивается в конце своего маршрута.

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

Этот фид содержит массив обновлений поездок. Каждое обновление поездки перечисляет описание поездки (идентификатор поездки, идентификатор маршрута, время и дата начала, направление), время последнего обновления, может включать связанный номер транспортного средства и номер маршрута, а также содержит массив StopTimeUpdate . StopTimeUpdate может определять прошлые, текущие и будущие времена остановок, задержки и отмены. Идентификатор остановки ссылается на фид расписания GTFS, предоставляемый агентством.

Позиции транспортных средств

Позиции транспортных средств иногда отображаются в картографических приложениях, чтобы помочь пользователям отслеживать местоположение автобусов. [11] Этот канал содержит массив VehiclePositions . Как и обновления поездки, каждая VehiclePosition также может содержать базовое описание поездки, такое как идентификатор поездки, время начала и остановки, номер маршрута и связь с расписанием. VehiclePosition также содержит текущую широту и долготу транспортного средства, а также может включать в себя пеленг, одометр и скорость в м/с. Наконец, он также может содержать информацию о том, насколько переполнен автобус, известную как статус занятости, и статус загруженности дороги, испытываемой транспортным средством.

Оповещения

Оповещения MTA Subway GTFS-rt публикуются в приложении Transit

Оповещения могут быть показаны пользователям картографического приложения, чтобы предупредить их об объездах, отменах или других изменениях в обслуживании. [12] Этот канал содержит массив оповещений. Оповещения обычно не обновляются так часто, как позиции транспортных средств или обновления поездок. Каждое оповещение хранит причину (например, забастовку или механическую неисправность) инцидента, а также его последствия (сокращение обслуживания, объезд, отмена остановки и т. д.). Оповещения также содержат подробные заголовки, описания, URL-адреса, изображения и список затронутых маршрутов или остановок (известный как Информированная сущность). Оповещения указывают время начала и окончания действия с помощью «активных периодов». Оповещения могут быть локализованы на несколько языков.

Ссылки

  1. ^ "Ссылка - Общая спецификация транзитного фида". gtfs.org . Получено 2023-07-31 .
  2. ^ Паркфорд, Стэн (30 августа 2021 г.). «Как работают прогнозы?». Центр помощи Swiftly .
  3. ^ "История изменений | Realtime Transit". Google для разработчиков . Получено 2023-07-31 .
  4. ^ "Узнайте, когда ваш автобус опаздывает, с помощью обновлений в режиме реального времени на Картах Google". Официальный блог Google . Получено 2024-02-02 .
  5. ^ Дель Синьоре, Джон (31 июля 2012 г.). «Google Maps теперь выдает оповещения об изменениях в работе метро». Gothamist . Получено 07 августа 2023 г.
  6. ^ "Разрешить несколько типов сущностей фида в одном фиде от egorich239 · Запрос на извлечение № 7 · google/transit". GitHub . Получено 2023-12-07 .
  7. ^ "Cal-ITP представляет новый стандарт открытых данных для улучшения работы транспортных агентств". Mass Transit . 2022-06-07 . Получено 2024-02-02 .
  8. ^ "GTFS Trip-Modifications от gcamp · Pull Request #403 · google/transit". GitHub . Получено 2023-12-07 .
  9. ^ "transit/gtfs-realtime/proto/gtfs-realtime.proto на главном сервере · google/transit". GitHub .
  10. ^ "Предоставление информации о поездках в реальном времени с помощью TripUpdates - Справка транзитных партнеров". support.google.com . Получено 2023-08-07 .
  11. ^ "Позиции транспортных средств | Транзит в реальном времени". Google для разработчиков . Получено 2023-08-07 .
  12. ^ "Оповещения об обслуживании | Транзит в реальном времени". Google для разработчиков . Получено 2023-08-07 .
Retrieved from "https://en.wikipedia.org/w/index.php?title=GTFS_Realtime&oldid=1268011439"