modesto-usa — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-06-11T16:00:06Z,
for the dataset file:///shared/modesto-usa_b393b7ad.zip. No country code was provided.

Use this report alongside our documentation.

A new version of the Canonical GTFS Schedule validator is available! Please update to get the latest/best validation results.

Summary

Agencies included


Feed Info


Publisher Name:
Stanislaus Regional Transit Authority
Publisher URL:
http://www.stanrta.org
Feed Email:
N/A
Feed Language:
English
Feed Start Date:
2023-03-05
Feed End Date:
2024-04-26

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_dates.txt
  4. fare_attributes.txt
  5. feed_info.txt
  6. frequencies.txt
  7. routes.txt
  8. shapes.txt
  9. stop_times.txt
  10. stops.txt
  11. transfers.txt
  12. trips.txt

Counts


  • Agencies: 1
  • Blocks: 76
  • Routes: 27
  • Shapes: 58
  • Stops: 896
  • Trips: 6332

Specification Compliance report

1201 notices reported (0 errors, 1201 warnings, 0 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 95

equal_shape_distance_diff_coordinates_distance_below_threshold

Two consecutive points have equal shape_dist_traveled and different lat/lon coordinates in shapes.txt and the distance between the two points is greater than 0 but less than 1.11m.

When sorted by shape.shape_pt_sequence, the values for shape_dist_traveled must increase along a shape. Two consecutive points with equal values for shape_dist_traveled and small difference of coordinates (greater than 0 but less than 1.11 m distance) result in a warning.

You can see more about this notice here.

Only the first 50 of 95 affected records are displayed below.

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) The faulty record's `shape_dist_traveled` value. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) The previous shape point's `shape_dist_traveled` value. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`. actualDistanceBetweenShapePoints (?) Actual distance traveled along the shape from the first shape point to the previous shape point.
"1422_shp" 603 2580.998014 20 602 2580.998014 19 1.0609862988175678E-8
"1422_shp" 619 4773.342194 36 618 4773.342194 35 1.131718718738739E-8
"1422_shp" 646 10142.073767 63 645 10142.073767 62 1.2024511386599102E-8
"1422_shp" 670 13192.58423 87 669 13192.58423 86 1.0609862988175678E-8
"1423_shp" 1123 29761.569075 243 1122 29761.569075 242 1.131718718738739E-8
"1499_shp" 7141 8100.794093 57 7140 8100.794093 56 1.0609862988175678E-8
"1499_shp" 7209 19041.185747 125 7208 19041.185747 124 1.0609862988175678E-8
"1499_shp" 7215 20331.4911 131 7214 20331.4911 130 1.0609862988175678E-8
"1499_shp" 7396 59726.167834 312 7395 59726.167834 311 1.0609862988175678E-8
"1421_shp" 288 13232.055908 41 287 13232.055908 40 1.131718718738739E-8
"1421_shp" 431 98033.027608 184 430 98033.027608 183 1.131718718738739E-8
"1504_shp" 9146 18737.105918 91 9145 18737.105918 90 1.131718718738739E-8
"1498_shp" 6890 18005.563995 113 6889 18005.563995 112 1.131718718738739E-8
"1484_shp" 5700 2580.998014 20 5699 2580.998014 19 1.0609862988175678E-8
"1484_shp" 5728 6038.27439 48 5727 6038.27439 47 1.0609862988175678E-8
"1484_shp" 5794 18665.807646 114 5793 18665.807646 113 1.131718718738739E-8
"1434_shp" 2589 119079.793043 290 2588 119079.793043 289 1.131718718738739E-8
"1434_shp" 2626 126588.81531 327 2625 126588.81531 326 1.131718718738739E-8
"1447_shp" 4439 7861.549746 47 4438 7861.549746 46 1.131718718738739E-8
"1447_shp" 4455 10994.757704 63 4454 10994.757704 62 1.131718718738739E-8
"1447_shp" 4579 43160.703337 187 4578 43160.703337 186 1.0609862988175678E-8
"1447_shp" 4803 87244.522757 411 4802 87244.522757 410 1.131718718738739E-8
"1447_shp" 4828 91222.277094 436 4827 91222.277094 435 1.0609862988175678E-8
"1448_shp" 4913 5576.109193 50 4912 5576.109193 49 4.456142455033785E-8
"1448_shp" 4930 7992.056775 67 4929 7992.056775 66 1.0609862988175678E-8
"1448_shp" 5013 21724.034222 150 5012 21724.034222 149 1.131718718738739E-8
"1448_shp" 5093 44030.111904 230 5092 44030.111904 229 1.131718718738739E-8
"1448_shp" 5174 58053.143452 311 5173 58053.143452 310 1.0609862988175678E-8
"1448_shp" 5251 80767.570951 388 5250 80767.570951 387 1.0609862988175678E-8
"1448_shp" 5293 88498.662145 430 5292 88498.662145 429 1.0609862988175678E-8
"1515_shp" 12378 12469.763221 105 12377 12469.763221 104 6.648847472590091E-8
"1515_shp" 12439 19396.966777 166 12438 19396.966777 165 1.131718718738739E-8
"1515_shp" 12526 31066.463328 253 12525 31066.463328 252 1.0609862988175678E-8
"1516_shp" 12634 7998.415148 80 12633 7998.415148 79 1.131718718738739E-8
"1516_shp" 12721 21109.703565 167 12720 21109.703565 166 1.131718718738739E-8
"1516_shp" 12827 39116.587668 273 12826 39116.587668 272 1.131718718738739E-8
"1508_shp" 10869 46093.136906 358 10868 46093.136906 357 1.131718718738739E-8
"1508_shp" 10886 47560.96623 375 10885 47560.96623 374 1.0609862988175678E-8
"1508_shp" 10970 55882.631323 459 10969 55882.631323 458 1.131718718738739E-8
"1533_shp" 17651 14308.980984 107 17650 14308.980984 106 1.131718718738739E-8
"1533_shp" 17677 16388.430026 133 17676 16388.430026 132 1.131718718738739E-8
"1507_shp" 10372 2007.406612 19 10371 2007.406612 18 1.131718718738739E-8
"1532_shp" 17449 23242.39111 127 17448 23242.39111 126 1.131718718738739E-8
"1436_shp" 3009 10047.766269 60 3008 10047.766269 59 1.0609862988175678E-8
"1436_shp" 3015 11338.071623 66 3014 11338.071623 65 1.0609862988175678E-8
"1436_shp" 3038 13893.32716 89 3037 13893.32716 88 1.131718718738739E-8
"1436_shp" 3082 23925.410143 133 3081 23925.410143 132 1.0609862988175678E-8
"1436_shp" 3094 29291.502551 145 3093 29291.502551 144 1.131718718738739E-8
"1525_shp" 15894 5559.654339 47 15893 5559.654339 46 4.456142455033785E-8
"1486_shp" 6166 7990.042227 71 6165 7990.042227 70 1.0609862988175678E-8
equal_shape_distance_same_coordinates WARNING 1079

equal_shape_distance_same_coordinates

Two consecutive points have equal shape_dist_traveled and the same lat/lon coordinates in shapes.txt.

When sorted by shape.shape_pt_sequence, the values for shape_dist_traveled must increase along a shape. Two consecutive points with equal values for shape_dist_traveled and the same coordinates indicate a duplicative shape point.

You can see more about this notice here.

Only the first 50 of 1079 affected records are displayed below.

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous shape point. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`.
"1511_shp" 11695 27655.994764 112 11694 27655.994764 111
"1529_shp" 16513 103954.764689 159 16512 103954.764689 158
"1422_shp" 593 896.480501 10 592 896.480501 9
"1422_shp" 612 3895.839485 29 611 3895.839485 28
"1422_shp" 624 5462.056341 41 623 5462.056341 40
"1422_shp" 628 6609.264056 45 627 6609.264056 44
"1422_shp" 635 7883.788964 52 634 7883.788964 51
"1422_shp" 641 9317.80875 58 640 9317.80875 57
"1422_shp" 657 11329.568973 74 656 11329.568973 73
"1422_shp" 681 15103.847009 98 680 15103.847009 97
"1422_shp" 688 16878.962498 105 687 16878.962498 104
"1422_shp" 703 21351.198195 120 702 21351.198195 119
"1422_shp" 715 24344.458881 132 714 24344.458881 131
"1422_shp" 719 26409.259716 136 718 26409.259716 135
"1422_shp" 727 28106.621932 144 726 28106.621932 143
"1422_shp" 734 29827.728608 151 733 29827.728608 150
"1422_shp" 739 30976.966169 156 738 30976.966169 155
"1422_shp" 744 32136.27121 161 743 32136.27121 160
"1422_shp" 748 34310.925796 165 747 34310.925796 164
"1422_shp" 754 35250.925585 171 753 35250.925585 170
"1422_shp" 778 38658.948616 195 777 38658.948616 194
"1422_shp" 787 40033.595899 204 786 40033.595899 203
"1422_shp" 799 41790.606153 216 798 41790.606153 215
"1422_shp" 818 46105.846119 235 817 46105.846119 234
"1422_shp" 829 49588.279903 246 828 49588.279903 245
"1422_shp" 833 50240.717994 250 832 50240.717994 249
"1422_shp" 836 51646.132452 253 835 51646.132452 252
"1422_shp" 838 52770.526583 255 837 52770.526583 254
"1422_shp" 852 54609.089343 269 851 54609.089343 268
"1422_shp" 866 55901.972295 283 865 55901.972295 282
"1423_shp" 891 971.1966 11 890 971.1966 10
"1423_shp" 898 2896.160861 18 897 2896.160861 17
"1423_shp" 924 6463.85768 44 923 6463.85768 43
"1423_shp" 931 8064.742985 51 930 8064.742985 50
"1423_shp" 938 9608.832158 58 937 9608.832158 57
"1423_shp" 948 10759.559774 68 947 10759.559774 67
"1423_shp" 953 11911.491788 73 952 11911.491788 72
"1423_shp" 966 13373.519118 86 965 13373.519118 85
"1423_shp" 970 14704.981542 90 969 14704.981542 89
"1423_shp" 979 16239.798478 99 978 16239.798478 98
"1423_shp" 992 16858.998155 112 991 16858.998155 111
"1423_shp" 1009 17793.223656 129 1008 17793.223656 128
"1423_shp" 1034 19512.897929 154 1033 19512.897929 153
"1423_shp" 1040 20086.820785 160 1039 20086.820785 159
"1423_shp" 1045 21142.261597 165 1044 21142.261597 164
"1423_shp" 1051 23489.036022 171 1050 23489.036022 170
"1423_shp" 1055 24772.151596 175 1054 24772.151596 174
"1423_shp" 1083 26393.044269 203 1082 26393.044269 202
"1423_shp" 1106 27767.160987 226 1105 27767.160987 225
"1423_shp" 1116 29033.17513 236 1115 29033.17513 235
expired_calendar WARNING 7

expired_calendar

Dataset should not contain date ranges for services that have already expired.

This warning takes into account the calendar_dates.txt file as well as the calendar.txt file.

You can see more about this notice here.

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
2 "3"
3 "6"
4 "7"
5 "10"
6 "4"
7 "2"
8 "8"
fast_travel_between_consecutive_stops WARNING 5

fast_travel_between_consecutive_stops

A transit vehicle moves too fast between two consecutive stops.

The speed threshold depends on route type:

Route type Description Threshold, km/h
0 Light rail 100
1 Subway 150
2 Rail 500
3 Bus 150
4 Ferry 80
5 Cable tram 30
6 Aerial lift 50
7 Funicular 50
11 Trolleybus 150
12 Monorail 150
- Unknown 200

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the problematic trip. tripId (?) `trip_id` of the problematic trip. routeId (?) `route_id` of the problematic trip. speedKph (?) Travel speed (km/h). distanceKm (?) Distance between stops (km). csvRowNumber1 (?) The row number of the first stop time. stopSequence1 (?) `stop_sequence` of the first stop. stopId1 (?) `stop_id` of the first stop. stopName1 (?) `stop_name` of the first stop. departureTime1 (?) `departure_time` of the first stop. csvRowNumber2 (?) The row number of the second stop time. stopSequence2 (?) `stop_sequence` of the second stop. stopId2 (?) `stop_id` of the second stop. stopName2 (?) `stop_name` of the second stop. arrivalTime2 (?) `arrival_time` of the second stop.
2992 "t726-b232D-slA" "90" 443.90112564076173 73.98352094012697 161532 0 "802" "BART Dublin Station" "18:30:00" 161533 540 "805" "Mall Park & Ride" "18:39:00"
2952 "t726-b232D-sl2" "90" 443.90112564076173 73.98352094012697 161520 0 "802" "BART Dublin Station" "18:30:00" 161521 540 "805" "Mall Park & Ride" "18:39:00"
2962 "t726-b232D-sl3" "90" 443.90112564076173 73.98352094012697 161523 0 "802" "BART Dublin Station" "18:30:00" 161524 540 "805" "Mall Park & Ride" "18:39:00"
2972 "t726-b232D-sl4" "90" 443.90112564076173 73.98352094012697 161526 0 "802" "BART Dublin Station" "18:30:00" 161527 540 "805" "Mall Park & Ride" "18:39:00"
2982 "t726-b232D-sl6" "90" 443.90112564076173 73.98352094012697 161529 0 "802" "BART Dublin Station" "18:30:00" 161530 540 "805" "Mall Park & Ride" "18:39:00"
fast_travel_between_far_stops WARNING 5

fast_travel_between_far_stops

A transit vehicle moves too fast between two far stops.

Two stops are considered "far" if they are more than 10 km apart. This normally indicates a more serious problem than too fast travel between consecutive stops.

The speed threshold depends on route type and are the same as fast_travel_between_consecutive_stops.

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the problematic trip. tripId (?) `trip_id` of the problematic trip. routeId (?) `route_id` of the problematic trip. speedKph (?) Travel speed (km/h). distanceKm (?) Distance between stops (km). csvRowNumber1 (?) The row number of the first stop time. stopSequence1 (?) `stop_sequence` of the first stop. stopId1 (?) `stop_id` of the first stop. stopName1 (?) `stop_name` of the first stop. departureTime1 (?) `departure_time` of the first stop. csvRowNumber2 (?) The row number of the second stop time. stopSequence2 (?) `stop_sequence` of the second stop. stopId2 (?) `stop_id` of the second stop. stopName2 (?) `stop_name` of the second stop. arrivalTime2 (?) `arrival_time` of the second stop.
2992 "t726-b232D-slA" "90" 443.90112564076173 73.98352094012697 161532 0 "802" "BART Dublin Station" "18:30:00" 161533 540 "805" "Mall Park & Ride" "18:39:00"
2952 "t726-b232D-sl2" "90" 443.90112564076173 73.98352094012697 161520 0 "802" "BART Dublin Station" "18:30:00" 161521 540 "805" "Mall Park & Ride" "18:39:00"
2962 "t726-b232D-sl3" "90" 443.90112564076173 73.98352094012697 161523 0 "802" "BART Dublin Station" "18:30:00" 161524 540 "805" "Mall Park & Ride" "18:39:00"
2972 "t726-b232D-sl4" "90" 443.90112564076173 73.98352094012697 161526 0 "802" "BART Dublin Station" "18:30:00" 161527 540 "805" "Mall Park & Ride" "18:39:00"
2982 "t726-b232D-sl6" "90" 443.90112564076173 73.98352094012697 161529 0 "802" "BART Dublin Station" "18:30:00" 161530 540 "805" "Mall Park & Ride" "18:39:00"
feed_expiration_date7_days WARNING 1

feed_expiration_date7_days

Dataset should be valid for at least the next 7 days.

The dataset expiration date defined in feed_info.txt is in seven days or less. At any time, the published GTFS dataset should be valid for at least the next 7 days.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. currentDate (?) Current date (YYYYMMDD format). feedEndDate (?) Feed end date (YYYYMMDD format). suggestedExpirationDate (?) Suggested expiration date (YYYYMMDD format).
2 "20260611" "20240426" "20260618"
missing_feed_contact_email_and_url WARNING 1

missing_feed_contact_email_and_url

Best Practices for feed_info.txt suggest providing at least one of feed_contact_email and feed_contact_url.

You can see more about this notice here.

csvRowNumber (?) The row number of the validated record.
2
mixed_case_recommended_field WARNING 3

mixed_case_recommended_field

This field has customer-facing text and should use Mixed Case (should contain upper and lower case letters).

This field contains customer-facing text and should use Mixed Case (upper and lower case letters) to ensure good readability when displayed to riders. Avoid the use of abbreviations throughout the feed (e.g. St. for Street) unless a location is called by its abbreviated name (e.g. “JFK Airport”). Abbreviations may be problematic for accessibility by screen reader software and voice user interfaces.

Good examples:
Field Text Dataset
"Schwerin, Hauptbahnhof" Verkehrsverbund Berlin-Brandenburg
"Red Hook/Atlantic Basin" NYC Ferry
"Campo Grande Norte" Carris
Bad examples:
Field Text
"GALLERIA MALL"
"3427 GG 17"
"21 Clark Rd Est"

You can see more about this notice here.

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"stops.txt" "stop_name" "FULKERTH WB TULLY FS" 106
"stops.txt" "stop_name" "HELD BRIGGSMORE" 695
"stops.txt" "stop_name" "MONTE VISTA EB COUNTRYSIDE NS" 888
route_color_contrast WARNING 1

route_color_contrast

Insufficient route color contrast.

A route's color and route_text_color should be contrasting.

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeColor (?) The faulty record's HTML route color. routeTextColor (?) The faulty record's HTML route text color.
"48" 21 "#DDD71D" "#FFFFFF"
stop_too_far_from_shape_using_user_distance WARNING 3

stop_too_far_from_shape_using_user_distance

Stop time too far from shape.

A stop time entry that is a large distance away from the location of the shape in shapes.txt as defined by shape_dist_traveled values.

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the faulty record from `trips.txt`. shapeId (?) The id of the shape that is referred to. tripId (?) The id of the trip that is referred to. stopTimeCsvRowNumber (?) The row number of the faulty record from `stop_times.txt`. stopId (?) The id of the stop that is referred to. stopName (?) The name of the stop that is referred to. match (?) Latitude and longitude pair of the location. geoDistanceToShape (?) Distance from stop to shape.
2325 "1421_shp" "t212-b1195-sl2" 1142 "1023" "Walnut & Logan Way" [37.47847898456211,-121.131688182541] 225.43931131275255
758 "1485_shp" "t514-bBBA-slA" 89920 "782" "Paradise Rd & Mayette Ave" [37.6230980054404,-121.01869857902501] 145.70258354463215
758 "1485_shp" "t514-bBBA-slA" 89930 "45" "Kansas Ave & Carpenter Rd" [37.6459105963888,-121.03029265777101] 121.87981154345454
trip_coverage_not_active_for_next7_days WARNING 1

trip_coverage_not_active_for_next7_days

Trips data should be valid for at least the next seven days.

This notice is triggered if the date range where a significant number of trips are running ends in less than 7 days.

You can see more about this notice here.

currentDate (?) Current date (YYYYMMDD format). serviceWindowStartDate (?) The start date of the majority service window. serviceWindowEndDate (?) The end date of the majority service window.
"20260611" "20230306" "20240301"