Use public transport data from OpenStreetMap and optional external schedule information to create a General Transit Feed (GTFS).
The script retrieves current data about public transport networks directly from OpenStreetMap via the Overpass API. It stores the data in python objects and caches on disk for efficient re-use. Then the data is combined with another source of schedule (time) information in order to create a GTFS file using the transitfeed library.
For every new city a new configuration file needs to be created. Additionally, schedule information should be provided. By-default the schedule information is expected to be provided in a certain format. However other formats are supported through extending the code. For any city and schedule format the script can be easily extended, see the developer documentation for more information.
- Florianópolis, Brazil
- Suburban trains in Costa Rica
- Accra, Ghana
- Managua, Ciudad Sandino and Estelí in Nicaragua
- Abidjan, Ivory Coast
Soon, also in your city
Install by running
pip3 install -e .
Automatically installed by the previous step:
- https://github.com/python-attrs/attrs
- https://github.com/DinoTools/python-overpy
- https://github.com/pecalleja/transitfeed (fork)
- https://github.com/testing-cabal/mock
- https://github.com/ubernostrum/webcolors
- https://github.com/Jungle-Bus/transport-hours-py
osm2gtfs -c <config-file>
Example:
osm2gtfs -c osm2gtfs/creators/br_florianopolis/config.json
This program is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.