検証エラーは重大なエラーであり、修正するまでフィードは正常に処理されません。
出発から到着までの間隔が 24 時間を超える場合Error in English: Departure-arrival intervals over 24 hours
2 つの stop
間の移動時間が 24 時間を超えてはいけません。超えた場合、Google の GTFS 検証ツールとインポート ツールにより、エラーとして報告されます。
ヒント: 2 地点間の移動時間が 24 時間を超える交通網はそうそうないので、このような状況は極めてまれと言えるでしょう。
例
例 1
ある trip
において、駅 A を午前 9 時に出発するとします。最終目的地である駅 B に翌日の午前 10 時に到着するまでに、この trip
では出発から 24 時間以内に複数の駅を経由します。これらの駅は、drop_off_type value
が 1
であるため、乗客は途中下車できません。したがって、2 駅間の合計移動時間が 25 時間になるため、エラーとなります。
- 乗客が乗車した地点から、次に降車できる地点に到着するまでの最大間隔が測定されます。最大間隔が 24 時間を超えると、エラーとして扱われます。
例 2
ある trip
において、駅 A を午前 9 時に出発するとします。最終目的地である駅 B に翌日の午前 10 時に到着するまでに、この trip
では出発から 24 時間以内に複数の駅を経由します。このルートでは、途中駅の到着時刻または出発時刻が指定されていません。そのため、このルートの間隔は 25 時間とみなされます。
この問題を解決するには、途中駅の到着時刻と出発時刻を指定します。
このエラーは、アップロードされたファイルの形式が不適切な場合に発生します。各行の末尾は「CRLF」または「LF」の改行文字で終わらせます。
「CR」で終わる行はほとんどのテキスト ビューアで正しく表示されますが、システムでは正しく処理されません。
データセット全体で値が一意でなければならない場合、重複する値を持つ識別子が特定されます。
たとえば、trips.txt
ファイルに同じ trip_id
が設定されたルートが複数ある場合に、このエラーが表示されます。
参照先の値が見つからないのは致命的なエラーであり、これによってフィードを使用できなくなります。
ファイル内の列の値が別のファイルの列の値を参照する場合は、双方の列の値が一致していなければなりません。双方の列の値が一致していないと、フィード検証ツールは「参照先の値が見つかりません」というエラーを返します。
例
fare_rules.txt
ファイルが routes.txt
ファイルにない route_id
を参照している場合
fare_rules.txt ファイル:
routes.txt
route_id,route_short_name,route_type
r1,S1,3
r2,S2,3
routes.txt ファイル:
trips.txt
route_id,trip_id,service_id
r3,t0,weekly
このフィードの解析と検証は行えません。GTFS では、trips.txt
ファイルの route_id
列の値と routes.txt
ファイルの route_id
列の値の一致が求められます。この例の場合、r3
の trips.txt route_id
値が、routes.txt
ファイルの route_id
のいずれの値とも一致していません。そのため、このファイルを検証することはできません。
GTFS には、こうした値参照に関する制約が多数定義されています。複数の GTFS ファイル間で値が一致していることを確認してください。
指定されたフィード ファイルを読み取れません。
たいていの場合、エンコードに問題があるか、zip ファイル内のディレクトリにファイルがまとめられていることが原因です。zip ファイルではサブディレクトリを作らず、個々のファイルをそのまま圧縮してください。
フィードで言語が指定されていない場合は、ユーザーにどのように表示すればよいかという判断が困難になります。
言語を指定するには、agency.txt
ファイルで agency_lang
フィールドを設定するか、feed_info.txt
ファイルを追加してください。
GTFS フィードでは、trips.txt
ファイルの 2 つのルートを block_id
フィールドで関連付けることができます。たとえば、同じ vehicle
の 2 つ以上のルート(乗換が必要な乗客がルートをまたがって同じ vehicle
を利用できる場合など)を関連付けることが可能となります。
重要: stop
の時刻が重複している 2 つのルートは同じ block
に属することができないため、この問題は修正する必要があります。
例
2 つのルートが同じ block_id で関連付けられています。
同じブロック内の 2 つのルート:
trip_id,route_id,service_id,block_id
t0,r0,weekday,block0
t1,r0,weekday,block0
停車時刻が設定されている 2 つのルート:
trip_id,stop_id,stop_sequence,arrival_time,departure_time
t0,stop0,0,09:00:00,09:00:00
t0,stop1,1,09:30:00,09:30:00
t1,stop2,0,09:25:00,09:25:00
t1,stop3,1,10:00:00,10:00:00
この 2 つのルートは同じブロックに属し、同じ運行日に有効になっており、停車時刻が重複しているため、無効となります。
trip t0
は午前 9 時に出発し、午前 9 時半に到着します。trip t1
は午前 9 時 25 分に出発し、午前 10 時に到着します。t1 を可能にするには、車両は t0
を完了してから、t1
の開始に間に合うように戻る必要があります。
ルートの順序は、ある trip
の最後の stop
が、別の trip
の最初の stop
よりも前になるように設定しなくてはなりません。
この問題を解決するには、trip t0
の最後の stop
を、trip t1
の最初の stop
と同じ時刻に設定します。
「ブロックルートの駅または停留所が重複しています」という警告が表示された場合は、次の点を確認して問題を解決してください。
- 2 つの重複しているルートの
stop
の時刻が正しいかどうか。 - 2 つの重複しているルートの
block
は実際には同じではないか。- 2 つのルートが同じ
block
に属している場合は、両者のvehicle
は同じということになります。
- 2 つのルートが同じ
- 2 つのルートの
service_ids
が正しいかどうか。- 同じ運行日に 2 つのルートが有効になっていない場合、それらの
block_id
が同じで、stop
の時刻が重複している可能性があります。別の運行日を作成するには、各trip
に異なるservice_id
を入力し、calendar.txt
ファイルに異なる運行日を入力します。
- 同じ運行日に 2 つのルートが有効になっていない場合、それらの
親 station
から 100 m 以上、1,000 m 未満の距離にある stop
が見つかった場合、警告がトリガーされます。stop
と station
は stops.txt
ファイルの parent_station
列で関連付けられています。
通常、station
の敷地内に含まれている stop
は、親 station
からそれほど離れていません。stop
が親 station
から大きく離れていることがわかった場合は、GTFS フィードに問題がある可能性があることを示しています。
「停車地が親駅から遠すぎます」という警告が表示された場合は、次の項目を確認してください。
stop
の位置が正しい- 親
station
の位置が正しい stop
が特定の駅に属している
注意事項:
stop
が親station
の一部でない場合は、親station
を更新する必要があります。- 地下鉄の入り口が、対応する
station
の中心から遠く離れている場合は、この警告を無視してください。 stop
が親station
から 1,000 m 以上離れている場合は、検証エラーになります。