Validation errors are critical blocking issues that you must fix before Google can correctly process your feed.
Departure-arrival intervals over 24 hoursError in English: Departure-arrival intervals over 24 hours
Time intervals between stop
times of 24 hours or longer aren’t supported. Google GTFS validation and import tools report trips with these intervals as errors.
Tip: Very few transit systems have trips where a full 24 hours passes between 2 stops, so these situations should be rare.
Examples
Example 1
A trip
leaves stop A at 9 AM. Over the next 24 hours, the trip
might make a series of stops until it reaches its final destination at stop B at 10 AM the following day. The passengers can’t exit the vehicle at the intermediate stops because the stops have a drop_off_type
value of 1
. This gives the total travel time between the stops at 25 hours, which results in an error.
- We measure the maximum interval from where the passenger boards to where they're next allowed to get off. When that interval is more than 24 hours, the trip is marked as an error.
Example 2
A trip
leaves stop A at 9 AM. Over the next 24 hours, the trip
might make a series of stops until it reaches its final destination at stop B at 10 AM the following day. For this trip, the arrival or departure times for the intermediate stops aren’t specified. Because these stops aren’t specified, we consider the time interval for this trip to be 25 hours.
You can fix this if you specify arrival and departure times for the intermediate stops.
This error happens when incorrectly formatted files are uploaded. Each line must end with a “CRLF” or “LF” line break character.
Most text viewers display lines that end with CR correctly, but these lines aren’t processed correctly by our systems.
We find an identifier with duplicate values when that value must be unique across the entire dataset.
For example, if the trips.txt
file has more than one trip with the same trip_id
, we send this error.
A missing referenced value is a fatal error and means the feed can’t be used.
When values in a column in one file make reference to values from a column in another file, each value in the first column must match a value from the second column. If a value in the first column doesn’t match a value from the second column, the feed validator returns a "Missing referenced value" error.
Example
Your fare_rules.txt
file makes reference to a route_id
that doesn’t exist in the routes.txt
file.
The fare_rules.txt file:
routes.txt
route_id,route_short_name,route_type
r1,S1,3
r2,S2,3
The routes.txt file:
trips.txt
route_id,trip_id,service_id
r3,t0,weekly
This feed fails to parse and validate. GTFS requires that a value in the route_id
column of the trips.txt
file matches a value in the route_id
column of the routes.txt
file. In the example, the trips.txt route_id
value of r3
doesn’t match any of the route_id
values from the routes.txt
file. The files can’t be validated.
There are many such value-reference constraints defined in the GTFS specification. Be sure that values are properly matched between different GTFS files.
We can’t read the feed file you provided.
The error is commonly caused by encoding problems or when the files are grouped under a directory within the zip file. The zip file must contain individual files all on one level with no sub-directory structure.
The feed language isn’t specified, which makes it difficult to present the feed in different languages.
To specify a language: Add either an agency_lang
field in the agency.txt
file or a feed_info.tx
t file.
In a GTFS feed, 2 trips in the trips.txt
file can be linked with the block_id
field. You can link 2 or more trips served by the same vehicle
, especially in cases where a transit passenger might stay on the vehicle
across trips.
Important: You must fix this situation because 2 trips can't belong to the same block
if their stop
times overlap.
Example
2 trips are linked with the same block_id
.
The 2 trips in the same block:
trip_id,route_id,service_id,block_id
t0,r0,weekday,block0
t1,r0,weekday,block0
The 2 trips with their stop times:
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
The trips are invalid because they’re in the same block, are active on the same service date, and have stop times that overlap.
The trip t0
starts at 9:00 AM and ends at 9:30 AM, and the trip t1
starts at 9:25 AM and ends at 10:00 AM. This means that the vehicle would have to finish trip t0
and then travel back in time to begin trip t1
.
You must order the trips so that the last stop
of one trip
comes before the first stop
time of the other trip
.
To fix this problem: You can make the last stop
time of trip t0
have the same time as the first stop
time of trip t1
.
If you get "Overlapping stop times for block trips" warnings, answer the following questions to help fix the problem:
- Are the
stop
times correct for the 2 overlapping trips? - Are the 2 overlapping trips actually in the same
block
?- Trips in the same
block
mean the same servicevehicle
serves both trips.
- Trips in the same
- Are the
service_ids
for the 2 trips correct?- If 2 trips aren’t active on the same service date, the trips can have the same
block_id
and overlappingstop
times. To create different service dates, you must enter differentservice_id
values for eachtrip
and different service dates in thecalendar.txt
file.
- If 2 trips aren’t active on the same service date, the trips can have the same
A warning triggers when validation finds a stop
that’s more than 100 meters but fewer than 1000 meters from its parent station
. The stop
and station
are linked through the parent_station
column in the stops.txt
file.
Generally, a stop
that’s part of a station
complex isn’t far from the parent station
. If a stop
is found to be a large distance from its parent station
, it may indicate a problem with the GTFS feed.
To resolve "Stop too far from parent station" warnings, confirm:
- The
stop
location is correct - The parent
station
location is correct - The
stop
belongs to a specified station
Keep in mind:
- If the
stop
isn't part of the parentstation
complex, you should update the parentstation
complex. - If a subway entrance is far from the center of the corresponding
station
, you can ignore the warning. - A
stop
more than 1000 meters from its parentstation
triggers a validation error.