GTFS リアルタイム リファレンス

交通機関は GTFS リアルタイム フィードを利用して、運行の障害(駅の閉鎖、運転の見合わせ、大幅な遅れなど)、車両の現在地、予定到着時刻に関するリアルタイムの情報を利用客に提供することができます。

このサイトでは、バージョン 2.0 のフィード仕様についての説明をドキュメント化しています。

用語の定義

必須

GTFS リアルタイム v2.0 以降では「必須」列を追加しました。この列には、有効な乗換案内データとして、これを利用するアプリケーションにとって有意なものとなるために、データ作成者が提供しなければならないフィールドを示しています。

以下の説明において、「必須」フィールドには次の値が使われています。

  • 必須: 指定する必要のあるフィールドです。
  • 条件付き必須: 特定の条件下で必須となります。条件については、フィールドの「詳細」フィールドに記載されています。この条件外では、フィールドは省略することができます。
  • 任意: 省略可能で、指定する必要はありません。ただし、基盤となる車両位置特定自動システム(VehiclePosition timestamp など)でデータが利用可能である場合は、省略可能なフィールドでも、できる限り指定することをおすすめします。

セマンティック要件は GTFS リアルタイム バージョン 1.0 では定義されていないため、gtfs_realtime_version1 のフィードはこれらの要件を満たしていない可能性があります(詳しくは、セマンティック要件のための提案をご覧ください)。

カーディナリティ(基数)

「カーディナリティ」は、特定のフィールドに指定できる要素の数を表します。次の値が使用されます。

「必須」フィールドと「説明」フィールドを必ず参照し、フィールドが「必須」「条件付き必須」または「任意」のどれであるかを確認してください。プロトコル バッファのフィールド ルールについては gtfs-realtime.proto を参照してください。

プロトコル バッファのデータタイプ

フィード要素の説明には、次のプロトコル バッファ データタイプが使用されます。

  • message(メッセージ): 複合型
  • enum(列挙型): 固定値のリスト

試験運用フィールド

試験運用とラベル付けされたフィールドは、まだ正式には採用されておらず、変更される可能性があります。試験運用フィールドは将来、正式に採用される可能性があります。

要素の目次

要素

message FeedMessage

フィード メッセージの内容です。ストリーム内の各メッセージは、適切な HTTP GET リクエストへのレスポンスとして取得されます。リアルタイム フィードは、常に既存の GTFS フィードとの関係で定義されます。エンティティ ID はすべて GTFS フィードに対応して解決されます。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
header FeedHeader 必須 1 このフィードとフィード メッセージに関するメタデータ。
entity FeedEntity 条件付き必須 フィードの内容。交通システムに利用可能なリアルタイムの情報がある場合は、このフィールドを指定する必要があります。このフィールドが空の場合、情報を消費する側は利用可能なリアルタイム情報がないと判断する必要があります。

message FeedHeader

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

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
gtfs_realtime_version string 必須 1 フィード仕様のバージョン。最新バージョンは 2.0 です。
incrementality Incrementality 必須 1
timestamp uint64 必須 1 このタイムスタンプは、このフィードの内容が作成された時間(サーバー時)を POSIX 時間(1970 年 1 月 1 日 00:00:00 UTC からの経過秒数)で表します。リアルタイムの情報を生成するシステムと消費するシステムの間の時間のずれを避けるため、timestamp はタイムサーバーから取得することを強くおすすめします。数秒の時間差は許容されるため、Stratum 3 のサーバーか、それより下位のサーバーを使用してもまったく差し支えありません。

enum Incrementality

最新の取得値が増分データかどうかを判断します。

  • FULL_DATASET: このフィードの更新によって、更新以前のリアルタイム情報がすべて上書きされます。そのため、既知のリアルタイム情報が完全な状態で提供されると期待されています。
  • DIFFERENTIAL: 現在、このモードはサポートされておらず、このモードを使用したフィードの動作は特定されていませんDIFFERENTIAL モードを使用した場合の動作については、GTFS リアルタイム メーリング リスト上でディスカッションが行われており、ドキュメントは結論が出次第更新される予定です。

FULL_DATASET
DIFFERENTIAL

message FeedEntity

乗換案内フィード内のエンティティの定義(または更新)。エンティティが削除されていない場合は、trip_updatevehiclealert のいずれかのフィールドにデータを指定する必要があります。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
id string 必須 1 このエンティティのフィード固有 ID。この ID は、増分データをサポートする目的にのみ使用されます。フィードで参照される実際のエンティティは、明示的なセレクタで指定する必要があります(詳しくは、後続の EntitySelector の項をご覧ください)。
is_deleted bool 任意 1 このエンティティを削除するかどうか。Incrementality の値が DIFFERENTIAL のフィードに対してのみ指定する必要があります。このフィールドは、Incrementality の値が FULL_DATASET のフィードには指定しないでください。
trip_update TripUpdate 条件付き必須 1 ルートの発車時間の遅延に関するリアルタイムのデータ。trip_updatevehiclealert のうち少なくとも 1 つのフィールドを指定する必要があります。これらのフィールドをすべて空にすることはできません。
vehicle VehiclePosition 条件付き必須 1 車両の現在地に関するリアルタイムのデータ。trip_updatevehiclealert のうち少なくとも 1 つのフィールドを指定する必要があります。これらのフィールドをすべて空にすることはできません。
alert Alert 条件付き必須 1 リアルタイムのアラートに関するデータ。trip_updatevehiclealert のうち少なくとも 1 つのフィールドを指定する必要があります。これらのフィールドをすべて空にすることはできません。

message TripUpdate

ルートを走行中の車両の移動状況に関するリアルタイムの更新情報。ルート更新情報エンティティに関する概要もご覧ください。

ScheduleRelationship の値に応じて、TripUpdate では次の項目を指定できます。

  • 運行スケジュールに従って進行しているルート。
  • 経路に沿って進行しているが、決まった運行スケジュールがないルート。
  • 運行スケジュールに追加または削除されたルート。

この更新情報は、将来の予測される到着や出発イベント、またはすでに発生した過去のイベントに対応します。ほとんどの場合、過去のイベントに関する情報は測定値であるため、不確実度の値は 0 にすることをおすすめします。ただし、これが当てはまらない場合もあり得るため、過去のイベントの不確実度を 0 以外に設定することもできます。不確実度が 0 ではない場合、その更新情報は、完了していないルートや測定値が正確ではないルートに対する概算予測か、イベント発生後の検証がまだ行われていない過去についての予測のいずれかです。

この更新情報で、すでに完了しているルートを説明することもできます。その場合は、ルートの終点の更新情報を提供するだけで十分です。終点到着時刻が過去であれば、そのルート全体が過去のものであるとクライアント側で判断されるためです(さらに、終点以外の停車地に関する更新情報を提供することも可能ですが、さほど重要ではないでしょう)。このオプションは、ルートが運行スケジュールより早く完了しており、スケジュール上ではルートが現在まだ進行中であることを示す場合に適しています。このルートの最新情報を削除してしまうと、クライアント側でルートがまだ進行中であると見なされる可能性があります。フィード提供者は、過去の更新情報を削除できます。ただ、特にこの例のように削除しない方が実用的である場合など、必ずしも削除する必要はありません。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
trip TripDescriptor 必須 1 このメッセージが適用されるルート。実際の各ルート インスタンスにつき指定できる TripUpdate エンティティは 1 つまでです。何もない場合は、利用可能な予測情報がないことを意味しており、ルートが運行スケジュールどおりに進んでいるというわけではありません。
vehicle VehicleDescriptor 任意 1 このルートを走行する車両に関する追加情報。
stop_time_update StopTimeUpdate 条件付き必須 ルートの StopTimes(将来の停車予測時刻、また場合によっては過去の停車時刻の両方)の更新情報。この情報は stop_sequence によって並べ替えられ、次に指定されている stop_time_update までの駅 / 停留所すべてに適用されます。trip.schedule_relationshipCANCELED でない限り、ルートにつき少なくとも 1 つの stop_time_update を提供する必要があります。ルートがキャンセルされた場合は、stop_time_updates を提供する必要はありません。
timestamp uint64 任意 1 車両のリアルタイムの移動状況が測定された日時。POSIX 時間(1970 年 1 月 1 日 00:00:00 UTC からの経過秒数)で表します。
delay int32 任意 1 ルートの運行スケジュールからのずれ。delay は、GTFS 上の既存の運行スケジュールを基準として予測が行われる場合にのみ指定します。
delay(秒単位)は、正(車両が遅れていることを意味する)または負(車両が定刻より早く運行していることを意味する)の値のどちらかで、delay0 の場合、車両が定刻どおり運行していることを意味します。
StopTimeUpdates の遅延情報は、ルートレベルの遅延情報に優先します。これは、ルートレベルの遅延が、StopTimeUpdate delay 値が指定された次の駅 / 停留所までのみ伝搬されるようにするためです。
データの最新性を評価するため、delay 値が最後に更新された時間を示す TripUpdate.timestamp 値を提供することを強くおすすめします。
注意: このフィールドはまだ試験運用中であり、変更される可能性があります。このフィールドは将来、正式に採用される可能性があります。

message StopTimeEvent

予測された単一のイベント(到着または出発)の時間情報。時間情報は、遅延または推定時刻(あるいはその両方)、および不確実度で構成されます。

  • delay は、GTFS 上の既存の運行スケジュールを基準として予測が行われる場合に使用します。
  • time は、予測される運行スケジュールがあるかどうかにかかわらず提供されるものです。timedelay の両方が指定されている場合、time が優先されます(運行スケジュールがあるルートであれば time の値は通常、GTFS での運行スケジュールの時間に遅延を加えた値と等しくなるはずです)。

不確実度は、時間と遅延の両方に等しく適用されます。不確実度は、実際の遅延時間で予想される誤差を大まかに指定します(正確な統計的意味はまだ定義されていません)。コンピュータによる時間制御の下で運転されている列車の場合など、不確実度を 0 にすることも可能です。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
delay int32 条件付き必須 1 delay フィールド(秒単位)は、正(車両が遅れていることを意味する)または負(車両が定刻より早く運行していることを意味する)の値のどちらかで、delay0 の場合は、定刻どおり運行していることを表します。StopTimeEvent では、delay または time を指定する必要があります。両方のフィールドを空にすることはできません。
time int64 条件付き必須 1 イベントの絶対時間。POSIX 時間(1970 年 1 月 1 日 00:00:00 UTC からの経過秒数)で表します。StopTimeEvent では、delay または time を指定する必要があります。両方のフィールドを空にすることはできません。
uncertainty int32 任意 1 uncertainty を省略すると、「不明」として解釈されます。確実な予測であることを表す場合は、不確実度を 0 に設定します。

message StopTimeUpdate

ルートの特定の駅 / 停留所に関する発着イベントのリアルタイムの更新情報。TripDescriptor およびルート更新情報エンティティのドキュメントにある停車時刻の更新情報に関する概要もご覧ください。

過去と未来のどちらのイベントについても更新情報を提供できます。フィード制作者は過去のイベントを削除できますが、必ずしも削除する必要はありません。この更新情報は stop_sequence または stop_id により特定の駅 / 停留所と関連付けられるため、どちらかのフィールドを設定する必要があります。同じ stop_id が 1 回のルートで複数回訪問される場合、そのルートのその stop_id に対するすべての StopTimeUpdatesstop_sequence を指定する必要があります。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
stop_sequence uint32 条件付き必須 1 対応する GTFS フィードの stop_times.txt 内の値と同じである必要があります。StopTimeUpdate では、stop_sequence または stop_id を指定する必要があります。両方のフィールドを空にすることはできません。stop_sequence は、同じ stop_id を複数回訪問するルート(ループなど)に必要です。これは、推定時刻がどの駅 / 停留所に対するものか明確にするためです。
stop_id string 条件付き必須 1 対応する GTFS フィードの stops.txt 内の値と同じである必要があります。StopTimeUpdate では、stop_sequence または stop_id を指定する必要があります。両方のフィールドを空にすることはできません。
arrival StopTimeEvent 条件付き必須 1 schedule_relationship が空または SCHEDULED の場合、StopTimeUpdate 内で arrival または departure を指定する必要があります。両方のフィールドを空にすることはできません。schedule_relationshipSKIPPED の場合は、arrivaldeparture の両方を空にできることもあります。schedule_relationshipNO_DATA の場合、arrivaldeparture は空にする必要があります。
departure StopTimeEvent 条件付き必須 1 schedule_relationship が空または SCHEDULED の場合、StopTimeUpdate 内で arrival または departure を指定する必要があります。両方のフィールドを空にすることはできません。schedule_relationshipSKIPPED の場合は、arrivaldeparture の両方を空にできることもあります。schedule_relationshipNO_DATA の場合、arrivaldeparture は空にする必要があります。
schedule_relationship ScheduleRelationship 任意 1 デフォルトの関係は SCHEDULED です。

enum ScheduleRelationship

この StopTime と静的な運行スケジュールとの関係。

説明
SCHEDULED 車両は、必ずしも定刻どおりではありませんが、予定された各駅 / 停留所を回っています。これはデフォルトの設定です。arrival または departure のうち少なくとも 1 つを指定する必要があります。
SKIPPED この駅 / 停留所は通過されます。つまり、車両はこの駅で停車しません。arrivaldeparture のフィールドは省略可能です。
NO_DATA この駅 / 停留所のためのデータが提供されていません。利用可能なリアルタイムの情報がないことを意味します。これが設定されている場合、NO_DATA が後続の駅 / 停留所を通して伝搬されるため、リアルタイムの情報がない駅 / 停留所の始まりを指定するおすすめの方法です。NO_DATA が設定されている場合、arrivaldeparture のいずれも指定することはできません。

message VehiclePosition

特定の車両のリアルタイムの現在地情報。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
trip TripDescriptor 任意 1 この車両が走行しているルート。車両を特定のルート インスタンスで特定できない場合は、部分的に指定するか、指定しなくてもかまいません。
vehicle VehicleDescriptor 任意 1 このルートを走行する車両に関する追加情報。各エントリーには一意の車両 ID が必要です。
position Position 任意 1 この車両の現在地。
current_stop_sequence uint32 任意 1 現在の駅 / 停留所の停車順序インデックス。current_stop_sequence(つまり、それが参照する駅 / 停留所)の意味は current_status によって決まります。current_status が指定されていない場合は IN_TRANSIT_TO であると見なされます。
stop_id string 任意 1 現在の駅 / 停留所を表す識別子。対応する GTFS フィードの stops.txt 内の値と同じである必要があります。
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 車両の混雑状況。
注意: このフィールドはまだ試験運用中であり、変更される可能性があります。このフィールドは将来、正式に採用される可能性があります。

enum VehicleStopStatus

説明
INCOMING_AT 車両がまもなく駅 / 停留所に到着します(駅 / 停留所の表示では通常、車両シンボルが点滅します)。
STOPPED_AT 車両は駅 / 停留所に停車中です。
IN_TRANSIT_TO 車両は次の駅 / 停留所に向けて現在走行中です。

enum CongestionLevel

この車両に影響を及ぼす渋滞のレベル。

UNKNOWN_CONGESTION_LEVEL
RUNNING_SMOOTHLY
STOP_AND_GO
CONGESTION
SEVERE_CONGESTION

enum OccupancyStatus

車両の混雑状況。

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

説明
EMPTY ほぼ空車であると考えられる状態。車内に乗客はほとんど、またはまったくませんが、乗車はできます。
MANY_SEATS_AVAILABLE 空席率が高い状態。利用可能な座席のうち、空いている座席の割合がどのくらい高ければこのカテゴリに分類されるかは、フィード制作者の裁量で決定されます。
FEW_SEATS_AVAILABLE 空席率が低い状態。利用可能な座席のうち、空いている座席の割合がどのくらい低ければこのカテゴリに分類されるかは、フィード制作者の裁量で決定されます。
STANDING_ROOM_ONLY 立っていれば乗れる状態。
CRUSHED_STANDING_ROOM_ONLY 立っていれば乗れるものの、スペースは限られている状態。
FULL ほぼ満員であると考えられますが、まだ乗車できる可能性があります。
NOT_ACCEPTING_PASSENGERS 乗客を受け入れていない状態。通常、車両は乗客を受け入れています。
NO_DATA_AVAILABLE 利用できる乗車率データが車両にありません。
NOT_BOARDABLE 車両は乗車不可能で、乗客を受け入れていません。特別な車両(エンジン、メンテナンス車両など)の場合に使用できます。

message Alert

公共交通機関になんらかの事態が発生したことを示す運行情報。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
active_period TimeRange 任意 このアラートをユーザーに表示する時間。指定されていない場合は、そのアラートがフィードに表示されている間表示されます。複数の期間が指定されている場合、そのすべての期間に表示されます。
informed_entity EntitySelector 必須 このアラートを通知する必要があるユーザーが使用しているエンティティ。少なくとも 1 つの informed_entity を指定する必要があります。
cause Cause 任意 1
effect Effect 任意 1
url TranslatedString 任意 1 このアラートに関する詳しい情報を提供するサイトの URL。
header_text TranslatedString 必須 1 アラートの見出し。この書式なしのテキスト文字列は、太字などで強調表示されます。
description_text TranslatedString 必須 1 アラート内容の説明。この書式なしのテキスト文字列は、運行情報の本文として表示されます(またはユーザーが明示的に「展開」をリクエストしたときに表示されます)。説明文中の情報は、見出しの情報に追加する形にします。

enum Cause

この運行情報の原因。

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

message TimeRange

時間間隔。この間隔は、時間 t の時点で、tstart 時間と同じまたはそれより遅く、end 時間より早い場合に有効であると見なされます。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
start uint64 条件付き必須 1 開始時間。POSIX 時間(1970 年 1 月 1 日 00:00:00 UTC からの経過秒数)で表します。指定されていない場合、時間間隔は負の無限大から開始します。TimeRange が指定されている場合、startend を指定する必要があります。両方のフィールドを空にすることはできません。
end uint64 条件付き必須 1 終了時間。POSIX 時間(1970 年 1 月 1 日 00:00:00 UTC からの経過秒数)で表します。指定されていない場合、時間間隔は正の無限大で終了します。TimeRange が指定されている場合、startend を指定する必要があります。両方のフィールドを空にすることはできません。

message Position

車両の地理的な現在地。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
latitude float 必須 1 WGS 84 測地系で表した北緯。
longitude float 必須 1 WGS 84 測地系で表した東経。
bearing float 任意 1 真北から時計回りの角度で表した方角。つまり 0 は北、90 は東を意味します。これはコンパス方位でも、次の停車地や中間地点に向いた方向でもかまいません。以前の位置情報(クライアント側から以前のデータを基にして計算される)のシーケンスから導く値にはしないでください。
odometer double 任意 1 メートル単位で表した走行距離計の値。
speed float 任意 1 車両で計測された瞬間速度(メートル毎秒)。

message TripDescriptor

GTFS の 1 つのルート インスタンスを識別する記述子。

ほとんどの場合は、trip_id のみで特定のルート インスタンスを指定することができます。ただし、以下のようなケースでは、1 つのルート インスタンスに解決するために追加情報が必要になります。

  • ルートが frequencies.txt で定義されている場合は、trip_id に加えて start_datestart_time が必要になります。
  • ルートが 24 時間以上続く場合、または大幅な遅れが生じたために翌日に予定されているルートと運行時間が重なる場合は、start_datetrip_id の両方が必要になります。
  • trip_id フィールドを指定できない場合は、route_iddirection_idstart_date、および start_time の各フィールドを指定してください。

route_idtrip_id の両方を指定する場合、その route_id は必ず GTFS の trips.txt ファイルでルートに割り当てられている route_id フィールドと一致しなければなりません。

trip_id フィールドを単独で使用する場合、または他の TripDescriptor フィールドと組み合わせて使用する場合でも、複数のルート インスタンスを指定することはできません。TripDescriptor が 1 つのルート インスタンスではなく、ゼロまたは複数のインスタンスに解決される場合は、エラーと見なされます。TripDescriptor がエラーとなっているエンティティは、利用者によって破棄される可能性があります。

たとえば、GTFS の frequencies.txt でルートが exact_times=0 と定義されている場合、TripDescriptor では trip_id 単独でルートを指定することはできません。特定の時間に出発する 1 つのルート インスタンスに解決するには、start_time も指定する必要があります。

trip_id が不明の場合は、TripUpdate の駅シーケンス ID だけでなく、stop_id フィールドも指定してください。また、発着の絶対時刻も指定する必要があります。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
trip_id string 条件付き必須 1 このセレクタが参照する GTFS フィードの trip_idtrip_id は、ルートのタイプによっては必須となります。
非運転時隔ベースのルート: trip_id フィールド単独で、ルートを一意に識別することができます。非運転時隔ベースのルートは、GTFS の frequencies.txt では定義されません。
運転時隔ベースのルート: trip_idstart_timestart_date のフィールドはすべて必須です。運転時隔ベースのルートは、GTFS の frequencies.txt で定義されます。
運行スケジュール ベースのルート: route_iddirection_idstart_timestart_date のフィールドの組み合わせによってルートが一意に識別される場合は、trip_id フィールドを省略することができます。運行スケジュール ベースのルートは、GTFS の frequencies.txt では定義されません。
route_id string 条件付き必須 1 このセレクタが参照する GTFS フィードの route_idtrip_id を省略する場合は、route_iddirection_idstart_timeschedule_relationship=SCHEDULED をすべて設定して、ルート インスタンスを一意に識別しなければなりません。
direction_id uint32 条件付き必須 1 GTFS フィードの trips.txt ファイルで定義される direction_id。移動の進行方向を示します。trip_id を省略する場合は、direction_id を指定する必要があります。
注意: このフィールドはまだ試験運用中であり、変更される可能性があります。このフィールドは将来、正式に採用される可能性があります。
start_time string 条件付き必須 1 このルート インスタンスの予定開始時間。フィールド タイプの Time は、フィールドの形式(「11:15:35」、「25:15:35」など)を定義します。start_time フィールドは、ルートのタイプによっては必須となります。
trip_id が非運転時隔ベースのルートに該当する場合: start_time フィールドは省略するか、GTFS フィードの stop_times.txt ファイルで定義されている departure_time と同じ値にする必要があります。
trip_id が運転時隔ベースのルートに該当する場合: start_time は常に必須となり、ルート更新情報と車両位置情報で指定する必要があります。運転時隔ベースのルートは、GTFS の frequencies.txt で定義されます。
運転時隔ベースのルートが exact_times=1 の GTFS レコードに合致する場合: start_time フィールドは、対応する時間帯に指定されている frequencies.txtstart_time よりも headway_secs の倍数(ゼロ倍を含む)の秒数分遅くなければなりません。
運転時隔ベースのルートが exact_times=0 の GTFS レコードに合致する場合: start_time は任意でかまいません。このフィールドの値は、ルートの最初の予定発車時刻であると解釈されます。いったん確立されると、運転時隔ベースの exact_times=0 のルートの start_time は、最初の発車時刻が変更されても不変であると見なされます。それ以降の時刻の変更は、代わりに StopTimeUpdate メッセージに反映させることができます。
trip_id を省略する場合: start_time を指定する必要があります。
start_date string 条件付き必須 1 このルート インスタンスの開始日。YYYYMMDD 形式で表します。start_date は、ルートのタイプによっては必須となります。
運行スケジュール ベースのルート: start_date は、必ず指定する必要があります。このフィールドは、ルートに大幅な遅れが生じたために翌日に予定されているルートと運行時間が重なった場合などに、曖昧さを回避する目的で指定します。たとえば、毎日 8:00 と 20:00 に出発する電車が 12 時間遅れた場合などは、同じ時間に 2 つの異なるルートが発生することになります。
注: このような事態が起こり得ない運行スケジュール ベースのルートであれば、このフィールドは任意となります。たとえば、1 時間おきに運行するサービスで、1 時間遅れの車両がもはや運行スケジュールに関連していないと考えられるケースなどがこれに当てはまります。
運転時隔ベースのルート: start_date は必ず指定する必要があります。GTFS の frequencies.txt ファイルでは、運行スケジュール ベースのルートは定義されませんが、運転時隔ベースのルートは定義されます。
trip_id を省略する場合: start_date を指定する必要があります。
schedule_relationship ScheduleRelationship 任意 1 このルートと静的な運行スケジュールとの関係。TripDescriptorAlert EntitySelector で指定されている場合、schedule_relationship フィールドは、一致するルート インスタンスを識別する際に無視されます。

enum ScheduleRelationship

このルートと静的な運行スケジュールとの関係。ルートが臨時の運行スケジュールに従って進められ、GTFS に反映されていない場合は、SCHEDULED ではなく ADDEDとしてマークを付ける必要があります。

説明
SCHEDULED GTFS の運行スケジュールに従って、またはそれと関連付けられるほど近い運行スケジュールで進行しているルート。
ADDED 破損した車両を交換したり、急な乗客増加に対応したりするために、現行の運行スケジュールに追加された臨時のルート。
UNSCHEDULED 関連付けられた運行スケジュールのない進行中のルート。この値は、exact_times = 0 の GTFS frequencies.txt で定義されるルートを識別するために使用されます。これは、GTFS frequencies.txt で定義されていないルートや、exact_times = 1 の GTFS frequencies.txt でのルートを記述するためには使用しないでください。
CANCELED 運行スケジュールにあったが削除されたルート。

message VehicleDescriptor

ルートを運行している車両の識別情報。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
id string 任意 1 車両の内部システム ID。車両ごとに一意でなければならず、車両がシステムを通して走行する際の追跡に使用されます。この ID はエンドユーザーに表示されないようにする必要があります。その目的には label フィールドを使用する必要があります。
label string 任意 1 ユーザーに表示されるラベル。乗客が車両を正しく識別するために表示するものです。
license_plate string 任意 1 車両のナンバー プレート。

message EntitySelector

GTFS フィード内のエンティティのセレクタ。フィールドの値は、GTFS フィード内の適切なフィールドに対応させます。指定子を少なくとも 1 つ指定する必要があります。複数指定した場合、AND 論理演算子で結合されたものとして解釈されます。また、指定子の組み合わせは、GTFS フィード内の対応する情報と一致する必要があります。つまり、GTFS のエンティティにアラートを適用するには、指定された EntitySelector フィールドのすべてに一致する必要があります。たとえば、フィールド route_id: "5"route_type: "3" を含む EntitySelector は、route_id: "5" バスにのみ適用され、route_type: "3" の他の経路には適用されません。route_id: "5"route_type: "3" にアラートを適用する場合は、2 つの別々の EntitySelector フィールド(1 つは route_id: "5" を参照、もう 1 つは route_type: "3" を参照)を指定する必要があります。

指定子を少なくとも 1 つ指定する必要があります。EntitySelector のすべてのフィールドを空にすることはできません。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
agency_id string 条件付き必須 1 このセレクタが参照する GTFS フィードの agency_id
route_id string 条件付き必須 1 このセレクタが参照する GTFS の route_iddirection_id を指定する場合は、route_id も指定する必要があります。
route_type int32 条件付き必須 1 このセレクタが参照する GTFS の route_type
direction_id uint32 条件付き必須 1 GTFS フィードの trips.txt ファイルで定義される direction_id。経路(route_id で指定)の同じ方向のルートをすべて選択するのに使用されます。direction_id を指定する場合は、route_id も指定する必要があります。
trip TripDescriptor 条件付き必須 1 このセレクタが参照する GTFS のルート インスタンス。この TripDescriptor は、GTFS データで 1 つのルート インスタンスに解決される必要があります(たとえば、exact_times=0 ルートに trip_id のみを指定することはできません)。この TripDescriptorScheduleRelationship フィールドが入力されていると、GTFS のルートを識別しようとする際に、そのフィールドは無視されます。
stop_id string 条件付き必須 1 このセレクタが参照する GTFS フィードの stop_id

message TranslatedString

テキストまたは URL の言語別スニペットが含まれる多言語化されたメッセージ。メッセージから文字列が 1 つ選択されます。ユーザーが設定している UI の言語が翻訳の言語コードと一致する場合は、最初に一致する翻訳が選択されます。デフォルトの UI 言語(たとえば英語)が翻訳の言語コードと一致する場合は、最初に一致する最初の翻訳が選択されます。言語コードが指定されていない翻訳の場合は、その翻訳が選択されます。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
translation Translation 必須 少なくとも 1 つの翻訳を指定する必要があります。

message Translation

特定の言語にマッピングされているローカライズされた文字列。

フィールド

フィールド名 タイプ 必須 カーディナリティ 説明
text string 必須 1 メッセージを含む UTF-8 文字列。
language string 条件付き必須 1 BCP-47 言語コード。言語が不明な場合、またはフィードがまったく国際化されていない場合は省略できます。不特定の言語タグを指定できる翻訳は 1 つまでです。複数の翻訳がある場合は、その言語を指定する必要があります。