Изменения спецификации GTFS
Перевод версии от 16 октября 2012
Введение
Спецификация GTFS не высечена в камне. Наоборот, это открытый формат, разработанный и поддерживаемый сообществом перевозчиков, разработчиков приложений и других заинтересованных лиц, использующих GTFS. Ожидаемо, что это сообщество производителей и потребителей GTFS-данных будет выступать с предложениями по расширению формата для поддержки новых возможностей. Для упрощения управления этим процессом, были установлены следующие процедуры и правила.
Процесс внесения изменений
Основа процедуры внесения изменений в спецификацию состоит из нескольких шагов::
- Предложение изменения в специальной дискуссионной группе (на английском).
- Получение комметариев и отзывов от GTFS-сообщества и повторное внесение предложения.
- Поиск, как минимум, одного производителя и одного потребителя GTFS-данных для реализации и тестирования предлагаемого изменения.
- Финальный запрос комментариев к предлагаемому изменению в дискуссионной группе. Если в течение недели не обнаружится неразрешённых вопросов, то предложенное изменение будет официально принято.
Дискуссионная группа будет служить основным местом для предложения изменений в спецификации, таким, где пользователи GTFS могут узнать о предлагаемых изменениях и высказать свои замечания по ним. Если сообщество вцелом согласно, что предложение полезно и соответсвует руководящим принципам GTFS, изложенным ниже, оно будет официально добавлено в спецификацию. Также требуется, что бы предлагаемое изменение было реализованно хотя бы одним производителем и одним потребителем GTFS-данных, с целью проверки возможности внесения изменения на практике.
В дополнение к дискуссионной группе, будет действовать Сайт изменений GTFS, предназначенный для документирования происходящих в GTFS изменений.
Руководящие принципы
Для сохранения начального представления о формате GTFS был установлен ряд принципов, следование которым обязательно, при изменении спецификации:
Канал должен быть простым для создания и редактирования.
Мы приняли CSV за основу формата из-за его простоты для просмотра и редактирования в электронных таблицах и текстовых редакторах, что очень актуально для небольших предприятий. Он также хорош для непосредственной генерации большинством языков программирования и баз данных, что хорошо для создателей каналов большого объёма.
Канал должен быть прост для разбора (парсинга).
Пользователи канала должны иметь возможность извлечь информацию с минимальными трудозатратами. Изменения и дополнения канала должны быть настолько широко используемыми, насколько это возможно, чтобы свести к минимуму количество изменений кода, которые необходимо внести в программу чтения канала. (Однако, предпочтение следует отдавать обеспечению простоты создания, так как в конечном итоге создателей каналов будет больше, чем программ-читалок.)
Изменения спецификации должны быть обратно совместимыми.
При добавлении в спецификацию новых возможностей, мы хотим избежать изменений, которые сделают существующие каналы нечитаемыми. Мы не хотим создавать дополнительной работы создателям уже существующих каналов раньше, чем они захотят добавить новые возможности в свои каналы. Также, всякий раз, когда это возможно, мы хотим, что бы существующие парсеры были способны разбирать старые части новых каналов.
Умозрительные предложения не одобряются.
Каждая новая функция усложняет создание и чтение каналов. Поэтому мы хотим заботиться о том, чтобы добавлялись только те функции, в полезности которых мы уверенны. В идеале, любое предложение должно сопровождаться тестированием путём генерации данных для реальной транспортной системы, которая использует эту новую функцию, и написанием софта для её чтения и отображения. Обратите внимание, что формат GTFS может легко расширяться путём добавления дополнительных полей и файлов, которые будут просто игнорироваться официальными программами чтения и валидаторами. Поэтому предлагаемые дополнения могут быть легко испытанны на существующих каналах.
История изменений
15 октября 2012
- Добавлено предложенние по wheelchair_accessible в файле trips.txt: обсуждение (англ.)
20 июня 2012
- Добавлено предложенние по wheelchair_boarding: обсуждение (англ.)
2 февраля 2012
- Добавлено предложенние по stop_timezone: обсуждение (англ.)
18 января 2012
- Документация перенесена со своего старого места на code.google.com на новое на developers.google.com.
26 сентября 2011
- Добавлено предложенние по feed_info: обсуждение (англ.)
6 сентября 2011
- Добавлено предложенние по agency_fare_url: обсуждение (англ.)
- Добавлено предложенние по exact_times: обсуждение (англ.)
30 марта 2009
- Новый раздел о публикации GTFS-канала. Он не был предварительно обсуждён в дискуссионной группе, потому что он не изменяет правил того, как данные будут интерпретироваться или создаваться. Однако, некоторые люди в Гугле думали, что было бы полезно подключить к дискуссии и других пользователей GTFS, так как всё большее число приложений могут использовать GTFS-данные.
- Уточнения по формату CSV: обсуждение (англ.)
- Добавлено руководство по выбору контрастных цветов в описание полей route_color и route_text_color.
- trip_short_name, предложенное и протестированное в двух ветках: 1 и 2 (англ.)
- Исправление небольшой ошибки в демонстрационном канале.
- В демонстрационный канал добавлены данные поля agency_lang, предложенные пользователем Marcy: обсуждение (англ.)
- Обновленна ссылка на GTFS-канал OCTA в боковой панели.
- Оригинальный список изменений.
26 февраля 2009
- Убрано большинство инструкций, относящихся исключительно добавлению канала в Гугл, так как существуют другие приложения, использующие GTFS-данные таким способом.
- Исправлена сломанная ссылка в боковой панели на канал Orange County OCTA's.
7 августа 2008
- Возвращено поле stop_url, которое было случайно промущенно в версии от 6 августа.
- В демонстрационный GTFS-канал добавлено поле agency_phone.
- Добавлено упоминание о соглашении об использовании информации при добавлении канала в Гугл.
6 августа 2008
- Добавлен файл transfers.txt, позволяющий поставщикам данных дать подсказки по вариантам пересадок (оригинальное предложение).
- Добавлены поля location_type и parent_station в файл stops.txt, позволяющие группировать остановки в станции (оригинальное предложение).
- Добавлено поле agency_phone для задания телефонного номера перевозчика (оригинальное предложение).
- Добавлен раздел «Проверьте ваш GTFS-канал» со списокм опенсорсных инструменотов для проверки.
- Уточнены описания формата CSV, полей agency_timezone, agency_lang, route_color, route_text_color, arrival_time, departure_time, calendar.txt и calendar_dates.txt, таблицы тарифов и файла frequencies.txt.
- Добавлена ссылка на страницу истории GTFS и исправлены ссылки на некоторые публичные GTFS-каналы.
- Обновлёны изображения примеров отображения данных, что бы соответствовать текущему интерфейсу Карт Google.
- Исправлены данные в демонстрационнном GTFS-канале.
29 февраля 2008
- Добавлено поле stop_code в файл stops.txt для поддержки форматом кодов остановок, которые видны обычным пассажирам (оригинальное предложение).
- Уточнено описание полей route_short_name и route_long_name в файле routes.txt.
- Уточнено описание полей arrival_time и departure_time в файле stop_times.txt.
- Исправлены опечатки в разделе демонстрационнного GTFS-канала.
20 ноября 2007
- Уточнение описания block_id.
- Изменён стиль описания, что бы убрать акцент с Google Transit (так как негугловские приложения тоже используют формат GTFS, а гугловский планировщик маршрутов сейчас интегорирован в Карты Google), и исправлены разные опечатки.
- Обновлены скриншоты, демонстрирующие отображение полей GTFS, на соответсвующие текущему интерфейсу Карт Google.
- Обновлён контактный электронный адрес Гугла, предназначенный для поставщиков GTFS-данных.
- Обновлено форматирование.
5 октября 2007
- Изменение stop_sequence и shape_pt_sequence, позволяющее только увеличивающиеся неотрицательные целые значения.
- Уточнение описаний и исправление опечаток.
31 мая 2007
- Стилевые правки страницы, HTML-код стал чище и доступней.
- Добавлены ссылки на общедостуаные примеры GTFS-каналов и другие полезные сайты.
- Убраны примеры из описания отдельных полей.
9 апреля 2007
- Добавлен раздел Добавление GTFS-канала в Гугл.
- Добавлен демонстрационный пример GTFS-канала.
- Добавлено замечание, что файл calendar.txt может быть пропущен, если все даты определенны в файле calendar_dates.txt.
- Поле agency_id сделано необязательным в канале, представляющего только одного перевозчика. Это позволило существующим каналам без agency_id остаться действительными.
- Добавлены более полные описания полей agency_url, stop_url, и route_url и дополнительные примеры для их значений.
- Добавлены значения 6 (канатная дорога) и 7 (фуникулёр) в качестве доступных значений поля route_type.
8 марта 2007
- Мелкие правки, переносящие поле stop_url из файла stop_times.txt, куда оно было ошибочно помещено в версии от 28 февраля, в файл stops.txt, где оно и должно быть
5 марта 2007
- Мелкие правки, уточняющие описание поля route_long_name.
28 февраля 2007
- Добавлен файл frequencies.txt для расписаний, основанных на интервалах движения.
- Теперь один канал может представлять сразу несколько перевозчиков. Также добавлено новое поле agency_id в файлах agencies.txt и routes.txt, которое позволяет указать какой маршрут обсулживается каким перевозчиком.
- Добавлены URL для каждого отдельного маршрута и остановки.
- Добавлено поле direction_id в файл trips.txt.
- Поддержка изменяемых значений trip_headsign через добавление поля stop_headsign в файл stop_times.txt.
- Поддержка цветов маршрутов через добавление необязательных полей route_color и route_text_color в файл routes.txt.
- Убрана возможность описания остановок с использованием почтовых адресов. Предыдущая версия спецификации позволяла обозначать положение остановки, используя почтовый адрес через поля stop_street, stop_city, stop_region, stop_postcode, и stop_country. Сейчас положение остановки должно задаваться полями stop_lat для широты и stop_lon для долготы, что намного удобно для большинства приложений.
- Добавлено значение для канатного трамвая для поля route_type в файле routes.txt.
- Смотрите оригинальный пост в блоге Headway со списком изменений (на английском).
29 ноября 2006
- Добавлена поддержка информации о пути следования рейсов через файл shapes.txt
- Уточнено определение для stop_sequence
- Поля pickup_type и drop_off_type обозначены необязательными.
31 октября 2006
- Добавлена поддержка информации о тарифах.
- Убраны даты из названий отдельных файлов.
- Изменено определение значений route_type.
- Разрешено публиковать одновременно два файла канала, если время их действия не пересекаются.
- Исправлено описание поля block_id в trips.txt, теперь оно правильно отмечено как необязательное.
- Добавлено замечание о то, что названия полей должны включаться в файл.
29 сентября 2006
- Мелки правки, исправляющие несколько ошибок в примерах.
25 сентября 2006
- Первая версия.
Оригинал: https://developers.google.com/transit/gtfs/changes