Руководящие принципы

Руководящие принципы

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

Пригодность для передачи и обработки данных в режиме реального времени

Информация в реальном времени передается как постоянный поток данных, поэтому очень важно, чтобы фиды можно было быстро обрабатывать. В качестве основы для спецификации мы выбрали формат Protocol Buffers, поскольку это удобно для разработчиков и позволяет эффективно передавать данные. Мы считаем, что в большинстве случаев в фиды GTFS Realtime (в отличие от GTFS) данные не будут вноситься вручную. Благодаря Protocol Buffers основную часть таких фидов можно будет создавать и использовать при помощи программных средств.

В первую очередь – информация для пассажиров

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

Совместимость изменений спецификации с предыдущими версиями

При добавлении в спецификацию новых функций необходимо убедиться, что это не помешает корректной работе уже имеющихся фидов. Мы не хотим нагружать издателей фидов лишними задачами без их согласия. Желательно, чтобы существующие синтаксические анализаторы могли прочесть старые разделы обновленных фидов. Соглашения по расширению протокола Protocol Buffers будут до некоторой степени обеспечивать совместимость с предыдущими версиями, однако мы хотим избежать семантических изменений в существующих полях.

Запрет на добавление сомнительных функций

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

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