• Перевод:
  • Обзор
  • Описание
  • Рекомендации
  • Примеры
  • Изменения
  • Изменения спецификации GTFS

    Перевод версии от 16 октября 2012

    Введение

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

    Процесс внесения изменений

    Основа процедуры внесения изменений в спецификацию состоит из нескольких шагов::

    1. Предложение изменения в специальной дискуссионной группе (на английском).
    2. Получение комметариев и отзывов от GTFS-сообщества и повторное внесение предложения.
    3. Поиск, как минимум, одного производителя и одного потребителя GTFS-данных для реализации и тестирования предлагаемого изменения.
    4. Финальный запрос комментариев к предлагаемому изменению в дискуссионной группе. Если в течение недели не обнаружится неразрешённых вопросов, то предложенное изменение будет официально принято.

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

    В дополнение к дискуссионной группе, будет действовать Сайт изменений GTFS, предназначенный для документирования происходящих в GTFS изменений.

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

    Для сохранения начального представления о формате GTFS был установлен ряд принципов, следование которым обязательно, при изменении спецификации:

    Канал должен быть простым для создания и редактирования.

    Мы приняли CSV за основу формата из-за его простоты для просмотра и редактирования в электронных таблицах и текстовых редакторах, что очень актуально для небольших предприятий. Он также хорош для непосредственной генерации большинством языков программирования и баз данных, что хорошо для создателей каналов большого объёма.

    Канал должен быть прост для разбора (парсинга).

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

    Изменения спецификации должны быть обратно совместимыми.

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

    Умозрительные предложения не одобряются.

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

    История изменений

    15 октября 2012

    • Добавлено предложенние по wheelchair_accessible в файле trips.txt: обсуждение (англ.)

    20 июня 2012

    • Добавлено предложенние по wheelchair_boarding: обсуждение (англ.)

    2 февраля 2012

    18 января 2012

    26 сентября 2011

    6 сентября 2011

    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