dh-lakeland — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-04-24T10:57:53Z,
for the dataset file:///shared/dh-lakeland_4d0fba3e.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Citrus-Lakeland-FL
Feed Email:
N/A
Feed Language:
English
Feed Start Date:
2022-02-14
Feed End Date:
2022-12-31

Files included


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

Counts


  • Agencies: 1
  • Blocks: 61
  • Routes: 26
  • Shapes: 95
  • Stops: 1191
  • Trips: 488

Specification Compliance report

2412 notices reported (0 errors, 2411 warnings, 1 infos)

Notice Code Severity Total
equal_shape_distance_same_coordinates WARNING 2321

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 2321 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`.
"1422_shp" 33884 5732.279721 31457 33881 5732.279721 31456
"1422_shp" 33890 7958.220864 31460 33888 7958.220864 31459
"1422_shp" 34000 12435.331531 31514 33998 12435.331531 31513
"1422_shp" 34078 15531.115037 31548 34076 15531.115037 31547
"1422_shp" 34108 17841.369193 31562 34106 17841.369193 31561
"1422_shp" 34253 21664.706295 31626 34251 21664.706295 31625
"1422_shp" 34260 23229.56639 31629 34258 23229.56639 31628
"1422_shp" 34286 24449.544133 31641 34284 24449.544133 31640
"1422_shp" 34302 25469.497094 31648 34300 25469.497094 31647
"1422_shp" 34354 26939.568039 31671 34352 26939.568039 31670
"1422_shp" 34361 27526.758697 31674 34359 27526.758697 31673
"1422_shp" 34368 28491.477371 31677 34365 28491.477371 31676
"1422_shp" 34445 30591.515807 31711 34443 30591.515807 31710
"1422_shp" 34476 31525.118379 31725 34474 31525.118379 31724
"1422_shp" 34536 32686.993609 31752 34534 32686.993609 31751
"1422_shp" 34543 34058.211699 31755 34541 34058.211699 31754
"1422_shp" 34553 34642.207524 31759 34551 34642.207524 31758
"1422_shp" 34560 35181.024607 31762 34558 35181.024607 31761
"1422_shp" 34571 35887.639619 31767 34569 35887.639619 31766
"1422_shp" 34579 36645.853753 31771 34577 36645.853753 31770
"1422_shp" 34589 37107.240547 31775 34587 37107.240547 31774
"1422_shp" 34596 37420.193404 31778 34594 37420.193404 31777
"1422_shp" 34632 38647.632856 31794 34630 38647.632856 31793
"1422_shp" 34644 39309.374531 31799 34642 39309.374531 31798
"1422_shp" 34660 40451.074254 31806 34657 40451.074254 31805
"1422_shp" 34677 41029.196816 31811 34674 41029.196816 31810
"1422_shp" 34722 42651.003605 31824 34719 42651.003605 31823
"1422_shp" 34832 47778.161123 31856 34829 47778.161123 31855
"1422_shp" 34942 51308.461569 31906 34940 51308.461569 31905
"1422_shp" 35062 55051.621151 31959 35060 55051.621151 31958
"1422_shp" 35122 59604.050939 31985 35120 59604.050939 31984
"1422_shp" 35135 60647.585331 31991 35133 60647.585331 31990
"1422_shp" 35172 65642.968763 32008 35170 65642.968763 32007
"1422_shp" 35199 68317.692911 32019 35196 68317.692911 32018
"1422_shp" 35214 70050.270629 32026 35212 70050.270629 32025
"1422_shp" 35276 72056.904715 32053 35274 72056.904715 32052
"1422_shp" 35298 73656.732015 32063 35296 73656.732015 32062
"1422_shp" 35322 75311.195039 32074 35320 75311.195039 32073
"1422_shp" 35369 77069.94944 32095 35367 77069.94944 32094
"1422_shp" 35472 81952.639324 32138 35470 81952.639324 32137
"1422_shp" 35529 83157.574097 32163 35527 83157.574097 32162
"1422_shp" 35595 84404.285706 32193 35593 84404.285706 32192
"1422_shp" 35672 86936.162439 32222 35669 86936.162439 32221
"1422_shp" 35739 88545.852354 32241 35736 88545.852354 32240
"1422_shp" 35843 89739.604426 32270 35839 89739.604426 32269
"1422_shp" 35853 90997.608292 32273 35849 90997.608292 32272
"1422_shp" 35879 91921.137396 32280 35875 91921.137396 32279
"1422_shp" 35917 92788.11294 32291 35912 92788.11294 32290
"1422_shp" 35938 93511.084152 32297 35935 93511.084152 32296
"1422_shp" 35974 94315.549414 32310 35972 94315.549414 32309
expired_calendar WARNING 3

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 "11"
3 "12"
4 "13"
fast_travel_between_consecutive_stops WARNING 7

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.
166 "tDA-sl11-p57B-r40" "10" 189.04694043974865 0.4726173510993716 19479 591 "956" "Lkld Hills Blvd & Channing Rd" "14:54:51" 19480 600 "989" "Watson Clinic at Morrell Dr" "14:55:00"
156 "tD0-sl11-p57B-r40" "10" 189.04694043974865 0.4726173510993716 18899 591 "956" "Lkld Hills Blvd & Channing Rd" "09:54:51" 18900 600 "989" "Watson Clinic at Morrell Dr" "09:55:00"
154 "tCE-sl11-p57B-r40" "10" 189.04694043974865 0.4726173510993716 18729 591 "956" "Lkld Hills Blvd & Channing Rd" "08:54:51" 18730 600 "989" "Watson Clinic at Morrell Dr" "08:55:00"
160 "tD4-sl11-p57B-r40" "10" 189.04694043974865 0.4726173510993716 19131 591 "956" "Lkld Hills Blvd & Channing Rd" "11:54:51" 19132 600 "989" "Watson Clinic at Morrell Dr" "11:55:00"
162 "tD6-sl11-p57B-r40" "10" 189.04694043974865 0.4726173510993716 19247 591 "956" "Lkld Hills Blvd & Channing Rd" "12:54:51" 19248 600 "989" "Watson Clinic at Morrell Dr" "12:55:00"
164 "tD8-sl11-p57B-r40" "10" 189.04694043974865 0.4726173510993716 19363 591 "956" "Lkld Hills Blvd & Channing Rd" "13:54:51" 19364 600 "989" "Watson Clinic at Morrell Dr" "13:55:00"
158 "tD2-sl11-p57B-r40" "10" 189.04694043974865 0.4726173510993716 19015 591 "956" "Lkld Hills Blvd & Channing Rd" "10:54:51" 19016 600 "989" "Watson Clinic at Morrell Dr" "10:55: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 "20260424" "20221231" "20260501"
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 30

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" "22000 US 27" 38
"stops.txt" "stop_name" "EAGLE RIDGE MALL" 41
"stops.txt" "stop_name" "WINTER HAVEN TRANSIT TERM" 185
"stops.txt" "stop_name" "1088 US 92 E" 368
"stops.txt" "stop_name" "1052 US 92 E" 369
"stops.txt" "stop_name" "4747 SR 33 N" 550
"stops.txt" "stop_name" "2125 US 98 N" 663
"stops.txt" "stop_name" "2449 US 98 N" 670
"stops.txt" "stop_name" "2440 US 98 N" 671
"stops.txt" "stop_name" "2550 US 98 N" 673
"stops.txt" "stop_name" "2625 US 98 N" 675
"stops.txt" "stop_name" "2750 US 98 N" 688
"stops.txt" "stop_name" "2815 US 98 N" 690
"stops.txt" "stop_name" "6785 US 98 N" 763
"stops.txt" "stop_name" "1910 SR 37 S" 764
"stops.txt" "stop_name" "6108 US 98 N" 766
"stops.txt" "stop_name" "5135 US 98 N" 772
"stops.txt" "stop_name" "4705 US 98 N" 781
"stops.txt" "stop_name" "1500 SR 37" 795
"stops.txt" "stop_name" "6220 US 98 N" 797
"stops.txt" "stop_name" "CC GARAGE" 809
"stops.txt" "stop_name" "EAGLE RIDGE MALL" 924
"stops.txt" "stop_name" "WINTER HAVEN TERMINAL" 925
"stops.txt" "stop_name" "LAKELAND TERMINAL" 926
"stops.txt" "stop_name" "AVE T NE & 2ND ST NE" 981
"stops.txt" "stop_name" "3813 US 98 N" 1022
"stops.txt" "stop_name" "7950 US 98 N" 1044
"stops.txt" "stop_name" "8110 US 98 N" 1045
"stops.txt" "stop_name" "1002 US 92 E" 1123
"stops.txt" "stop_name" "2367 US 92 E" 1124
route_long_name_contains_short_name WARNING 10

route_long_name_contains_short_name

Long name should not contain short name for a single route.

In routes.txt, route_long_name should not contain the value for route_short_name, because when both are provided, they are often combined by transit applications. Note that only one of the two fields is required. If there is no short name used for a route, use route_long_name only.

Good examples:

route_short_name/route_long_name Dataset
"N"/"Judah" Muni San Fransisco
"6"/"ML King Jr Blvd" Trimet Portland Streetcar
"55"/"Boulevard Saint Laurent" STM Montreal
"1"/"Rangiora/Cashmere" Metro Christchurch

Bad examples:

route_short_name/route_long_name
"604"/"604"
"14"/"Route 14"
"2"/"Route 2: Bellows Falls In-Town"

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeShortName (?) The faulty record's `route_short_name`. routeLongName (?) The faulty record's `route_long_name`.
"3" 2 "Gold" "Gold Line"
"5" 3 "Purple" "Purple Line"
"8" 4 "Silver" "Silver Line 22xl"
"10" 6 "Pink" "Pink Line"
"11" 7 "Lime" "Lime Flex"
"34" 15 "Red 1" "Red 1"
"35" 16 "Red 2" "Red 2"
"38" 19 "Green 1" "Green 1"
"44" 25 "Blue" "Blue Line"
"45" 26 "Peach" "Peach Line"
same_stop_and_route_url WARNING 3

same_stop_and_route_url

Same stops.stop_url and routes.route_url.

A stop should not have the same stop.stop_url as a record from routes.txt.

You can see more about this notice here.

stopCsvRowNumber (?) The row number of the faulty record from `stops.txt`. stopId (?) The faulty record's id. stopUrl (?) The duplicate URL value. routeId (?) The faulty record's id from `routes.txt. routeCsvRowNumber (?) The row number of the faulty record from `routes.txt`.
4 "23" "https://www.ccbusinfo.com/InfoPoint/23" "9" 5
6 "35" "https://www.ccbusinfo.com/InfoPoint/35" "21" 9
17 "60" "https://www.ccbusinfo.com/InfoPoint/60" "32" 14
stop_without_stop_time WARNING 5

stop_without_stop_time

A stop in stops.txt is not referenced by any stop_times.stop_id.

Such stops are not used by any trip and normally do not provide user value. This notice may indicate a typo in stop_times.txt.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty stop. stopName (?) The name of the faulty stop.
185 "342" "WINTER HAVEN TRANSIT TERM"
809 "1265" "CC GARAGE"
924 "1422" "EAGLE RIDGE MALL"
925 "1424" "WINTER HAVEN TERMINAL"
926 "1426" "LAKELAND TERMINAL"
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.
"20260424" "20220214" "20230210"
unused_shape WARNING 29

unused_shape

Shape is not used in GTFS file trips.txt.

All records defined by GTFS shapes.txt should be used in trips.txt.

You can see more about this notice here.

shapeId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"1465_shp" 7405
"1483_shp" 9169
"498_shp" 13378
"506_shp" 13379
"202_shp" 13393
"502_shp" 13403
"501_shp" 13405
"508_shp" 13590
"514_shp" 13621
"526_shp" 13641
"504_shp" 13651
"494_shp" 13654
"517_shp" 13661
"513_shp" 13678
"540_shp" 13683
"532_shp" 13809
"969_shp" 13842
"542_shp" 13917
"740_shp" 13924
"520_shp" 13943
"527_shp" 13969
"972_shp" 13998
"496_shp" 29204
"873_shp" 29254
"1447_shp" 38100
"1449_shp" 38145
"1442_shp" 49205
"1445_shp" 49363
"1466_shp" 54691
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.
"calendar_dates_sunrise.txt"