czest-latest — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-04-03T20:31:08Z,
for the dataset file:///shared/czest-latest_7430f735.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Urząd Miasta Częstochowy
Feed Email:
N/A
Feed Language:
Polish
Feed Start Date:
2024-01-01
Feed End Date:
2024-03-31

Files included


  1. [Content_Types].xml
  2. agency.txt
  3. calendar.txt
  4. calendar_dates.txt
  5. feed_info.txt
  6. routes.txt
  7. shapes.txt
  8. stop_times.txt
  9. stops.txt
  10. transfers.txt
  11. trips.txt

Counts


  • Agencies: 2
  • Blocks: 599
  • Routes: 367
  • Shapes: 365
  • Stops: 948
  • Trips: 11228

Specification Compliance report

12679 notices reported (768 errors, 11910 warnings, 1 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates ERROR 766

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.

Only the first 50 of 766 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.
"350" 95309 0.0 2 95308 0.0 1 33.652020981690164
"350" 95310 0.0 3 95309 0.0 2 15.114461583795558
"350" 95467 11.4777 160 95466 11.4777 159 54.625691571787705
"350" 95468 11.4777 161 95467 11.4777 160 29.643310197038872
"350" 95469 11.4777 162 95468 11.4777 161 29.148039604657367
"350" 95483 12.1013 176 95482 12.1013 175 7.577994813297972
"350" 95494 13.2668 187 95493 13.2668 186 52.121650016666955
"350" 95495 13.2668 188 95494 13.2668 187 15.36835568729609
"230" 70661 8.8335 150 70660 8.8335 149 10.321777739857769
"230" 70830 19.1148 319 70829 19.1148 318 40.82485315229044
"230" 70975 23.7567 464 70974 23.7567 463 8.513499611450428
"352" 95720 0.8044 89 95719 0.8044 88 38.41128932984355
"352" 95729 0.9959 98 95728 0.9959 97 40.82485315229044
"352" 95755 1.0757 124 95754 1.0757 123 6.724561350189509
"352" 95803 1.3004 172 95802 1.3004 171 99.84784852674207
"352" 95804 1.3004 173 95803 1.3004 172 21.965300666619292
"352" 95805 1.3004 174 95804 1.3004 173 34.797384768394465
"352" 95806 1.3004 175 95805 1.3004 174 47.22841122726475
"111" 40194 22.7647 630 40193 22.7647 629 40.82485315229044
"111" 40239 24.8175 675 40238 24.8175 674 7.551531721217035
"111" 40248 25.541 684 40247 25.541 683 15.088440921142533
"111" 40249 25.541 685 40248 25.541 684 171.04834250348597
"111" 40250 25.541 686 40249 25.541 685 19.302842073287064
"232" 71532 13.9047 185 71531 13.9047 184 66.37480461779391
"112" 40513 10.2901 130 40512 10.2901 129 29.601969884760315
"112" 40514 10.2901 131 40513 10.2901 130 72.23937571095817
"112" 40564 13.3826 181 40563 13.3826 180 47.22841122726475
"112" 40617 16.4035 234 40616 16.4035 233 16.949538703228036
"113" 40943 14.8405 283 40942 14.8405 282 29.601969884760315
"114" 41306 13.7328 228 41305 13.7328 227 47.22841122726475
"114" 41357 16.0439 279 41356 16.0439 278 16.949538703228036
"114" 41406 20.5426 328 41405 20.5426 327 33.652020981690164
"114" 41407 20.5426 329 41406 20.5426 328 15.114461583795558
"356" 96863 1.3808 89 96862 1.3808 88 38.41128932984355
"115" 41479 2.2955 26 41478 2.2955 25 311.92268413061254
"115" 41480 2.2955 27 41479 2.2955 26 7.533371780563566
"115" 41576 11.2473 123 41575 11.2473 122 40.82485315229044
"236" 71978 0.5621 89 71977 0.5621 88 38.41128932984355
"236" 71987 0.6916 98 71986 0.6916 97 40.82485315229044
"236" 72013 0.7484 124 72012 0.7484 123 6.724561350189509
"236" 72061 0.9133 172 72060 0.9133 171 99.84784852674207
"236" 72062 0.9133 173 72061 0.9133 172 21.965300666619292
"236" 72063 0.9133 174 72062 0.9133 173 34.797384768394465
"236" 72064 0.9133 175 72063 0.9133 174 47.22841122726475
"236" 72115 4.1602 226 72114 4.1602 225 16.949538703228036
"357" 97033 1.4825 166 97032 1.4825 165 7.901961878074648
"116" 41807 2.3303 217 41806 2.3303 216 38.21745957244649
"116" 41808 2.3303 218 41807 2.3303 217 24.036844487456463
"116" 41832 2.4378 242 41831 2.4378 241 26.008209441393085
"116" 41833 2.4378 243 41832 2.4378 242 19.485450880379936
foreign_key_violation ERROR 2

foreign_key_violation

Wrong foreign key.

A foreign key references the primary key of another file. A foreign key violation means that the foreign key referenced from a given row (the child file) cannot be found in the corresponding file (the parent file). The Foreign keys are defined in the specification under "Type" for each file.

You can see more about this notice here.

childFilename (?) The name of the file from which reference is made. childFieldName (?) The name of the field that makes reference. parentFilename (?) The name of the file that is referred to. parentFieldName (?) The name of the field that is referred to. fieldValue (?) The faulty record's value. csvRowNumber (?) The row of the faulty record.
"trips.txt" "shape_id" "shapes.txt" "shape_id" "358" 7211
"trips.txt" "shape_id" "shapes.txt" "shape_id" "364" 9738
duplicate_route_name WARNING 4

duplicate_route_name

Two distinct routes have either the same route_short_name, the same route_long_name, or the same combination of route_short_name and route_long_name.

All routes of the same route_type with the same agency_id should have unique combinations of route_short_name and route_long_name.

Note that there may be valid cases where routes have the same short and long name, e.g., if they serve different areas. However, different directions must be modeled as the same route.

Example of bad data:

route_id route_short_name route_long_name
route1 U1 Southern
route2 U1 Southern

You can see more about this notice here.

csvRowNumber1 (?) The row number of the first occurrence. routeId1 (?) The id of the the first occurrence. csvRowNumber2 (?) The row number of the other occurrence. routeId2 (?) The id of the the other occurrence. routeShortName (?) Common `routes.route_short_name`. routeLongName (?) Common `routes.route_long_name`. routeTypeValue (?) Common `routes.route_type`. agencyId (?) Common `routes.agency_id`.
145 "1508" 312 "1505" "65" "ZAWODZIE - ZAJEZDNIA MPK-65" 3 "1"
227 "1183" 322 "1198" "31" "MPK Zajezdnia Autobusowa Niepodległości - DWORZEC PKS-31" 3 "1"
289 "1441" 336 "1436" "23" "MPK Zajezdnia Autobusowa Niepodległości - DWORZEC PKS-23" 3 "1"
70 "1500" 362 "1506" "58" "DWORZEC GŁÓWNY PKP - OLSZTYN - RYNEK-58" 3 "1"
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 12

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.

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.
"352" 95682 0.4211 51 95681 0.4211 50 0.6798347663911095
"235" 71810 0.0138 9 71809 0.0138 8 0.09427512731980518
"236" 71940 0.2958 51 71939 0.2958 50 0.6798347663911095
"266" 78011 0.2958 51 78010 0.2958 50 0.6798347663911095
"198" 63341 0.4111 51 63340 0.4111 50 0.6798347663911095
"304" 85569 0.4097 51 85568 0.4097 50 0.6798347663911095
"304" 85785 2.9391 267 85784 2.9391 266 0.9627266537862571
"304" 85830 3.1999 312 85829 3.1999 311 0.3404856948823152
"304" 85841 3.2171 323 85840 3.2171 322 0.9455139623676933
"316" 89001 0.5991 81 89000 0.5991 80 0.3800010956567043
"327" 91283 0.8494 61 91282 0.8494 60 0.18877024328815892
"210" 66175 0.0265 9 66174 0.0265 8 0.09427512731980518
equal_shape_distance_same_coordinates WARNING 6

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`.
"357" 97082 2.4424 215 97081 2.4424 214
"17" 7225 8.2229 168 7224 8.2229 167
"36" 15315 6.7167 100 15314 6.7167 99
"40" 17027 8.2229 168 17026 8.2229 167
"80" 30041 6.7167 100 30040 6.7167 99
"190" 60970 6.7167 100 60969 6.7167 99
expired_calendar WARNING 11228

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.

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

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
2 "1"
3 "2"
4 "3"
5 "4"
6 "5"
7 "6"
8 "7"
9 "8"
10 "9"
11 "10"
12 "11"
13 "12"
14 "13"
15 "14"
16 "15"
17 "16"
18 "17"
19 "18"
20 "19"
21 "20"
22 "21"
23 "22"
24 "23"
25 "24"
26 "25"
27 "26"
28 "27"
29 "28"
30 "29"
31 "30"
32 "31"
33 "32"
34 "33"
35 "34"
36 "35"
37 "36"
38 "37"
39 "38"
40 "39"
41 "40"
42 "41"
43 "42"
44 "43"
45 "44"
46 "45"
47 "46"
48 "47"
49 "48"
50 "49"
51 "50"
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 "20260403" "20240331" "20260410"
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 1

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.
"feed_info.txt" 2 "feed_version"
mixed_case_recommended_field WARNING 656

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.

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

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" "DŹBÓW - KSSE SKORKI" 2
"stops.txt" "stop_name" "POWSTAŃCÓW WARSZAWY" 9
"stops.txt" "stop_name" "SZKOŁA STRAŻY POŻARNEJ" 16
"stops.txt" "stop_name" "ALEJA BOHATERÓW MONTE CASSINO" 19
"stops.txt" "stop_name" "STRADOM - DWORZEC PKP" 21
"stops.txt" "stop_name" "SKWER SOKOŁÓW" 23
"stops.txt" "stop_name" "PLAC PAMIĘCI NARODOWEJ" 25
"stops.txt" "stop_name" "DWORZEC PKS" 26
"stops.txt" "stop_name" "II ALEJA NAJŚWIĘTSZEJ MARYI PANNY" 27
"stops.txt" "stop_name" "PLAC DASZYŃSKIEGO" 28
"stops.txt" "stop_name" "RONDO TRZECH KRZYŻY" 30
"stops.txt" "stop_name" "DROGOWCÓW - RONDO" 31
"stops.txt" "stop_name" "CMENTARZ KOMUNALNY" 33
"stops.txt" "stop_name" "CMENTARZ ŚW. ROCHA" 39
"stops.txt" "stop_name" "KORDECKIEGO - PARK LISINIEC" 41
"stops.txt" "stop_name" "JASNA GÓRA" 43
"stops.txt" "stop_name" "ŚW. KAZIMIERZA" 44
"stops.txt" "stop_name" "ARCHIWUM PAŃSTWOWE" 46
"stops.txt" "stop_name" "FIELDORFA-NILA" 50
"stops.txt" "stop_name" "PROMENADA NIEMENA" 53
"stops.txt" "stop_name" "POLSKIEGO CZERWONEGO KRZYŻA" 54
"stops.txt" "stop_name" "HALA POLONIA" 55
"stops.txt" "stop_name" "ALEJA JANA PAWŁA II - UNIWERSYTET" 57
"stops.txt" "stop_name" "II ALEJA NAJŚWIĘTSZEJ MARYI PANNY" 58
"stops.txt" "stop_name" "DWORZEC GŁÓWNY PKP" 59
"stops.txt" "stop_name" "DWORZEC PKS" 60
"stops.txt" "stop_name" "RONDO MICKIEWICZA" 61
"stops.txt" "stop_name" "OSTATNI GROSZ" 62
"stops.txt" "stop_name" "POWSTAŃCÓW ŚLĄSKICH" 64
"stops.txt" "stop_name" "ORKANA - SZKOŁA" 69
"stops.txt" "stop_name" "JESIENNA - SZKOŁA" 73
"stops.txt" "stop_name" "BOHATERÓW KATYNIA" 74
"stops.txt" "stop_name" "STADION RAKÓW" 77
"stops.txt" "stop_name" "WYCZERPY DOLNE" 85
"stops.txt" "stop_name" "RONDO TRZECH KRZYŻY" 91
"stops.txt" "stop_name" "PLAC DASZYŃSKIEGO" 92
"stops.txt" "stop_name" "II ALEJA NAJŚWIĘTSZEJ MARYI PANNY" 93
"stops.txt" "stop_name" "DWORZEC GŁÓWNY PKP" 95
"stops.txt" "stop_name" "DWORZEC PKS" 96
"stops.txt" "stop_name" "RONDO MICKIEWICZA" 97
"stops.txt" "stop_name" "I URZĄD SKARBOWY" 98
"stops.txt" "stop_name" "ALEJA BOHATERÓW MONTE CASSINO" 99
"stops.txt" "stop_name" "SZKOŁA STRAŻY POŻARNEJ" 102
"stops.txt" "stop_name" "NOWE BRZEZINY I" 111
"stops.txt" "stop_name" "NOWE BRZEZINY II" 112
"stops.txt" "stop_name" "SOBUCZYNA - SZAFIROWA" 113
"stops.txt" "stop_name" "DROGOWCÓW - RONDO" 116
"stops.txt" "stop_name" "DWORZEC PKS" 117
"stops.txt" "stop_name" "HOENE-WROŃSKIEGO" 120
"stops.txt" "stop_name" "STRADOM - DWORZEC PKP" 121
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.
"20260403" "20240102" "20240330"
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.
"[Content_Types].xml"