Google Транспорт и GTFS Realtime: руководства и различия

На этой странице описаны основные различия между официальной реализацией GTFS Realtime и реализацией этой спецификации в Google Транспорте. Вот основные положения:

  • Игнорируемые официальные спецификации. Эти поля входят в официальную реализацию GTFS. Google Транспорт обрабатывает эти данные без ошибок, но не использует их.

  • Другая интерпретация. Эти поля включают части официальной спецификации GTFS, которые в Google Транспорте интерпретируются не так, как в определениях GTFS.

  • Экспериментальная поддержка. Это экспериментальные поля в реализации Google Транспорта. Чтобы реализовать новое экспериментальное поле, обратитесь к команде Google Транспорта.

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

Данные об общественном транспорте в реальном времени

В этом разделе описаны основные различия между официальной реализацией GTFS и реализацией этой спецификации в Google Транспорте для фида Realtime с данными об общественном транспорте.

Игнорируемые официальные спецификации в фидах Realtime

Некоторые игнорируемые спецификации являются экспериментальными. Подробная информация приведена на сайте gtfs.org.

В таблице 1 приведены все поля, которые определены в GTFS и игнорируются Google Транспортом в фидах Realtime.

Таблица 1. Игнорируемые официальные поля в фидах Realtime
Сообщение Игнорируемое поле, определенное в GTFS Тип поля
сообщение Alert image TranslatedImage
сообщение Alert image_alternative_text TranslatedString
сообщение Alert severity_level Перечисление
сообщение Alert tts_description_text Proto
сообщение Alert tts_header_text Proto
сообщение CarriageDetails id Строка
сообщение CarriageDetails occupancy_percentage int32
сообщение Position bearing Число с плавающей запятой
сообщение Position odometer Число двойной точности
сообщение Position speed Число с плавающей запятой
сообщение Shape encoded_polyline Строка
сообщение Shape shape_id Строка
сообщение StopTimeUpdateTripUpdate) arrival.uncertainty int32
сообщение StopTimeUpdateTripUpdate) stop_time_properties Proto
сообщение TripUpdate trip_properties Proto
сообщение TripUpdate vehicle VehicleDescriptor
сообщение VehicleDescriptor license_plate Строка
сообщение VehicleDescriptor wheelchair_accessible WheelchairAccessible
сообщение VehiclePosition congestion_level Перечисление
сообщение VehiclePosition current_status VehicleStopStatus
сообщение VehiclePosition current_stop_sequence uint32
сообщение VehiclePosition multi_carriage_details.id Строка
сообщение VehiclePosition occupancy_percentage uint32
сообщение VehiclePosition stop_id Строка

Разная интерпретация в фидах Realtime

Хотя в Google Транспорте принимаются некоторые поля GTFS, они интерпретируются не так, как в GTFS.

В таблице 2 приведены поля GTFS в фидах Realtime, которые являются необязательными или условно обязательными в Google Транспорте. Если поле необязательное, в таблице указывается, поддерживает ли Google Транспорт значения перечисления.

Таблица 2. Поля в фидах Realtime, интерпретируемые по-другому
Название файла Поле, определенное в GTFS Тип поля Обязательно в Google Транспорте? Сведения о реализации в Google Транспорте
сообщение StopTimeUpdateTripUpdate) stop_id Строка Условно обязательно

Если указана строка stop_id, она должна соответствовать одному из следующих условий:

  • Строка stop_id должна быть такой же, как и в файле stops.txt соответствующего GTFS-фида.
  • Если используется другая строка stop_id, то указанная строка stop_id должна быть элементом того же уровня или дочерним по отношению к строке stop_id, которая указана в статическом фиде GTFS. Также необходимо указать соответствующее поле stop_sequence.
сообщение StopTimeUpdate schedule_relationship Перечисление Необязательно

Google Транспорт поддерживает следующие значения перечисления:

  • SCHEDULED
  • SKIPPED
  • NO_DATA
сообщение TripDescriptor schedule_relationship Перечисление Необязательно

Google Транспорт не поддерживает следующие значения перечисления:

  • DUPLICATED
  • CANCELED, если оно не для записей TripUpdate

Google поддерживает следующие значения перечисления:

  • SCHEDULED
  • UNSCHEDULED
  • ADDED
  • CANCELED (только для записей TripUpdate)

Экспериментальная поддержка в фидах Realtime

Если вам нужна поддержка с реализацией новых экспериментальных полей, свяжитесь с командой Google Транспорта.

Расширения в фидах Realtime, поддерживаемые Google Транспортом

На момент публикации этой статьи полей, относящихся к данной категории, нет. Если вам нужна помощь, свяжитесь с командой Google Транспорта.