コンテンツにスキップ

GTFS Realtime リファレンス

GTFS Realtime フィードを使用すると、交通事業者は利用者に対して、運行サービスの中断(駅の閉鎖、路線の運休、重大な遅延など)、車両の位置情報、予想到着時刻などのリアルタイム情報を提供することができます。

このサイトでは、フィード仕様のバージョン 2.0 について説明および文書化しています。有効なバージョンは "2.0" および "1.0" です。

用語の定義

必須

GTFS-realtime v2.0 以降では、Required 列は、事業者が提供する交通データが有効であり、利用アプリケーションにとって意味のあるものとなるために、どのフィールドを提供しなければならないかを示します。

Required フィールドには、以下の値が使用されます。

  • Required: このフィールドは GTFS-realtime フィードの提供者によって提供しなければなりません。
  • Conditionally required: このフィールドは特定の条件下で必須となります。条件はフィールドの Description に記載されています。これらの条件外では、このフィールドは任意です。
  • Conditionally forbidden: このフィールドは特定の条件下で禁止されています。条件はフィールドの Description に記載されています。これらの条件外では、このフィールドは任意です。
  • Optional: このフィールドは任意であり、提供者が実装する必要はありません。ただし、基盤となる自動車両位置システム(例: VehiclePosition の timestamp)でデータが利用可能な場合は、可能な限りこれらの任意フィールドを提供することが推奨されます。

GTFS-realtime バージョン 1.0 では意味的要件が定義されていなかったため、gtfs_realtime_version1 のフィードはこれらの要件を満たさない場合があります(詳細については 意味的要件の提案 を参照してください)。

多重度(cardinality)

多重度(cardinality) は、特定のフィールドに対して提供される要素の数を表し、以下の値を取ります。

フィールドが必須、条件付き必須、または任意であるかを確認するために、常に Required および Description フィールドを参照してください。Protocol Buffer の多重度(cardinality)については、gtfs-realtime.proto を参照してください。

Protocol Buffer データ型

以下の Protocol Buffer データ型は、フィード要素を記述するために使用されます。

  • message: 複合型
  • enum: 固定値の一覧

実験的フィールド

実験的(experimental) とラベル付けされたフィールドは、変更される可能性があり、まだ正式に仕様に採用されていません。実験的(experimental) フィールドは、将来的に正式に採用される可能性があります。

要素索引

要素

message FeedMessage

フィードメッセージの内容です。ストリーム内の各メッセージは、適切な HTTP GET リクエストへの応答として取得されます。リアルタイムフィードは、常に既存の GTFS フィードに関連付けて定義されます。すべての entity ID は、GTFS フィードに基づいて解決されます。

フィールド

フィールド名 必須 多重度(cardinality) 説明
header FeedHeader 必須 1つ このフィードおよびフィードメッセージに関するメタデータです。
entity FeedEntity 条件付き必須 複数 フィードの内容です。交通システムにリアルタイム情報が利用可能な場合、このフィールドを提供しなければなりません。このフィールドが空の場合、利用者はシステムにリアルタイム情報が存在しないとみなすべきです。

message FeedHeader

フィードメッセージに含まれる、フィードに関するメタデータです。

フィールド

フィールド名 必須 多重度(cardinality) 説明
gtfs_realtime_version string 必須 1つ フィード仕様のバージョンです。現在のバージョンは 2.0 です。
incrementality Incrementality 必須 1つ
timestamp uint64 必須 1つ このタイムスタンプは、このフィードの内容が作成された時点(サーバー時刻)を示します。POSIX 時間(すなわち、1970年1月1日 00:00:00 UTC からの経過秒数)で表されます。リアルタイム情報を生成するシステムと消費するシステム間の時刻のずれを避けるために、タイムサーバーからタイムスタンプを取得することが強く推奨されます。数秒程度の時刻差は許容されるため、Stratum 3 あるいはそれ以下の階層のサーバーを使用しても問題ありません。
feed_version string 任意 1つ リアルタイムデータの基となる GTFS フィードの feed_info.feed_version に一致する文字列です。利用者はこれを使用して、現在有効な GTFS フィードを特定したり、新しいフィードがダウンロード可能になったことを検出したりすることができます。

enum Incrementality

現在の取得が増分であるかどうかを判定します。

  • FULL_DATASET: このフィード更新は、フィードに関するすべての既存のリアルタイム情報を上書きします。したがって、この更新は、既知のすべてのリアルタイム情報の完全なスナップショットを提供することが期待されます。
  • DIFFERENTIAL: 現在、このモードはサポートされておらず、このモードを使用するフィードの動作は未定義です。DIFFERENTIAL モードの動作を完全に定義するための議論が GTFS Realtime メーリングリスト で行われており、これらの議論が完了次第、ドキュメントが更新される予定です。

FULL_DATASET
DIFFERENTIAL

message FeedEntity

交通フィード内のエンティティの定義(または更新)です。エンティティが削除されていない場合、trip_updatevehiclealertshapestop、または trip_modification フィールドのうち、正確に1つが設定されていなければなりません。

フィールド

フィールド名 必須 多重度(cardinality) 説明
id string 必須 1つ このエンティティのフィード内で一意の識別子です。id はインクリメンタル更新をサポートするためにのみ使用されます。フィードによって参照される実際のエンティティは、明示的なセレクタによって指定しなければなりません(詳細は下記の EntitySelector を参照してください)。
is_deleted bool 任意 1つ このエンティティが削除対象であるかどうかを示します。Incrementality が DIFFERENTIAL のフィードに対してのみ指定するべきです。このフィールドは Incrementality が FULL_DATASET のフィードには指定してはいけません。
trip_update TripUpdate 条件付き必須 1つ 便のリアルタイム出発遅延に関するデータです。trip_updatevehiclealert、または shape のいずれかのフィールドが少なくとも1つ指定されていなければなりません。これらすべてのフィールドを空にしてはいけません。
vehicle VehiclePosition 条件付き必須 1つ 車両のリアルタイム位置情報に関するデータです。trip_updatevehiclealert、または shape のいずれかのフィールドが少なくとも1つ指定されていなければなりません。これらすべてのフィールドを空にしてはいけません。
alert Alert 条件付き必須 1つ リアルタイムの運行情報(alert)に関するデータです。trip_updatevehiclealert、または shape のいずれかのフィールドが少なくとも1つ指定されていなければなりません。これらすべてのフィールドを空にしてはいけません。
shape Shape 条件付き必須 1つ 迂回などのリアルタイムで追加されたルート形状(shape)に関するデータです。trip_updatevehiclealert、または shape のいずれかのフィールドが少なくとも1つ指定されていなければなりません。これらすべてのフィールドを空にしてはいけません。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。
stop Stop 条件付き必須 1つ フィードに動的に追加された新しい停留所(stop)です。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。
trip_modifications TripModifications 条件付き必須 1つ 迂回など、特定の変更の影響を受ける便(trip)の一覧です。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。

message TripUpdate

便(trip)に沿った車両の進行状況に関するリアルタイム更新です。trip updates entities の一般的な説明も参照してください。

ScheduleRelationship の値に応じて、TripUpdate は以下を指定することができます。

  • スケジュールに沿って運行する便。
  • 固定スケジュールを持たず、ルートに沿って運行する便。
  • スケジュールに対して追加または削除された便。
  • 静的 GTFS 内の既存の便を置き換える便。
  • 静的 GTFS 内の既存の便をコピーした新しい便。TripProperties で指定された運行日および時刻に運行されます。

更新は、将来の予測到着/出発イベント、またはすでに発生した過去のイベントに関するものです。多くの場合、過去のイベントに関する情報は実測値であるため、その不確実性値は 0 にすることが推奨されます。ただし、これが当てはまらない場合もあり、過去のイベントに対して 0 以外の不確実性値を持つことも許可されています。更新の不確実性が 0 でない場合、その更新は完了していない便に対する概算予測であるか、測定が正確でないか、または過去の予測がイベント発生後に検証されていないことを意味します。

同一ブロック内で車両が複数の便を運行している場合(便およびブロックの詳細については GTFS trips.txt を参照してください):

  • フィードには、車両が現在運行している便に対する TripUpdate を含めるべきです。プロデューサーは、将来の便に対する予測の品質に自信がある場合、現在の便の後に続く 1 つ以上の便に対する TripUpdate を含めることが推奨されます。同一車両に対して複数の TripUpdate を含めることで、車両が便を切り替える際に乗客にとって予測が「突然現れる」現象を防ぎ、また後続便に影響する遅延(例:既知の遅延が便間の計画休憩時間を超える場合)を事前に通知することができます。
  • 各 TripUpdate エンティティは、ブロック内でスケジュールされた順序と同じ順序でフィードに追加する必要はありません。たとえば、trip_ids が 1、2、3 の便が同一ブロックに属し、車両が便 1、便 2、便 3 の順に運行する場合でも、trip_update エンティティは任意の順序で出現して構いません。たとえば、便 2、便 1、便 3 の順に追加することも可能です。

更新はすでに完了した便を記述することもできます。そのためには、便の最終停留所(stop)に対する更新を提供するだけで十分です。最終停留所への到着時刻が過去であれば、クライアントは便全体が過去のものであると判断します(前の停留所に対する更新を提供することも可能ですが、意味はありません)。このオプションは、スケジュール上はまだ運行中であるが、実際には予定より早く完了した便に最も関連します。この便の更新を削除すると、クライアントは便がまだ運行中であると誤って判断する可能性があります。フィード提供者は過去の更新を削除することが許可されていますが、必須ではありません。このような場合に削除は実用的に有用です。

フィールド

フィールド名 必須 多重度(cardinality) 説明
trip TripDescriptor 必須 1つ このメッセージが適用される便です。各実際の便インスタンスに対して TripUpdate エンティティは最大 1 つまで存在します。存在しない場合は、予測情報が利用できないことを意味します。これは便がスケジュール通りに進行していることを意味するものではありません。
vehicle VehicleDescriptor 任意 1つ この便を運行している車両に関する追加情報です。
stop_time_update StopTimeUpdate 条件付き必須 複数 便の停車時刻(stop_time)に対する更新(将来の予測および場合によってはすでに発生した過去のもの)です。更新は stop_sequence によってソートされ、次に指定された stop_time_update までのすべての停留所に適用されなければなりません。
trip.schedule_relationship が SCHEDULED または UNSCHEDULED の場合、少なくとも 1 つの stop_time_update を便に対して提供しなければなりません。
trip.schedule_relationship が NEW または REPLACEMENT の場合、新規または代替便のすべての停留所に対して stop_time_update を提供しなければなりません(過去の時刻を含む)。この場合、静的 GTFS の停車時刻は使用されません。
便がキャンセルまたは削除された場合、stop_time_update を提供する必要はありません。キャンセルまたは削除された便に対して stop_time_update が提供された場合、trip.schedule_relationship が stop_time_update およびその関連する schedule_relationship よりも優先されます。便が複製された場合、新しい便に対するリアルタイム情報を示すために stop_time_update を提供することができます。
timestamp uint64 任意 1つ 将来の停車時刻を推定するために車両のリアルタイム進行状況が最後に測定された時刻です。過去の停車時刻が提供される場合、到着/出発時刻はこの値よりも前になることがあります。POSIX 時間(1970年1月1日 00:00:00 UTC からの秒数)で表されます。
delay int32 任意 1つ 便の現在のスケジュール偏差です。Delay は、GTFS 内の既存スケジュールに対して予測が提供される場合にのみ指定するべきです。
Delay(秒単位)は、正の値(車両が遅れている)または負の値(車両が予定より早い)を取ることができます。Delay が 0 の場合、車両は正確に定刻通りです。
StopTimeUpdate 内の遅延情報は便レベルの遅延情報よりも優先されるため、便レベルの遅延は StopTimeUpdate 内で遅延値が指定された次の停留所までのみ適用されます。
フィード提供者は、遅延値が最後に更新された時刻を示す TripUpdate.timestamp 値を提供することが強く推奨されます。これによりデータの鮮度を評価できます。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される場合があります。
trip_properties TripProperties 任意 1つ 便の更新されたプロパティを提供します。

注意: このメッセージは現在 実験的 であり、変更される可能性があります。将来的に正式採用される場合があります。

message StopTimeEvent

単一の予測イベント(到着または出発)のタイミング情報です。タイミングは、遅延および/または推定時刻、そして不確実性で構成されます。NEW、REPLACEMENT、または DUPLICATED の便(trip)の場合、予定時刻を追加することもできます。

  • delay は、GTFS 内の既存のスケジュールに対して相対的に予測が与えられる場合に使用するべきです。
  • time は、予測スケジュールがあるかどうかに関わらず指定するべきであり、新規または代替便の場合は必ず指定しなければなりません。time と delay の両方が指定された場合、time が優先されます(ただし通常、スケジュールされた便に対して time が指定される場合、GTFS の予定時刻 + delay と等しくなるべきです)。
  • scheduled time は、便が新規、代替、または複製されたものである場合に指定することができます。

不確実性は time と delay の両方に等しく適用されます。不確実性は、実際の遅延における予想誤差をおおよそ示します(ただし、その厳密な統計的意味はまだ定義されていない点に注意してください)。例えば、コンピュータ制御で運行される列車などでは、不確実性が 0 になることもあります。

フィールド

フィールド名 必須 多重度(cardinality) 説明
delay int32 条件付き必須 1つ 遅延(秒単位)。正の値は車両が遅れていることを意味し、負の値は予定より早いことを意味します。0 の遅延は、車両が正確に定刻通りであることを意味します。
StopTimeUpdate.schedule_relationship が NO_DATA の場合は 指定してはいけません
それ以外の場合、time が指定されていないときは 必須 です。
time int64 条件付き必須 1つ 絶対時刻としての推定または実際のイベント時刻。POSIX 時間(すなわち、1970年1月1日 00:00:00 UTC からの経過秒数)で表されます。
StopTimeUpdate.schedule_relationship が NO_DATA の場合は 指定してはいけません
それ以外の場合、delay が指定されていないときは 必須 です。
scheduled_time int64 条件付き禁止 1つ 予定時刻。POSIX 時間(すなわち、1970年1月1日 00:00:00 UTC からの経過秒数)で表されます。
TripUpdate.schedule_relationship が NEW、REPLACEMENT、または DUPLICATED の場合は 任意、それ以外の場合は 指定してはいけません
uncertainty int32 任意 1つ 不確実性が省略された場合、それは不明と解釈されます。完全に確実な予測を指定するには、不確実性を 0 に設定します。
StopTimeUpdate.schedule_relationship が NO_DATA の場合は 指定してはいけません

message StopTimeUpdate

特定の便(trip)における特定の停留所等(stop)の到着および/または出発イベントに関するリアルタイム更新です。
TripDescriptor および trip updates entities のドキュメントにおける停車時刻(stop_time)更新の一般的な説明も参照してください。

更新は、過去および将来のイベントの両方に対して提供することができます。
TripUpdate.schedule_relationship が NEW または REPLACEMENT の場合を除き、プロデューサーは過去のイベントを削除することが許可されています(必須ではありません)。NEW または REPLACEMENT の場合、過去の停留所等(stop)は、車両が運行中の便を定義するため、便全体が完了するまで削除してはいけません。
更新は stop_sequence または stop_id のいずれかを通じて特定の停留所等(stop)にリンクされるため、これらのフィールドのいずれかを必ず設定しなければなりません。
同一の stop_id が便内で複数回訪問される場合、その便におけるその stop_id に対応するすべての StopTimeUpdate において stop_sequence を指定する必要があります。

新規または置換便においては、更新は GTFS 静的データ内の既存の便を参照せずに、その便が訪問する停留所等(stop)を指定するために使用されます。
このような便では、stop_idstop_sequencedeparture、および arrival のすべてを設定しなければなりません。

フィールド

フィールド名 必須 多重度(cardinality) 説明
stop_sequence uint32 条件付き必須 1つ 対応する GTFS フィード内の stop_times.txt と同一でなければなりません。StopTimeUpdate 内では stop_sequence または stop_id のいずれかを指定しなければならず、両方を空にしてはいけません。同一の stop_id が複数回訪問される便(例:ループ)では、どの停留所等(stop)に対する予測であるかを区別するために stop_sequence が必須です。StopTimeProperties.assigned_stop_id が設定されている場合、stop_sequence も設定しなければなりません。TripUpdate.schedule_relationship が NEW または REPLACEMENT の場合は 必須 であり、便の進行に沿って値が増加していなければなりません。
stop_id string 条件付き必須 1つ 対応する GTFS フィード内の stops.txt と同一でなければなりません。StopTimeUpdate 内では stop_sequence または stop_id のいずれかを指定しなければならず、両方を空にしてはいけません。StopTimeProperties.assigned_stop_id が設定されている場合、stop_id を省略し、stop_sequence のみを使用することが推奨されます。StopTimeProperties.assigned_stop_idstop_id の両方が設定されている場合、stop_idassigned_stop_id と一致しなければなりません。TripUpdate.schedule_relationship が NEW または REPLACEMENT の場合は 必須 です。
arrival StopTimeEvent 条件付き必須 1つ schedule_relationship が空または SCHEDULED の場合、StopTimeUpdate 内で arrival または departure のいずれかを指定しなければならず、両方を空にしてはいけません。schedule_relationship が SKIPPED の場合、arrival および departure の両方を空にすることができます。TripUpdate.schedule_relationship が NEW または REPLACEMENT の場合は 必須 です。
departure StopTimeEvent 条件付き必須 1つ schedule_relationship が空または SCHEDULED の場合、StopTimeUpdate 内で arrival または departure のいずれかを指定しなければならず、両方を空にしてはいけません。schedule_relationship が SKIPPED の場合、arrival および departure の両方を空にすることができます。TripUpdate.schedule_relationship が NEW または REPLACEMENT の場合は 必須 です。
departure_occupancy_status OccupancyStatus 任意 1つ 指定された停留所等(stop)を出発した直後の車両の乗車率の予測状態を示します。指定する場合、stop_sequence も指定しなければなりません。リアルタイムの到着または出発予測を提供せずに departure_occupancy_status のみを提供する場合、このフィールドを設定し、StopTimeUpdate.schedule_relationship = NO_DATA と設定します。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。
schedule_relationship ScheduleRelationship 任意 1つ 既定の関係は SCHEDULED です。
stop_time_properties StopTimeProperties 任意 1つ GTFS stop_times.txt 内で定義された特定のプロパティに対するリアルタイム更新です。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。

enum ScheduleRelationship

この StopTime と静的スケジュールとの関係を示します。

説明
SCHEDULED 車両が静的スケジュールに従って停留所に向かって運行していることを示します。ただし、スケジュール上の時刻通りであるとは限りません。これはデフォルトの動作です。到着または出発のいずれか一方は必ず指定しなければなりません。頻度ベースの便(GTFS frequencies.txt において exact_times = 0 の場合)は、SCHEDULED 値を使用してはいけません。その代わりに UNSCHEDULED を使用するべきです。
SKIPPED 停留所がスキップされる、すなわち車両がその停留所に停車しないことを示します。到着および出発は任意です。SKIPPED が設定されても、同一便内の後続の停留所には伝播しません(つまり、その後の停留所にも stop_time_update において schedule_relationship: SKIPPED が設定されていない限り、車両は停車します)。便内の前の停留所からの遅延は SKIPPED 停留所をまたいで伝播します。言い換えると、SKIPPED 停留所の後の停留所に対して arrival または departure の予測が設定されていない場合、SKIPPED 停留所より前の予測が、その後の停留所および便内の後続停留所に伝播します。
NO_DATA この停留所に対してリアルタイムデータが提供されていないことを示します。リアルタイムの時刻情報が利用できないことを意味します。NO_DATA が設定されると、後続の停留所にも伝播するため、どの停留所からリアルタイム時刻情報がないかを指定する推奨の方法です。NO_DATA が設定されている場合、TripDescriptor.schedule_relationshipNEW または REPLACEMENT の場合を除き、到着または出発を指定してはいけません。その場合は、予測ではなくスケジュール時刻のみを指定しなければなりません。TripDescriptor.schedule_relationshipNEW または REPLACEMENT の場合、StopTimeUpdate が便の停留所リストを定義するため、到着および出発はスケジュール時刻で指定しなければなりません。この場合、スケジュールは静的 GTFS とは無関係であるが、リアルタイム予測はまだ利用できないことを示します。
UNSCHEDULED 車両が頻度ベースの便(GTFS frequencies.txt において exact_times = 0 の場合)で運行していることを示します。この値は、GTFS frequencies.txt に定義されていない便、または exact_times = 1 の便には使用してはいけません。stop_time_updatesschedule_relationship: UNSCHEDULED を含む便は、TripDescriptor にも schedule_relationship: UNSCHEDULED を設定しなければなりません。

注意: このフィールドはまだ実験的であり、変更される可能性があります。将来的に正式採用される可能性があります。

message StopTimeProperties

GTFS の stop_times.txt 内で定義されている特定のプロパティに関するリアルタイム更新です。

注意: このメッセージはまだ 実験的 なものであり、変更される可能性があります。将来的に正式採用される可能性があります。

フィールド

フィールド名 必須 多重度(cardinality) 説明
assigned_stop_id string 任意 1つ リアルタイムの停留所等(stop)の割り当てをサポートします。GTFS の stops.txt に定義された stop_id を参照します。
新しい assigned_stop_id は、GTFS の stop_times.txt に定義された stop_id と比較して、エンドユーザーにとって大きく異なる便(trip)体験をもたらしてはなりません。言い換えると、アプリ内で追加の文脈なしに新しい stop_id が提示された場合でも、エンドユーザーがそれを「異常な変更」と見なすべきではありません。たとえば、このフィールドは、GTFS の stop_times.txt に元々定義されている停留所と同じ駅に属する stop_id を使用して、プラットフォームの割り当てを行うために使用されることを意図しています。
リアルタイムの到着または出発予測を提供せずに停留所を割り当てるには、このフィールドに値を設定し、StopTimeUpdate.schedule_relationship = NO_DATA を設定します。
このフィールドが設定されている場合、StopTimeUpdate.stop_sequence は設定されなければならず、StopTimeUpdate.stop_id は設定してはいけません。停留所の割り当ては、他の GTFS-realtime フィールド(例: VehiclePosition.stop_id)にも反映されるべきです。

注意: このフィールドはまだ 実験的 なものであり、変更される可能性があります。将来的に正式採用される可能性があります。
stop_headsign string 任意 1つ 停留所での車両の更新された行先表示(headsign)です。

注意: このフィールドはまだ 実験的 なものであり、変更される可能性があります。将来的に正式採用される可能性があります。
drop_off_type DropOffPickupType 任意 1つ 停留所での車両の更新された降車タイプです。

注意: このフィールドはまだ 実験的 なものであり、変更される可能性があります。将来的に正式採用される可能性があります。
pickup_type DropOffPickupType 任意 1つ 停留所での車両の更新された乗車タイプです。

注意: このフィールドはまだ 実験的 なものであり、変更される可能性があります。将来的に正式採用される可能性があります。

enum DropOffPickupType

コメント
REGULAR 定期的に予定された乗車/降車です。
NONE 乗車/降車は利用できません。
PHONE_AGENCY 乗車/降車の手配をするために事業者へ電話しなければなりません。
COORDINATE_WITH_DRIVER 乗車/降車の手配をするために運転手と調整しなければなりません。

message TripProperties

便(trip)の更新されたプロパティを定義します。

注意: このメッセージはまだ実験的であり、変更される可能性があります。将来的に正式に採用される可能性があります。

フィールド

フィールド名 必須 多重度(cardinality) 説明
trip_id string 条件付き必須 1つ (CSV) GTFS の trips.txt で定義された既存の便(trip)を複製した新しい便の識別子を定義しますが、異なる運行日(service day)および/または時刻(TripProperties.start_date および TripProperties.start_time を使用して定義)で開始します。(CSV) GTFS の trips.trip_id の定義を参照してください。この値は (CSV) GTFS で使用されているものとは異なるものでなければなりません。schedule_relationshipDUPLICATED の場合、このフィールドは必須です。それ以外の場合、このフィールドは設定してはいけません。設定されている場合、利用者は無視します。

注意: このフィールドはまだ実験的であり、変更される可能性があります。将来的に正式に採用される可能性があります。
start_date string 条件付き必須 1つ 複製された便が運行される運行日(service day)を指定します。YYYYMMDD 形式で指定しなければなりません。schedule_relationshipDUPLICATED の場合、このフィールドは必須です。それ以外の場合、このフィールドは設定してはいけません。設定されている場合、利用者は無視します。

注意: このフィールドはまだ実験的であり、変更される可能性があります。将来的に正式に採用される可能性があります。
start_time string 条件付き必須 1つ 複製された便の出発開始時刻を定義します。(CSV) GTFS の stop_times.departure_time の定義を参照してください。複製された便の予定到着時刻および出発時刻は、元の便の departure_time とこのフィールドの差分に基づいて計算されます。たとえば、GTFS の便が停留所Aで departure_time10:00:00、停留所Bで departure_time10:01:00 の場合、このフィールドに 10:30:00 が設定されていると、複製された便の停留所Bの予定 departure_time10:31:00 になります。リアルタイム予測の delay 値は、この計算された予定時刻に適用され、予測時刻を決定します。たとえば、停留所Bに対して出発 delay30 と指定されている場合、予測出発時刻は 10:31:30 になります。リアルタイム予測の time 値にはオフセットは適用されず、提供された予測時刻をそのまま示します。たとえば、停留所Bに対して 10:31:30 を表す出発 time が提供されている場合、予測出発時刻は 10:31:30 になります。schedule_relationshipDUPLICATED の場合、このフィールドは必須です。それ以外の場合、このフィールドは設定してはいけません。設定されている場合、利用者は無視します。

注意: このフィールドはまだ実験的であり、変更される可能性があります。将来的に正式に採用される可能性があります。
trip_headsign string 任意 1つ 元の便と異なる場合、この便の行先表示(headsign)を指定します。

注意: このフィールドはまだ実験的であり、変更される可能性があります。将来的に正式に採用される可能性があります。
trip_short_name string 任意 1つ 元の便と異なる場合、この便の名称を指定します。

注意: このフィールドはまだ実験的であり、変更される可能性があります。将来的に正式に採用される可能性があります。
shape_id string 任意 1つ 便のルート形状(shape)が (CSV) GTFS で指定された形状と異なる場合、または (CSV) GTFS で提供されていない場合にリアルタイムで指定するために、車両の走行経路の形状の識別子を指定します。たとえば、乗客の需要に応じて異なる経路を取る車両などです。(CSV) GTFS の trips.shape_id の定義を参照してください。
(CSV) GTFS にもリアルタイムにも shape が定義されていない場合、その shape は不明と見なされます。このフィールドは、(CSV) GTFS の shapes.txt に定義された shape、または同一のリアルタイム (protobuf) フィード内の Shape を参照することができます。この便の停留所順序(停留所シーケンス)は (CSV) GTFS と同じでなければなりません。同一リアルタイムフィード内の Shape エンティティを参照する場合、このフィールドの値は FeedEntityid ではなく、そのエンティティ内の shape_id の値であるべきです。
元の便の一部でありながら、もはや停車しない停留所(たとえば迂回が発生した場合など)は、schedule_relationship=SKIPPED としてマークするか、TripModifications メッセージを通じて詳細を提供することができます。

注意: このフィールドはまだ実験的であり、変更される可能性があります。将来的に正式に採用される可能性があります。

message VehiclePosition

特定の車両に関するリアルタイムの位置情報です。

フィールド

フィールド名 必須 多重度(cardinality) 説明
trip TripDescriptor 任意 1つ この車両が運行している便(trip)です。車両が特定の便インスタンスと関連付けられない場合は、空または部分的な情報であることがあります。
vehicle VehicleDescriptor 任意 1つ この便を運行している車両に関する追加情報です。各エントリには一意の車両IDが必要です。
position Position 任意 1つ この車両の現在位置です。
current_stop_sequence uint32 任意 1つ 現在の停留所(stop)の停車順序インデックスです。current_stop_sequence の意味(すなわち、どの停留所を指すか)は current_status によって決まります。current_status が欠落している場合は、IN_TRANSIT_TO が仮定されます。
stop_id string 任意 1つ 現在の停留所(stop)を識別します。この値は、対応する GTFS フィードの stops.txt にある値と同じでなければなりません。StopTimeProperties.assigned_stop_idstop_id を割り当てるために使用されている場合、このフィールドも stop_id の変更を反映するべきです。
current_status VehicleStopStatus 任意 1つ 現在の停留所に対する車両の正確な状態です。current_stop_sequence が欠落している場合は無視されます。
timestamp uint64 任意 1つ 車両の位置が測定された時刻です。POSIX 時間(すなわち、1970年1月1日 00:00:00 UTC からの経過秒数)で表されます。
congestion_level CongestionLevel 任意 1つ
occupancy_status OccupancyStatus 任意 1つ 車両または車両編成の乗客混雑状況を示します。multi_carriage_details に車両ごとの OccupancyStatus が設定されている場合、このフィールドは乗客を受け入れるすべての車両を考慮した全体の車両の状態を示すべきです。

注意: このフィールドはまだ実験的であり、変更される可能性があります。将来的に正式採用される可能性があります。
occupancy_percentage uint32 任意 1つ 車両内の乗客混雑度を示すパーセンテージ値です。値 100 は、座席および立席を含む車両の設計上の最大定員であり、かつ現在の運行規制で許可されている最大値を表すべきです。設計上の最大定員を超える乗客がいる場合、値は 100 を超えることがあります。occupancy_percentage の精度は、個々の乗客の乗降を追跡できない程度に低くするべきです。multi_carriage_details に車両ごとの occupancy_percentage が設定されている場合、このフィールドは乗客を受け入れるすべての車両を考慮した全体の車両の状態を示すべきです。

注意: このフィールドはまだ実験的であり、変更される可能性があります。将来的に正式採用される可能性があります。
multi_carriage_details CarriageDetails 任意 複数 この車両の複数の車両編成に関する詳細情報です。最初の出現は、現在の進行方向における最初の車両を表します。multi_carriage_details フィールドの出現回数は、車両の編成数を表します。エンジンや保守用車両など、乗車できない車両も含まれます。これらは、乗客がプラットフォーム上でどこに立つべきかを判断するための有用な情報を提供するためです。

注意: このフィールドはまだ実験的であり、変更される可能性があります。将来的に正式採用される可能性があります。

enum VehicleStopStatus

コメント
INCOMING_AT 車両が停留所(stop)に到着しようとしているところです(停留所表示では、車両のシンボルが点滅することが一般的です)。
STOPPED_AT 車両が停留所(stop)に停車しています。
IN_TRANSIT_TO 車両が前の停留所(stop)を出発し、走行中です。

enum CongestionLevel

この車両に影響を与えている混雑レベルです。

UNKNOWN_CONGESTION_LEVEL
RUNNING_SMOOTHLY
STOP_AND_GO
CONGESTION
SEVERE_CONGESTION

enum OccupancyStatus

車両または車両編成の乗客混雑状況を示します。

個々のデータ提供者は、すべての OccupancyStatus 値を公開しない場合があります。したがって、データ利用者は OccupancyStatus の値が線形スケールに従うと仮定してはいけません。データ利用者は、提供者が示し意図した状態として OccupancyStatus の値を表現するべきです。同様に、データ提供者は実際の車両の混雑状態に対応する OccupancyStatus の値を使用しなければなりません。

乗客の混雑度を線形スケールで表現する場合は、occupancy_percentage を参照してください。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される場合があります。

説明
EMPTY 車両はほとんどの基準で空と見なされ、乗客がほとんどまたは全く乗っていませんが、引き続き乗車を受け入れています。
MANY_SEATS_AVAILABLE 車両または車両編成には多くの空席があります。全座席のうち空席がこのカテゴリに該当するほど十分に多いと見なす基準は、提供者の裁量によって決定されます。
FEW_SEATS_AVAILABLE 車両または車両編成には少数の空席があります。全座席のうち空席がこのカテゴリに該当するほど少ないと見なす基準は、提供者の裁量によって決定されます。
STANDING_ROOM_ONLY 車両または車両編成は現在、立っている乗客のみを収容できます。
CRUSHED_STANDING_ROOM_ONLY 車両または車両編成は現在、立っている乗客のみを収容でき、そのスペースも限られています。
FULL 車両はほとんどの基準で満員と見なされますが、まだ乗客の乗車を許可している場合があります。
NOT_ACCEPTING_PASSENGERS 車両または車両編成は乗客を受け入れていません。通常は乗客の乗車を受け入れる車両または車両編成です。
NO_DATA_AVAILABLE その時点で車両または車両編成の混雑データが利用できません。
NOT_BOARDABLE 車両または車両編成は乗車できず、乗客を受け入れることはありません。特別な車両や車両編成(機関車、保守用車両など)に有用です。

message CarriageDetails

複数の車両で構成される車両に使用される、車両単位の詳細情報です。

注意: このメッセージは現在 実験的 なものであり、変更される可能性があります。将来的に正式に採用される可能性があります。

フィールド

フィールド名 必須 多重度(cardinality) 説明
id string 任意 1つ 車両の識別子です。車両ごとに一意であるべきです。

注意: このフィールドは現在 実験的 なものであり、変更される可能性があります。将来的に正式に採用される可能性があります。
label string 任意 1つ 乗客が車両を識別するのに役立つ、ユーザーに表示されるラベルです。例: "7712"、"Car ABC-32" など。
注意: このフィールドは現在 実験的 なものであり、変更される可能性があります。将来的に正式に採用される可能性があります。
occupancy_status OccupancyStatus 任意 1つ この車両における、当該車両単位の乗車率ステータスです。デフォルト値は NO_DATA_AVAILABLE です。

注意: このフィールドは現在 実験的 なものであり、変更される可能性があります。将来的に正式に採用される可能性があります。
occupancy_percentage int32 任意 1つ この車両における、当該車両単位の乗車率(パーセンテージ)です。"VehiclePosition.occupancy_percentage" と同じルールに従います。当該車両単位のデータが利用できない場合は -1 を使用します。

注意: このフィールドは現在 実験的 なものであり、変更される可能性があります。将来的に正式に採用される可能性があります。
carriage_sequence uint32 必須 1つ 車両の CarriageStatus リスト内で、この車両単位の順序を識別します。進行方向の最初の車両は値 1 を持たなければなりません。2番目の車両は進行方向の2番目にあたり、値 2 を持たなければなりません。例えば、進行方向の最初の車両が値 1 を持ち、2番目の車両が値 3 を持つ場合、利用者はすべての車両(すなわち multi_carriage_details フィールド)のデータを破棄します。データのない車両も、有効な carriage_sequence 番号で表現し、データのないフィールドは省略する必要があります(または、それらのフィールドを含めて「データなし」の値に設定することもできます)。

注意: このフィールドは現在 実験的 なものであり、変更される可能性があります。将来的に正式に採用される可能性があります。

message Alert

公共交通ネットワーク内で発生した何らかの事象を示す運行情報(alert)です。

フィールド

フィールド名 必須 多重度(cardinality) 説明
active_period TimeRange 任意 複数 この運行情報(alert)を利用者に表示する期間です。指定がない場合、この運行情報はフィードに含まれている間表示されます。複数の期間が指定された場合、それぞれの期間中に表示されます。
informed_entity EntitySelector 必須 複数 この運行情報(alert)を通知すべき対象のエンティティです。少なくとも1つの informed_entity を指定しなければなりません。
cause Cause 条件付き必須 1つ cause_detail が含まれる場合、Cause も含めなければなりません。
cause_detail TranslatedString 任意 1つ 事業者固有の表現を用いた、運行情報(alert)の原因の詳細な説明です。Cause よりも具体的な内容を示します。cause_detail が含まれる場合、Cause も含めなければなりません。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。
effect Effect 条件付き必須 1つ effect_detail が含まれる場合、Effect も含めなければなりません。
effect_detail TranslatedString 任意 1つ 事業者固有の表現を用いた、運行情報(alert)の影響の詳細な説明です。Effect よりも具体的な内容を示します。effect_detail が含まれる場合、Effect も含めなければなりません。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。
url TranslatedString 任意 1つ この運行情報(alert)に関する追加情報を提供するURLです。
header_text TranslatedString 必須 1つ 運行情報(alert)の見出しです。このプレーンテキスト文字列は、太字などで強調表示されます。
description_text TranslatedString 必須 1つ 運行情報(alert)の本文です。このプレーンテキスト文字列は、運行情報の本文として表示されるか、利用者の明示的な「展開」操作によって表示されます。description 内の情報は header の情報を補足するものであるべきです。
tts_header_text TranslatedString 任意 1つ 読み上げ用(text-to-speech)実装で使用される、運行情報(alert)の見出しを含むテキストです。このフィールドは header_text の読み上げ用バージョンです。header_text と同じ情報を含みますが、読み上げに適した形式(例: 略語の削除、数字の表記変更など)であるべきです。
tts_description_text TranslatedString 任意 1つ 読み上げ用(text-to-speech)実装で使用される、運行情報(alert)の本文を含むテキストです。このフィールドは description_text の読み上げ用バージョンです。description_text と同じ情報を含みますが、読み上げに適した形式(例: 略語の削除、数字の表記変更など)であるべきです。
severity_level SeverityLevel 任意 1つ 運行情報(alert)の重大度です。
image TranslatedImage 任意 1つ 運行情報(alert)テキストとともに表示される TranslatedImage です。迂回や駅の閉鎖など、運行情報(alert)の影響を視覚的に説明するために使用されます。画像は運行情報(alert)の理解を補助するものでなければならず、重要な情報の唯一の提示手段であってはなりません。以下の種類の画像は推奨されません:主にテキストを含む画像、追加情報を提供しないマーケティングまたはブランド画像。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。
image_alternative_text TranslatedString 任意 1つ image フィールドでリンクされた画像の外観を説明するテキストです(例: 画像が表示できない場合や、アクセシビリティの理由で利用者が画像を見られない場合)。HTML の alt image text の仕様 を参照してください。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。

enum Cause

この運行情報(alert)の原因です。

UNKNOWN_CAUSE
OTHER_CAUSE
TECHNICAL_PROBLEM
STRIKE
DEMONSTRATION
ACCIDENT
HOLIDAY
WEATHER
MAINTENANCE
CONSTRUCTION
POLICE_ACTIVITY
MEDICAL_EMERGENCY

enum Effect

影響を受ける対象に対するこの問題の影響を示します。

NO_SERVICE
REDUCED_SERVICE
SIGNIFICANT_DELAYS
DETOUR
ADDITIONAL_SERVICE
MODIFIED_SERVICE
OTHER_EFFECT
UNKNOWN_EFFECT
STOP_MOVED
NO_EFFECT
ACCESSIBILITY_ISSUE

enum SeverityLevel

運行情報(alert)の重大度を示します。

注意: このフィールドは現在実験的なものであり、変更される可能性があります。将来的に正式に採用される場合があります。

UNKNOWN_SEVERITY
INFO
WARNING
SEVERE

message TimeRange

時間間隔を表します。時刻 t が開始時刻以上かつ終了時刻未満である場合、その間隔は時刻 t において有効とみなされます。

フィールド

フィールド名 必須 多重度(cardinality) 説明
start uint64 条件付き必須 1つ 開始時刻を POSIX 時間(すなわち、1970年1月1日 00:00:00 UTC からの経過秒数)で表します。省略された場合、間隔はマイナス無限大から始まります。TimeRange が指定される場合、start または end のいずれかを指定しなければなりません。両方のフィールドを空にしてはいけません。
end uint64 条件付き必須 1つ 終了時刻を POSIX 時間(すなわち、1970年1月1日 00:00:00 UTC からの経過秒数)で表します。省略された場合、間隔はプラス無限大で終了します。TimeRange が指定される場合、start または end のいずれかを指定しなければなりません。両方のフィールドを空にしてはいけません。

message Position

車両の地理的な位置を表します。

フィールド

フィールド名 必須 多重度(cardinality) 説明
latitude float 必須 1つ WGS-84 座標系における北緯(度単位)。
longitude float 必須 1つ WGS-84 座標系における東経(度単位)。
bearing float 任意 1つ 真北を基準とした時計回りの方位(度単位)。すなわち、0 は北、90 は東を示します。これはコンパスの方位、または次の停留所(stop)や中間地点への方向を表すことができます。これは、クライアントが過去のデータから計算できる過去の位置の並びから推定してはいけません。
odometer double 任意 1つ 走行距離計の値(メートル単位)。
speed float 任意 1つ 車両が測定した瞬間速度(メートル毎秒)。

message TripDescriptor

TripDescriptor は、GTFS の単一の便(trip)のインスタンスを識別する記述子です。ただし、schedule_relationshipNEW の場合は、新しい便インスタンスを追加することを指定します。

単一の便インスタンスを指定するには、多くの場合 trip_id だけで十分です。しかし、以下のような場合には、単一の便インスタンスを特定するために追加情報が必要です。

  • frequencies.txt で定義された便の場合、trip_id に加えて start_date および start_time が必須です。
  • 便が24時間を超えて運行する場合、または遅延により翌日の予定便と重複する可能性がある場合、trip_id に加えて start_date が必須です。
  • trip_id フィールドを提供できない場合、route_iddirection_idstart_date、および start_time をすべて提供しなければなりません。

すべての場合において、trip_id に加えて route_id が提供される場合、その route_id は GTFS trips.txt で当該便に割り当てられたものと同一でなければなりません。

trip_id フィールドは、それ単体でも、または他の TripDescriptor フィールドとの組み合わせでも、複数の便インスタンスを識別するために使用してはいけません。たとえば、TripDescriptor は、GTFS frequencies.txt の exact_times=0 の便に対して trip_id のみを指定してはいけません。なぜなら、特定の時刻に開始する単一の便インスタンスを特定するためには start_time も必要だからです。TripDescriptor が単一の便インスタンスに解決されない場合(すなわち、0件または複数の便インスタンスに解決される場合)、それはエラーと見なされ、その誤った TripDescriptor を含むエンティティは、利用者によって破棄される可能性があります。

trip_id が不明な場合、TripUpdate 内の停留所順序 ID だけでは不十分であり、stop_id も提供しなければなりません。さらに、絶対的な到着時刻および出発時刻も提供しなければなりません。

TripDescriptor.route_id は、Alert の EntitySelector 内でルート全体に影響する運行情報(alert)を指定するために使用してはいけません。その場合は EntitySelector.route_id を使用してください。

schedule_relationshipNEW の場合、trip_id は GTFS フィード内に存在しない値を設定しなければならず、route_id は GTFS 静的データの routes.txt に記載された値を設定して、その便をルートに関連付けなければなりません。start_date は設定するべきであり、direction_id は新しい便に対して設定することができます。

フィールド

フィールド名 必須 多重度(cardinality) 説明
trip_id string 条件付き必須 1つ このセレクタが参照する GTFS フィード内の trip_id です。GTFS frequencies.txt に定義されていない非頻度ベースの便の場合、このフィールドだけで便を一意に識別できます。GTFS frequencies.txt に定義された頻度ベースの便の場合、trip_idstart_time、および start_date がすべて必須です。GTFS frequencies.txt に定義されていないスケジュールベースの便の場合、trip_id は、route_iddirection_idstart_time、および start_date の組み合わせで便を一意に識別でき、かつそれらすべてのフィールドが提供されている場合にのみ省略できます。schedule_relationshipNEW の場合、GTFS 静的データに定義されていない一意の値を指定しなければなりません。schedule_relationshipREPLACEMENT の場合、trip_id は静的 GTFS 内で置き換え対象となる便を識別します。schedule_relationship が TripUpdate 内で DUPLICATED の場合、trip_id は静的 GTFS 内で複製対象となる便を識別します。schedule_relationship が VehiclePosition 内で DUPLICATED の場合、trip_id は新しい複製便を識別し、対応する TripUpdate.TripProperties.trip_id の値を含まなければなりません。
route_id string 条件付き必須 1つ このセレクタが参照する GTFS 内の route_id です。trip_id が省略される場合、route_iddirection_idstart_time、および schedule_relationship=SCHEDULED をすべて設定して便インスタンスを識別しなければなりません。TripDescriptor.route_id は、Alert の EntitySelector 内でルート全体に影響する運行情報(alert)を指定するために使用するべきではありません。その場合は EntitySelector.route_id を使用してください。schedule_relationshipNEW の場合、新しい便が属するルートの route_id を指定しなければなりません。
direction_id uint32 条件付き必須 1つ GTFS trips.txt ファイル内の direction_id であり、このセレクタが参照する便の運行方向を示します。trip_id が省略される場合、direction_id を提供しなければなりません。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。
start_time string 条件付き必須 1つ この便インスタンスの初期予定出発時刻です。trip_id が非頻度ベースの便に対応する場合、このフィールドは省略するか、GTFS フィード内の値と同一であるべきです。trip_id が GTFS frequencies.txt に定義された頻度ベースの便に対応する場合、start_time は必須であり、便の更新(trip update)および車両位置情報(vehicle position)に対して指定しなければなりません。便が exact_times=1 の GTFS レコードに対応する場合、start_time は対応する時間帯の frequencies.txt の start_time から headway_secs の倍数(0を含む)だけ後の時刻でなければなりません。便が exact_times=0 に対応する場合、start_time は任意であり、初期状態では便の最初の出発時刻であることが期待されます。一度確立された頻度ベースの exact_times=0 便の start_time は、最初の出発時刻が変更されたとしても不変と見なされるべきです。その時刻の変更は StopTimeUpdate に反映される可能性があります。trip_id が省略される場合、start_time を提供しなければなりません。このフィールドの形式および意味は GTFS/frequencies.txt/start_time と同じであり、例として 11:15:35 や 25:15:35 などがあります。
start_date string 条件付き必須 1つ この便インスタンスの開始日を YYYYMMDD 形式で示します。スケジュール便(GTFS frequencies.txt に定義されていない便)の場合、翌日の予定便と重複するほど遅延する便を区別するために、このフィールドを提供しなければなりません。たとえば、毎日 8:00 および 20:00 に出発する列車が12時間遅延した場合、同じ時刻に2つの異なる便が存在することになります。このような衝突が発生しないスケジュール(例:1時間ごとに運行し、1時間遅延した車両がもはやスケジュールに関連しないと見なされる場合)では、このフィールドは提供可能ですが必須ではありません。GTFS frequencies.txt に定義された頻度ベースの便の場合、このフィールドは必須です。trip_id が省略される場合、start_date を提供しなければなりません。
schedule_relationship ScheduleRelationship 任意 1つ この便と静的スケジュールとの関係を示します。TripDescriptor が Alert の EntitySelector 内で提供される場合、schedule_relationship フィールドは、利用者が該当する便インスタンスを特定する際に無視されます。
modified_trip ModifiedTripSelector 任意 1つ この便に対して行われた変更(ルート形状(shape)の変更、停留所の削除または追加)へのリンクです。このフィールドが提供される場合、TripDescriptortrip_idroute_iddirection_idstart_timestart_date フィールドはすべて空にしておかなければなりません。これは、ModifiedTripSelector の値を参照しない利用者が混乱しないようにするためです。

enum ScheduleRelationship

この便(trip)と静的スケジュールとの関係を示します。一時的なスケジュールに従って運行され、GTFS に反映されていない新しい便の場合は、SCHEDULED としてマークしてはいけません。その場合は NEW としてマークします。修正されたスケジュールに従って運行され、GTFS に反映されていない便の場合も、SCHEDULED としてマークしてはいけません。その場合は REPLACEMENT としてマークします。

説明
SCHEDULED GTFS スケジュールに従って運行されている便、またはスケジュールされた便に十分近い運行をしている便です。
ADDED 注: この値は動作が未定義であったため非推奨となりました。スケジュールされた便と同一で開始日または開始時刻のみが異なる追加便には DUPLICATED を使用し、既存の便と無関係な追加便には NEW を使用してください。
UNSCHEDULED スケジュールに関連付けられていない便です。この値は、GTFS の frequencies.txt において exact_times = 0 と定義された便を識別するために使用されます。GTFS の frequencies.txt に定義されていない便、または exact_times = 1 の便を表すために使用してはいけません。schedule_relationship: UNSCHEDULED を持つ便は、すべての StopTimeUpdates においても schedule_relationship: UNSCHEDULED を設定しなければなりません。
CANCELED スケジュールに存在していたが、削除された便です。
REPLACEMENT 既存のスケジュール便を置き換える便です。たとえば、スケジュールが変更された場合や経路が迂回された場合などです。置き換え便の完全な旅程(journey)は StopTimeUpdate によって指定しなければならず、GTFS 静的データの元のスケジュールは使用されません。
REPLACEMENT は、修正版スケジュールで運行されている場合に使用できますが、静的 GTFS の stop_times.txt に記載されたスケジュールに従って運行する予定の車両に対して、リアルタイムのスケジュール偏差(予測)を伝える目的で使用してはいけません。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。
DUPLICATED 既存のスケジュール便と同一で、運行開始日および時刻のみが異なる新しい便です。TripUpdate.TripProperties.trip_idTripUpdate.TripProperties.start_date、および TripUpdate.TripProperties.start_time と共に使用し、静的 GTFS から既存の便をコピーして、異なる運行日または時刻で開始します。複製は、元の便に関連するサービスが (CSV) GTFS (calendar.txt または calendar_dates.txt) 内で今後30日以内に運行される場合に許可されます。複製対象の便は TripUpdate.TripDescriptor.trip_id によって識別されます。

この列挙値は、TripUpdate.TripDescriptor.trip_id で参照される既存の便を変更するものではありません。プロデューサーが元の便をキャンセルしたい場合は、CANCELED の値を持つ別の TripUpdate を公開しなければなりません。GTFS の frequencies.txt において exact_times が空または 0 の便は複製できません。新しい便の VehiclePosition.TripDescriptor.trip_id には、TripUpdate.TripProperties.trip_id の一致する値を含めなければならず、VehiclePosition.TripDescriptor.ScheduleRelationshipDUPLICATED に設定しなければなりません。

既存のプロデューサーおよびコンシューマーで、重複便を表すために ADDED 列挙値を使用していた場合は、移行ガイド に従って DUPLICATED 列挙値への移行を行う必要があります。
NEW 既存の便とは無関係な追加便です。たとえば、急な乗客増加に対応するための便などです。新しい便の完全な旅程(journey)(すべての停留所および時刻を含む)は、StopTimeUpdate によって指定しなければなりません。

既存のプロデューサーおよびコンシューマーで、静的 GTFS と無関係な新しい便を表すために ADDED 列挙値を使用していた場合は、移行ガイド に従って NEW 列挙値への移行を行う必要があります。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。
DELETED スケジュールに存在していたが削除され、利用者に表示してはいけない便です。

DELETED は、CANCELED の代わりに使用し、交通事業者が該当便に関する情報を利用アプリケーションから完全に削除したい場合に指定します。これにより、便が乗客にキャンセルとして表示されることを防ぎます。たとえば、別の便によって完全に置き換えられる場合などです。この指定は、複数の便がキャンセルされ代替サービスで置き換えられる場合に特に重要です。コンシューマーがキャンセル情報を明示的に表示すると、より重要なリアルタイム予測情報の理解を妨げる可能性があります。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。

message ModifiedTripSelector

便の変更(trip modification)によってサービスが影響を受ける場合、ModifiedTripSelector は特定の便(trip)を選択するために使用されます。詳細については、便の変更(Trip Modification) の仕様を参照してください。

フィールド名 必須 多重度(cardinality) 説明
modifications_id string 必須 1つ この便に影響を与える TripModifications オブジェクトを含む FeedEntityid
affected_trip_id string 必須 1つ modifications_id によって変更される GTFS フィード内の trip_id
start_time string 任意 1つ 頻度ベースの変更便に適用される、この便インスタンスの当初予定されていた開始時刻。 TripDescriptorstart_time と同じ定義です。
start_date string 任意 1つ 変更便に適用される、この便インスタンスの開始日(YYYYMMDD 形式)。 TripDescriptorstart_date と同じ定義です。

message VehicleDescriptor

便を運行している車両の識別情報です。

フィールド

フィールド名 必須 多重度(cardinality) 説明
id string 任意 1つ 車両の内部システム識別子です。車両ごとに一意であるべきであり、システム内で車両の追跡に使用されます。この id はエンドユーザーに表示してはいけません。その目的には label フィールドを使用してください。
label string 任意 1つ 乗客が正しい車両を識別するのに役立つ、ユーザーに表示されるラベルです。
license_plate string 任意 1つ 車両のナンバープレートです。
wheelchair_accessible WheelchairAccessible 任意 1つ 指定された場合、静的 GTFS の wheelchair_accessible の値を上書きすることができます。

enum WheelchairAccessible

特定の便(trip)が車椅子での利用に対応しているかどうかを示します。利用可能な場合、この値は静的GTFSの wheelchair_accessible の値を上書きするべきです。

コメント
NO_VALUE 便(trip)に車椅子対応に関する情報がありません。これはデフォルトの動作です。静的GTFSに wheelchair_accessible の値が含まれている場合、それは上書きされません。
UNKNOWN 便(trip)にアクセシビリティの値が存在しません。この値はGTFSの値を上書きします。
WHEELCHAIR_ACCESSIBLE 便(trip)は車椅子対応です。この値はGTFSの値を上書きします。
WHEELCHAIR_INACCESSIBLE 便(trip)は車椅子対応ではありません。この値はGTFSの値を上書きします。

message EntitySelector

GTFS フィード内のエンティティを指定するためのセレクタです。各フィールドの値は、GTFS フィード内の対応するフィールドに一致する必要があります。少なくとも1つの指定子を与えなければなりません。複数の指定子が与えられた場合、それらは論理演算子 AND で結合されたものとして解釈されます。さらに、指定子の組み合わせは、GTFS フィード内の対応する情報と一致しなければなりません。言い換えると、GTFS 内のエンティティに運行情報(alert)を適用するためには、提供されたすべての EntitySelector フィールドと一致する必要があります。
たとえば、route_id: "5" および route_type: "3" のフィールドを含む EntitySelector は、route_id: "5" のバスのみに適用され、route_type: "3" の他のルートには適用されません。
もし事業者が route_id: "5"route_type: "3" の両方に運行情報を適用したい場合は、route_id: "5" を参照する EntitySelector と、route_type: "3" を参照する EntitySelector の2つを別々に提供するべきです。

少なくとも1つの指定子を与えなければなりません。EntitySelector 内のすべてのフィールドを空にしてはいけません。

フィールド

フィールド名 必須 多重度(cardinality) 説明
agency_id string 条件付き必須 1つ このセレクタが参照する GTFS フィード内の agency_id。
route_id string 条件付き必須 1つ このセレクタが参照する GTFS 内の route_id。direction_id が指定されている場合、route_id も指定しなければなりません。
route_type int32 条件付き必須 1つ このセレクタが参照する GTFS 内の route_type。
direction_id uint32 条件付き必須 1つ GTFS フィードの trips.txt ファイル内の direction_id。route_id で指定されたルートのうち、1つの方向のすべての便(trip)を選択するために使用されます。direction_id が指定されている場合、route_id も指定しなければなりません。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。
trip TripDescriptor 条件付き必須 1つ このセレクタが参照する GTFS 内の便(trip)インスタンス。この TripDescriptor は、GTFS データ内の単一の便インスタンスに解決されなければなりません(例: 事業者は exact_times=0 の便に対して trip_id のみを提供してはいけません)。この TripDescriptor 内に ScheduleRelationship フィールドが含まれている場合、GTFS の便を特定する際に、利用者はそれを無視します。
stop_id string 条件付き必須 1つ このセレクタが参照する GTFS フィード内の stop_id。

message TranslatedString

テキストまたは URL のスニペットの、言語ごとのバージョンを含む国際化されたメッセージです。メッセージ内の文字列のうち、1つが選択されます。解決の手順は次の通りです。UI の言語が翻訳の言語コードと一致する場合、最初に一致した翻訳が選択されます。デフォルトの UI 言語(例: 英語)が翻訳の言語コードと一致する場合、最初に一致した翻訳が選択されます。言語コードが指定されていない翻訳がある場合、その翻訳が選択されます。

フィールド

フィールド名 必須 多重度(cardinality) 説明
translation Translation 必須 複数 少なくとも1つの翻訳を指定しなければなりません。

message Translation

言語に対応付けられたローカライズされた文字列です。

フィールド名 必須 多重度(cardinality) 説明
text string 必須 1つ メッセージを含む UTF-8 文字列です。
language string 条件付き必須 1つ BCP-47 言語コードです。言語が不明な場合、またはフィードにおいて国際化がまったく行われていない場合は省略することができます。言語タグが指定されていない翻訳は最大で1つのみ許可されます。複数の翻訳がある場合は、言語を指定しなければなりません。

message TranslatedImage

各言語版の画像を含む国際化対応メッセージです。メッセージ内の画像のうち1つが選択されます。解決の手順は次の通りです。UI 言語が翻訳の言語コードと一致する場合、最初に一致した翻訳が選択されます。デフォルトの UI 言語(例: 英語)が翻訳の言語コードと一致する場合、最初に一致した翻訳が選択されます。言語コードが指定されていない翻訳がある場合、その翻訳が選択されます。

注意: このメッセージは現在 実験的 であり、変更される可能性があります。将来的に正式採用される可能性があります。

フィールド

フィールド名 必須 多重度(cardinality) 説明
localized_image LocalizedImage 必須 複数 少なくとも1つのローカライズされた画像を指定しなければなりません。

message LocalizedImage

言語に対応付けられたローカライズ済み画像のURLです。

フィールド名 必須 多重度(cardinality) 説明
url string 必須 1つ 画像へのリンクを含むURL文字列です。リンク先の画像は2MB未満でなければなりません。画像が大きく変更され、利用者側で更新が必要な場合、提供者はURLを新しいものに更新しなければなりません。

URLは http:// または https:// を含む完全修飾URLであるべきです。また、URL内の特殊文字は正しくエスケープされていなければなりません。完全修飾URL値の作成方法については、次の資料を参照してください: http://www.w3.org/Addressing/URL/4_URI_Recommentations.html
media_type string 必須 1つ 表示する画像の種類を指定するための IANA メディアタイプです。このタイプは "image/" で始まらなければなりません。
language string 条件付き必須 1つ BCP-47 言語コードです。言語が不明な場合、またはフィードに国際化がまったく行われていない場合は省略することができます。言語タグが指定されていない翻訳は1つまでしか許可されません。複数の翻訳が存在する場合は、言語を指定しなければなりません。

message Shape

Shape が (CSV) GTFS の一部ではない場合、例えば臨時の迂回運行などにおいて、車両が通る物理的な経路を記述します。Shape は Trip に属し、効率的な伝送のためにエンコードされたポリラインで構成されます。Shape は Stop の位置を正確に通過する必要はありませんが、Trip 上のすべての Stop は、その Trip の Shape からごく近い距離、すなわち Shape の各点を結ぶ直線セグメントの近くに位置しているべきです。



注意: このメッセージは現在 実験的 であり、変更される可能性があります。将来的に正式に採用される可能性があります。

フィールド

フィールド名 必須 多重度(cardinality) 説明
shape_id string 必須 1つ Shape の識別子です。(CSV) GTFS で定義されているいかなる shape_id とも異なる必要があります。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式に採用される可能性があります。
encoded_polyline string 必須 1つ Shape のエンコードされたポリライン表現です。このポリラインには少なくとも2つの点が含まれていなければならず、使用される Trip の全体の Shape を表現していなければなりません。エンコードされたポリラインの詳細については、https://developers.google.com/maps/documentation/utilities/polylinealgorithm を参照してください。

注意: このフィールドは現在 実験的 であり、変更される可能性があります。将来的に正式に採用される可能性があります。

message Stop

フィードに動的に追加される新しい停留所(stop)を表します。すべてのフィールドは (CSV) GTFS 仕様で説明されている通りです。新しい停留所(stop)の location type は 0(経路指定可能な停留所)です。



注意: このフィールドはまだ実験的であり、変更される可能性があります。将来的に正式に採用される可能性があります。

フィールド

フィールド名 必須 多重度(cardinality) 説明
stop_id string 必須 1つ 停留所(stop)の識別子です。(CSV) GTFS で定義されているいかなる stop_id とも異ならなければなりません。
stop_code TranslatedString 任意 1つ (CSV) GTFS の stops.stop_code の定義を参照してください。
stop_name TranslatedString 必須 1つ (CSV) GTFS の stops.stop_name の定義を参照してください。
tts_stop_name TranslatedString 任意 1つ (CSV) GTFS の stops.tts_stop_name の定義を参照してください。
stop_desc TranslatedString 任意 1つ (CSV) GTFS の stops.stop_desc の定義を参照してください。
stop_lat float 必須 1つ (CSV) GTFS の stops.stop_lat の定義を参照してください。
stop_lon float 必須 1つ (CSV) GTFS の stops.stop_lon の定義を参照してください。
zone_id string 任意 1つ (CSV) GTFS の stops.zone_id の定義を参照してください。
stop_url TranslatedString 任意 1つ (CSV) GTFS の stops.stop_url の定義を参照してください。
parent_station string 任意 1つ (CSV) GTFS の stops.parent_station の定義を参照してください。
stop_timezone string 任意 1つ (CSV) GTFS の stops.stop_timezone の定義を参照してください。
wheelchair_boarding WheelchairBoarding 任意 1つ (CSV) GTFS の stops.wheelchair_boarding の定義を参照してください。
level_id string 任意 1つ (CSV) GTFS の stops.level_id の定義を参照してください。
platform_code TranslatedString 任意 1つ (CSV) GTFS の stops.platform_code の定義を参照してください。

enum WheelchairBoarding

コメント
UNKNOWN この停留所(stop)にはバリアフリー情報がありません。
AVAILABLE この停留所(stop)では、一部の車両に車椅子の乗客が乗車することができます。
NOT_AVAILABLE この停留所(stop)では車椅子での乗車はできません。

message TripModifications

TripModifications メッセージは、迂回などの特定の変更によって影響を受ける、類似した便(trip)の一覧を識別します。



注意: このフィールドは現在 実験的 段階にあり、変更される可能性があります。将来的に正式採用される場合があります。

Trip Modifications についての詳細...

フィールド

フィールド名 必須 多重度(cardinality) 説明
selected_trips SelectedTrips 必須 複数 この TripModifications によって影響を受ける選択された便(trip)の一覧です。少なくとも1つの SelectedTrips を含む必要があります。start_times の値が設定されている場合、1つの trip_id を持つ最大1つの SelectedTrips のみを列挙できます。
start_times string 任意 複数 trip_ids で定義された trip_id に対するリアルタイム便記述子内の出発時刻の一覧です。頻度ベースの便において、1つの trip_id の複数の出発を対象とする際に有用です。
service_dates string 必須 複数 変更が発生する日付を YYYYMMDD 形式で指定します。trip_id は、指定された運行日(service day)に運行する場合にのみ変更されます。便はすべての運行日に運行する必要はありません。プロデューサーは、今後1週間以内に発生する迂回のみを送信するべきです。提供される日付は、利用者向け情報として使用すべきではありません。利用者向けの開始日および終了日を提供する必要がある場合は、service_alert_id を使用してリンクされた運行情報(alert)内で提供することができます。
modifications Modification 必須 複数 影響を受ける便に適用する変更の一覧です。

message Modification

Modification メッセージは、start_stop_selector から始まる、影響を受ける各便(trip)への変更を記述します。



注意: このフィールドは現在 実験的 段階にあり、変更される可能性があります。将来的に正式採用される場合があります。

特定の便に対する変更の効果を示す例。この変更は他の複数の便にも適用される可能性があります。

伝播した迂回遅延は、変更の終了後のすべての停留所(stop)に影響します。便に複数の変更がある場合、遅延は累積されます。

フィールド

フィールド名 必須 多重度(cardinality) 説明
start_stop_selector StopSelector 必須 1つ この変更の影響を受ける元の便の最初の停留所(stop)のセレクタです。end_stop_selector と併用されます。start_stop_selector は必須であり、travel_time_to_stop で使用される基準停留所を定義します。詳細は travel_time_to_stop を参照してください。
end_stop_selector StopSelector 条件付き必須 1つ この変更の影響を受ける元の便の最後の停留所(stop)のセレクタです。選択は包括的であるため、1つの停車時刻(stop_time)のみがこの変更で置き換えられる場合、start_stop_selectorend_stop_selector は同一でなければなりません。置き換えられる停車時刻がない場合、end_stop_selector を指定してはいけません。それ以外の場合は必須です。
propagated_modification_delay int32 任意 1つ 変更によって挿入された最後の停留所(stop)以降のすべての出発時刻および到着時刻に加算される遅延秒数です。変更がルート形状(shape)のみに影響する場合(すなわち、end_stop_selector および replacement_stops が指定されていない場合)、遅延の伝播は start_stop_selector の次の停留所から始まります。正または負の値を取ることができます。同一の便に複数の変更が適用される場合、便の進行に伴って遅延は累積されます。

値が指定されていない場合、利用者は他のデータに基づいて propagated_modification_delay を補間または推定することができます。
replacement_stops ReplacementStop 任意 複数 元の便の停留所(stop)を置き換える代替停留所のリストです。新しい停車時刻(stop_time)の数は、置き換えられる停車時刻の数より少なくても、同じでも、多くてもかまいません。
service_alert_id string 任意 1つ この変更をユーザー向けに説明する Alert を含む FeedEntity メッセージの id 値です。
last_modified_time uint64 任意 1つ この変更が最後に更新された時刻を示すタイムスタンプです。POSIX 時間(すなわち、1970年1月1日 00:00:00 UTC からの経過秒数)で表されます。

message StopSelector

停留所等(stop)を指定するためのセレクタです。stop_id または stop_sequence のいずれかで指定します。少なくともどちらか一方の値を指定しなければなりません。



注意: このフィールドは現在 実験的 段階にあり、変更される可能性があります。将来的に正式採用される場合があります。

フィールド

フィールド名 必須 多重度(cardinality) 説明
stop_sequence uint32 条件付き必須 1つ 対応する GTFS フィード内の stop_times.txt に記載されているものと同一でなければなりません。StopSelector 内では stop_sequence または stop_id のいずれかを指定しなければならず、両方のフィールドを空にしてはいけません。同一の stop_id に複数回停車する便(例: ループ運行)の場合、どの停留所等(stop)に対する予測であるかを区別するために stop_sequence が必須です。
stop_id string 条件付き必須 1つ 対応する GTFS フィード内の stops.txt に記載されているものと同一でなければなりません。StopSelector 内では stop_sequence または stop_id のいずれかを指定しなければならず、両方のフィールドを空にしてはいけません。

message SelectedTrips

関連するルート形状(shape)を持つ選択された便(trip)の一覧です。



注意: このフィールドは現在実験的なものであり、変更される可能性があります。将来的に正式に採用される可能性があります。

フィールド

フィールド名 必須 多重度(cardinality) 説明
trip_ids uint32 必須 複数 含まれる置換によって影響を受ける、元の (CSV) GTFS の trip_id の一覧です。少なくとも1つの trip_id を含む必要があります。schedule_relationship=REPLACEMENT を持つ TripUpdate がすでにその便に対して存在していてはいけません。
shape_id string 必須 1つ この SelectedTrips 内の変更された便に対する新しいルート形状(shape)の ID です。同じ GTFS-RT フィード内で Shape メッセージを使用して追加された新しいルート形状を参照することも、GTFS-Static フィードの shapes.txt に定義された既存のルート形状を参照することもできます。リアルタイムフィード内の Shape エンティティを参照する場合、このフィールドの値はそのエンティティ内の shape_id の値でなければならず、FeedEntityid ではありません

message ReplacementStop

ReplacementStop メッセージは、便(trip)が新たに停車する停留所(stop)を定義し、任意でその停留所までの推定所要時間を指定します。



注意: このフィールドは現在実験的なものであり、変更される可能性があります。将来的に正式採用される場合があります。

もし変更が便(trip)の最初の停留所(stop)に影響する場合、その停留所は変更の基準停留所(reference stop)としても機能します。

フィールド

フィールド名 必須 多重度(cardinality) 説明
stop_id string 必須 1つ 便(trip)が新たに停車する代替停留所(stop)のIDです。同一の GTFS-RT フィード内で Stop メッセージを使用して追加された新しい停留所(stop)を参照することも、(CSV) GTFS フィードの stops.txt に定義された既存の停留所(stop)を参照することもできます。リアルタイムフィード内の Shape エンティティを参照する場合、このフィールドの値はエンティティ内の stop_id の値でなければならず、FeedEntityid ではありません。停留所(stop)は location_type=0(経路上の停留所)でなければなりません。
travel_time_to_stop int32 任意 1つ この停留所(stop)の到着時刻と基準停留所(reference stop)の到着時刻との差(秒単位)です。基準停留所(reference stop)は start_stop_selector の直前の停留所(stop)です。もし変更が便(trip)の最初の停留所(stop)から始まる場合、その最初の停留所(stop)が基準停留所(reference stop)となります。

この値は単調増加でなければならず、元の便(trip)の最初の停留所(stop)が基準停留所(reference stop)である場合のみ負の値を取ることができます。

値が指定されていない場合、利用者は他のデータに基づいて travel_time_to_stop を補間または推定することができます。