cabq — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-06-11T13:55:11Z,
for the dataset file:///shared/cabq_4b5c91cb.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:
ABQ RIDE
Publisher URL:
https://abqride.com
Feed Email:
N/A
Feed Language:
English
Feed Start Date:
2026-06-05
Feed End Date:
2026-09-04

Files included


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

Counts


  • Agencies: 1
  • Blocks: 168
  • Routes: 22
  • Shapes: 58
  • Stops: 1758
  • Trips: 2338

Specification Compliance report

1917 notices reported (11 errors, 1906 warnings, 0 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates ERROR 11

equal_shape_distance_diff_coordinates

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 the 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 different coordinates indicate an error.

You can see more about this notice here.

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.
"17960" 2037 0.167 3 2036 0.167 2 165.12964199802448
"18013" 7314 0.145 3 7313 0.145 2 146.43814812368595
"17928" 4 0.1137 3 3 0.1137 2 112.93333479805335
"18026" 10386 0.0826 3 10385 0.0826 2 81.51146288733692
"18028" 10887 1.1341 3 10886 1.1341 2 1142.0998980710149
"17939" 1337 0.0206 3 1336 0.0206 2 20.754839494111977
"18036" 13146 23.0516 448 13145 23.0516 447 87.2150401864344
"18037" 13783 23.0516 448 13782 23.0516 447 87.2150401864344
"17940" 1592 0.0347 3 1591 0.0347 2 34.453952670009166
"17942" 1891 0.0206 3 1890 0.0206 2 20.754839494111977
"17997" 4989 0.047 3 4988 0.047 2 46.494603323003155
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 1805

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 1805 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.
"18014" 7660 0.0625 6 7659 0.0625 5 0.7836602037537619
"18014" 7665 0.176 11 7664 0.176 10 0.24026545817893363
"18014" 7668 0.2 14 7667 0.2 13 0.14364693064210035
"18014" 7672 0.7062 18 7671 0.7062 17 0.2402673712840438
"18014" 7678 1.4454 24 7677 1.4454 23 0.14365479106776735
"18014" 7682 1.8746 28 7681 1.8746 27 0.14365749983673626
"18014" 7688 2.5902 34 7687 2.5902 33 0.14366202243535942
"18014" 7696 2.9701 42 7695 2.9701 41 0.24027468865208534
"18014" 7704 3.3605 50 7703 3.3605 49 0.24027465697526906
"18014" 7710 3.7271 56 7709 3.7271 55 0.28732485079507136
"18014" 7712 3.7473 58 7711 3.7473 57 0.1436624423461992
"18014" 7716 4.017 62 7715 4.017 61 0.14366232274830668
"18014" 7720 4.2401 66 7719 4.2401 65 0.24027466752383903
"18014" 7724 4.6271 70 7723 4.6271 69 0.24027463922752346
"18014" 7726 4.7341 72 7725 4.7341 71 0.2873245545125867
"18014" 7729 5.2601 75 7728 5.2601 74 0.24027461616131046
"18014" 7731 5.3341 77 7730 5.3341 76 0.24027461809924094
"18014" 7734 5.5602 80 7733 5.5602 79 0.24027462926084744
"18014" 7737 5.8262 83 7736 5.8262 82 0.1436622699021539
"18014" 7740 5.9942 86 7739 5.9942 85 0.14366224571373892
"18014" 7745 6.4006 91 7744 6.4006 90 0.2132186286135211
"18014" 7751 7.207 97 7750 7.207 96 0.1436620579057915
"18014" 7753 7.435 99 7752 7.435 98 0.24027451330273633
"18014" 7761 7.8851 107 7760 7.8851 106 0.24027452597975266
"18014" 7765 8.1422 111 7764 8.1422 110 0.24027453779607533
"18014" 7773 8.6576 119 7772 8.6576 118 0.24027454582484598
"18014" 7776 8.8576 122 7775 8.8576 121 0.24027455701759365
"18014" 7782 9.1946 128 7781 9.1946 127 0.14366301270448822
"18014" 7787 9.4676 133 7786 9.4676 132 0.14366473637354887
"18014" 7800 10.3924 146 7799 10.3924 145 0.14366520347098585
"18014" 7802 10.4216 148 7801 10.4216 147 0.1436652691929283
"18014" 7806 10.5485 152 7805 10.5485 151 0.14366473637354887
"18014" 7811 10.8216 157 7810 10.8216 156 0.14366301270448822
"18014" 7825 11.7477 171 7824 11.7477 170 0.24027456570103517
"18014" 7828 11.8997 174 7827 11.8997 173 0.24027456781386783
"18014" 7831 11.9997 177 7830 11.9997 176 0.2402745652784686
"18014" 7833 12.0458 179 7832 12.0458 178 0.24027456884945797
"18014" 7843 12.5399 189 7842 12.5399 188 0.11119510090982554
"18014" 7850 12.945 196 7849 12.945 195 0.2402745295768444
"18014" 7853 13.026 199 7852 13.026 198 0.22239020111232688
"18014" 7855 13.054 201 7854 13.054 200 0.2402745306279906
"18014" 7862 13.4101 208 7861 13.4101 207 0.22239020252697528
"18014" 7870 13.9521 216 7869 13.9521 215 0.14366208392202176
"18014" 7875 14.3462 221 7874 14.3462 220 0.14366206494720934
"18014" 7881 14.8752 227 7880 14.8752 226 0.11119510161714974
"18014" 7885 15.3032 231 7884 15.3032 230 0.2402745251346184
"18014" 7887 15.6203 233 7886 15.6203 232 0.14366210509828317
"18014" 7890 15.7483 236 7889 15.7483 235 0.11119510090982554
"18014" 7894 16.1673 240 7893 16.1673 239 0.14366211795289802
"18014" 7899 16.3336 245 7898 16.3336 244 0.2402745079842664
equal_shape_distance_same_coordinates WARNING 1

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.

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`.
"18020" 8821 1.457 23 8820 1.457 22
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
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 2

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.
"agency.txt" "agency_name" "ABQ RIDE" 2
"stops.txt" "stop_name" "98th @ 86th" 1319
stop_too_far_from_shape_using_user_distance WARNING 35

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.
101 "17939" "628384" 5860 "6626" "San Diego @ San Mateo" [35.19299598029885,-106.5901347646591] 147.98331732766806
975 "18036" "631566" 44282 "2751" "Americas Pkwy @ U.T.C." [35.10217609138612,-106.57165551627858] 100.87861997091372
975 "18036" "631566" 44283 "704230842" "Americas Parkway @ Louisiana" [35.09975626996503,-106.56912701920511] 102.07527013595033
975 "18036" "631566" 44284 "2757" "Louisiana @ Constitution" [35.09331731553443,-106.56874046030632] 101.95774636639531
975 "18036" "631566" 44285 "2759" "Louisiana @ Summer" [35.091394151515196,-106.56874289491951] 100.55978932783368
975 "18036" "631566" 44286 "2761" "Louisiana @ Mountain" [35.08963717821787,-106.56874667924428] 101.84845011176631
975 "18036" "631566" 44287 "2763" "Louisiana @ Lomas" [35.08666029797298,-106.56862800066487] 101.08961539975829
975 "18036" "631566" 44288 "2765" "Louisiana @ Lomas" [35.08533570000001,-106.56862439999686] 101.76595018775451
975 "18036" "631566" 44291 "2771" "Louisiana @ Copper" [35.07863325882357,-106.56859787349869] 100.3177065063125
975 "18036" "631566" 44292 "2773" "Louisiana @ Domingo" [35.07685515354339,-106.56858987986007] 100.10779316748844
975 "18036" "631566" 44293 "2777" "Louisiana @ Cochiti (Central)" [35.074173762162175,-106.56855242701594] 100.60103635868177
975 "18036" "631566" 44294 "2781" "Louisiana @ Zuni" [35.070997337696404,-106.56865464400468] 101.14814704101387
975 "18036" "631566" 44295 "2783" "Louisiana @ Trumbull" [35.06791931144304,-106.56870482296925] 101.2563027251557
975 "18036" "631566" 44296 "2785" "Louisiana @ Kathryn" [35.064191584000156,-106.56870586606176] 100.79728058257277
975 "18036" "631566" 44297 "2787" "Louisiana @ Anderson" [35.06224509940841,-106.568710549158] 100.71587729266528
975 "18036" "631566" 44298 "2789" "Louisiana @ Eastern" [35.059878257142906,-106.56877405712368] 100.82467820254617
975 "18036" "631566" 44299 "2885" "G Street @ Texas (D.O.E. Bldg.)" [35.05396244617042,-106.55671032307762] 101.68621485063335
975 "18036" "631566" 44300 "2887" "G Street @ 1st" [35.05393500001063,-106.5529762857143] 102.9389601629367
978 "18037" "631569" 44504 "2751" "Americas Pkwy @ U.T.C." [35.10217609138612,-106.57165551627858] 100.87861997091372
978 "18037" "631569" 44505 "704230842" "Americas Parkway @ Louisiana" [35.09975626996503,-106.56912701920511] 102.07527013595033
978 "18037" "631569" 44506 "2757" "Louisiana @ Constitution" [35.09331731553443,-106.56874046030632] 101.95774636639531
978 "18037" "631569" 44507 "2759" "Louisiana @ Summer" [35.091394151515196,-106.56874289491951] 100.55978932783368
978 "18037" "631569" 44508 "2761" "Louisiana @ Mountain" [35.08963717821787,-106.56874667924428] 101.84845011176631
978 "18037" "631569" 44509 "2763" "Louisiana @ Lomas" [35.08666029797298,-106.56862800066487] 101.08961539975829
978 "18037" "631569" 44510 "2765" "Louisiana @ Lomas" [35.08533570000001,-106.56862439999686] 101.76595018775451
978 "18037" "631569" 44513 "2771" "Louisiana @ Copper" [35.07863325882357,-106.56859787349869] 100.3177065063125
978 "18037" "631569" 44514 "2773" "Louisiana @ Domingo" [35.07685515354339,-106.56858987986007] 100.10779316748844
978 "18037" "631569" 44515 "2777" "Louisiana @ Cochiti (Central)" [35.074173762162175,-106.56855242701594] 100.60103635868177
978 "18037" "631569" 44516 "2781" "Louisiana @ Zuni" [35.070997337696404,-106.56865464400468] 101.14814704101387
978 "18037" "631569" 44517 "2783" "Louisiana @ Trumbull" [35.06791931144304,-106.56870482296925] 101.2563027251557
978 "18037" "631569" 44518 "2785" "Louisiana @ Kathryn" [35.064191584000156,-106.56870586606176] 100.79728058257277
978 "18037" "631569" 44519 "2787" "Louisiana @ Anderson" [35.06224509940841,-106.568710549158] 100.71587729266528
978 "18037" "631569" 44520 "2789" "Louisiana @ Eastern" [35.059878257142906,-106.56877405712368] 100.82467820254617
978 "18037" "631569" 44521 "2915" "Gibson @ Louisiana" [35.05821453396632,-106.57047326931725] 103.07180994798587
978 "18037" "631569" 44522 "6388" "Gibson @ Dakota" [35.058221071885306,-106.57489418857328] 103.13620028301062
trip_distance_exceeds_shape_distance_below_threshold WARNING 60

trip_distance_exceeds_shape_distance_below_threshold

The distance between the last shape point and last stop point is greater than 0 but less than the 11.1m threshold.

You can see more about this notice here.

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

tripId (?) The faulty record's trip id. shapeId (?) The faulty record's shape id. maxTripDistanceTraveled (?) The faulty record's trip max distance traveled. maxShapeDistanceTraveled (?) The faulty record's shape max distance traveled. geoDistanceToShape (?) The distance in meters between the shape and the stop.
"628384" "17939" 19.8934 19.8359 5.799971355452348
"628387" "17939" 19.8934 19.8359 5.799971355452348
"628388" "17939" 19.8934 19.8359 5.799971355452348
"628385" "17939" 19.8934 19.8359 5.799971355452348
"628389" "17939" 19.8934 19.8359 5.799971355452348
"628390" "17939" 19.8934 19.8359 5.799971355452348
"628386" "17939" 19.8934 19.8359 5.799971355452348
"631566" "18036" 31.4129 31.3115 5.0113676101581826
"631567" "18036" 31.4129 31.3115 5.0113676101581826
"631568" "18036" 31.4129 31.3115 5.0113676101581826
"631569" "18037" 30.2645 30.1631 6.008336349558933
"631570" "18037" 30.2645 30.1631 6.008336349558933
"631571" "18037" 30.2645 30.1631 6.008336349558933
"631572" "18037" 30.2645 30.1631 6.008336349558933
"631573" "18037" 30.2645 30.1631 6.008336349558933
"631574" "18037" 30.2645 30.1631 6.008336349558933
"631575" "18037" 30.2645 30.1631 6.008336349558933
"631576" "18037" 30.2645 30.1631 6.008336349558933
"631577" "18037" 30.2645 30.1631 6.008336349558933
"631578" "18037" 30.2645 30.1631 6.008336349558933
"631579" "18037" 30.2645 30.1631 6.008336349558933
"631580" "18036" 31.4129 31.3115 5.0113676101581826
"631581" "18036" 31.4129 31.3115 5.0113676101581826
"631582" "18036" 31.4129 31.3115 5.0113676101581826
"631583" "18037" 30.2645 30.1631 6.008336349558933
"631584" "18037" 30.2645 30.1631 6.008336349558933
"631585" "18037" 30.2645 30.1631 6.008336349558933
"631565" "18037" 30.2645 30.1631 6.008336349558933
"631564" "18037" 30.2645 30.1631 6.008336349558933
"631563" "18037" 30.2645 30.1631 6.008336349558933
"631521" "18036" 31.4129 31.3115 5.0113676101581826
"631520" "18036" 31.4129 31.3115 5.0113676101581826
"631519" "18037" 30.2645 30.1631 6.008336349558933
"631518" "18037" 30.2645 30.1631 6.008336349558933
"631517" "18037" 30.2645 30.1631 6.008336349558933
"631516" "18037" 30.2645 30.1631 6.008336349558933
"631515" "18037" 30.2645 30.1631 6.008336349558933
"631514" "18037" 30.2645 30.1631 6.008336349558933
"631513" "18036" 31.4129 31.3115 5.0113676101581826
"631512" "18036" 31.4129 31.3115 5.0113676101581826
"631511" "18036" 31.4129 31.3115 5.0113676101581826
"631510" "18037" 30.2645 30.1631 6.008336349558933
"631509" "18037" 30.2645 30.1631 6.008336349558933
"631508" "18037" 30.2645 30.1631 6.008336349558933
"631507" "18037" 30.2645 30.1631 6.008336349558933
"631506" "18037" 30.2645 30.1631 6.008336349558933
"631505" "18037" 30.2645 30.1631 6.008336349558933
"631504" "18037" 30.2645 30.1631 6.008336349558933
"631550" "18037" 30.2645 30.1631 6.008336349558933
"631549" "18037" 30.2645 30.1631 6.008336349558933