В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Расширение имени файла | .пб |
---|---|
Первоначальный выпуск | 27 сентября 2011 г. (2011-09-27) |
Последний релиз | 2.0 11 марта 2024 г. (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 также содержит текущую широту и долготу транспортного средства, а также может включать в себя пеленг, одометр и скорость в м/с. Наконец, он также может содержать информацию о том, насколько переполнен автобус, известную как статус занятости, и статус загруженности дороги, испытываемой транспортным средством.
Оповещения могут быть показаны пользователям картографического приложения, чтобы предупредить их об объездах, отменах или других изменениях в обслуживании. [12] Этот канал содержит массив оповещений. Оповещения обычно не обновляются так часто, как позиции транспортных средств или обновления поездок. Каждое оповещение хранит причину (например, забастовку или механическую неисправность) инцидента, а также его последствия (сокращение обслуживания, объезд, отмена остановки и т. д.). Оповещения также содержат подробные заголовки, описания, URL-адреса, изображения и список затронутых маршрутов или остановок (известный как Информированная сущность). Оповещения указывают время начала и окончания действия с помощью «активных периодов». Оповещения могут быть локализованы на несколько языков.