This is a community-maintained version of Stadtwerke Ulm/Neu-Ulm Verkehr's official GTFS feed (Transitfeeds mirror).
This is not an official GTFS feed, use at own risk
-
Fix newlines with `dos2unix *.txt
-
Add
feed_start_date
andfeed_end_date
to feed_info.txt -
Remove superflous
feed_id
column in trips.txt (eg. with xsv:xsv select '!feed_id' trips.txt | sponge trips.txt
) -
Clean up the feed by merging stops and removing deadheads. See https://stefan.bloggt.es/2019/03/cleaning-up-the-swu-gtfs-feed-with-pygtfs-and-sqlite3/
- For exporting the following commands are used:
sqlite3 -header -csv gtfs.db 'SELECT * FROM stops' > stops.txt sqlite3 -header -csv gtfs.db 'SELECT * FROM trips' > trips.txt for I in stops.txt trips.txt; do xsv select '!feed_id' $I | sponge $I; done sqlite3 -header -csv gtfs.db 'SELECT trip_id, printf("%02d",(strftime("%s", "arrival_time") / (60*60))) || ":" || printf("%02d",(strftime("%s", "arrival_time") % (60*60)) / 60) || ":" || printf("%02d",(strftime("%s", "arrival_time") % 60) % 60) AS arrival_time, printf("%02d",(strftime("%s", "departure_time")) / (60*60)) || ":" || printf("%02d",(strftime("%s", "departure_time") % (60*60)) / 60) || ":" || printf("%02d",(strftime("%s", "departure_time") % 60) % 60) AS departure_time, stop_id, stop_sequence, stop_headsign, pickup_type, drop_off_type, shape_dist_traveled, timepoint FROM stop_times' > stop_times.txt
-
Add
-community
tofeed_version
in feed_info.txt -
Create
shapes.txt
with pfaedle
This GTFS feed was originally made available by SWU Verkehr and re-published with changes by ulmAPI contributors under the Open Database License: http://opendatacommons.org/licenses/odbl/1.0/.
shapes.txt
is based on Data from OpenStreetMap Contributors. Used OSM Extracts published by Geofabrik GmbH.
Any rights in individual contents of the database are licensed under the Database Contents License: http://opendatacommons.org/licenses/dbcl/1.0/