gotriangle2 — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-04-23T18:58:17Z,
for the dataset file:///shared/gotriangle2_2fc1c3b8.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Mecatran
Publisher URL:
https://www.mecatran.com/
Feed Email:
info@mecatran.com
Feed Language:
English
Feed Start Date:
2024-03-04
Feed End Date:
2025-02-28

Files included


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

Counts


  • Agencies: 1
  • Blocks: 74
  • Routes: 21
  • Shapes: 58
  • Stops: 981
  • Trips: 1856

Specification Compliance report

1414 notices reported (0 errors, 1397 warnings, 17 infos)

Notice Code Severity Total
equal_shape_distance_same_coordinates WARNING 1382

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 1382 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`.
"18:2" 1369 476.120596 16 1368 476.120596 15
"18:2" 1376 985.70965 23 1375 985.70965 22
"18:2" 1380 1291.04601 27 1379 1291.04601 26
"18:2" 1383 1499.286509 30 1382 1499.286509 29
"18:2" 1388 3005.509522 35 1387 3005.509522 34
"18:2" 1391 4242.531665 38 1390 4242.531665 37
"18:2" 1397 5913.557788 44 1396 5913.557788 43
"18:1" 1429 476.120596 16 1428 476.120596 15
"18:1" 1436 985.70965 23 1435 985.70965 22
"18:1" 1440 1291.04601 27 1439 1291.04601 26
"18:1" 1443 1499.286509 30 1442 1499.286509 29
"18:1" 1448 2732.693002 35 1447 2732.693002 34
"18:1" 1455 4279.428385 42 1454 4279.428385 41
"18:1" 1461 5950.454508 48 1460 5950.454508 47
"14:2" 10800 1337.129691 18 10799 1337.129691 17
"14:2" 10807 1614.623506 25 10806 1614.623506 24
"14:2" 10814 1970.805629 32 10813 1970.805629 31
"14:2" 10820 2202.192216 38 10819 2202.192216 37
"14:2" 10823 2297.58414 41 10822 2297.58414 40
"14:2" 10833 2579.294771 51 10832 2579.294771 50
"14:2" 10848 3043.526611 66 10847 3043.526611 65
"14:2" 10858 3304.744866 76 10857 3304.744866 75
"14:2" 10868 3681.595749 86 10867 3681.595749 85
"14:2" 10882 4076.888963 100 10881 4076.888963 99
"14:2" 10890 4362.780061 108 10889 4362.780061 107
"14:2" 10898 4790.84791 116 10897 4790.84791 115
"14:2" 10904 5136.504094 122 10903 5136.504094 121
"14:2" 10917 5518.51044 135 10916 5518.51044 134
"14:2" 10924 5913.174283 142 10923 5913.174283 141
"14:2" 10928 6225.862428 146 10927 6225.862428 145
"14:2" 10932 6341.61255 150 10931 6341.61255 149
"14:2" 10944 6628.345159 162 10943 6628.345159 161
"14:2" 10954 6885.130933 172 10953 6885.130933 171
"14:2" 10958 7133.52858 176 10957 7133.52858 175
"14:2" 10961 7258.355755 179 10960 7258.355755 178
"14:2" 10967 7596.857826 185 10966 7596.857826 184
"14:1" 10979 242.139518 4 10978 242.139518 3
"14:1" 10983 419.516159 8 10982 419.516159 7
"14:1" 10988 552.504216 13 10987 552.504216 12
"14:1" 11008 1033.508191 33 11007 1033.508191 32
"14:1" 11013 1173.621024 38 11012 1173.621024 37
"14:1" 11024 1846.073423 49 11023 1846.073423 48
"14:1" 11029 2124.621115 54 11028 2124.621115 53
"14:1" 11035 2294.795514 60 11034 2294.795514 59
"14:1" 11038 2417.037229 63 11037 2417.037229 62
"14:1" 11041 2579.521139 66 11040 2579.521139 65
"14:1" 11046 2762.073457 71 11045 2762.073457 70
"14:1" 11049 2892.952056 74 11048 2892.952056 73
"14:1" 11054 3063.973733 79 11053 3063.973733 78
"14:1" 11059 3287.324939 84 11058 3287.324939 83
expired_calendar WARNING 5

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 "Sat-Sun"
3 "Main"
4 "Mon - Fri"
5 "Main_ThFrSa"
6 "Main_Su"
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 "20260423" "20250228" "20260430"
leading_or_trailing_whitespaces WARNING 5

leading_or_trailing_whitespaces

The value in CSV file has leading or trailing whitespaces.

This notice is emitted for values protected with double quotes since whitespaces for non-protected values are trimmed automatically by CSV parser.

The validator strips whitespaces from protected values. We do not see any use case when such a whitespace may be needed. On the other hand, some real-world feeds use trailing whitespaces for some values and omit them for the others. This is causing the largest problem when a primary key and a foreign key differ just by a whitespace: it is clear that they are intended to be the same, that is why we always strip whitespaces.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) Faulty record's field name. fieldValue (?) Faulty value.
"stops.txt" 244 "stop_name" "Elmsley Square Entrance "
"stops.txt" 251 "stop_name" "Elmsley/Walmart (A) "
"stops.txt" 281 "stop_name" "Fisher/Elm "
"stops.txt" 470 "stop_name" "International Civil Rights Museum "
"stops.txt" 621 "stop_name" "Pear/Ivy Heights "
missing_recommended_field WARNING 2

missing_recommended_field

A recommended field is missing.

The given field has no value in some input row, even though values are recommended.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) The name of the missing field.
"fare_attributes.txt" 2 "agency_id"
"fare_attributes.txt" 3 "agency_id"
mixed_case_recommended_field WARNING 1

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" "2008 MLK" 18
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.
"20260423" "20240304" "20250228"
unknown_column INFO 16

unknown_column

A column name is unknown.

You can see more about this notice here.

filename (?) The name of the faulty file. fieldName (?) The name of the unknown column. index (?) The index of the faulty column.
"agency.txt" "agency_primary" 9
"routes.txt" "tts_route_short_name" 4
"routes.txt" "tts_route_long_name" 6
"routes.txt" "direction0_name" 13
"routes.txt" "direction1_name" 14
"trips.txt" "ext_trip_short_name" 6
"trips.txt" "ext_block_id" 9
"trips.txt" "ext_grid_id" 13
"trips.txt" "exceptional" 14
"trips.txt" "ext_atp_index" 15
"stops.txt" "city_name" 14
"stops.txt" "area_name" 15
"stops.txt" "direction_id" 16
"stops.txt" "ext_id" 17
"stops.txt" "ext_gmv_id" 18
"calendar.txt" "service_name" 11
unknown_file INFO 1

unknown_file

A file is unknown.

You can see more about this notice here.

filename (?) The name of the unknown file.
"route_directions.txt"