This Python project is designed to parse and interact with Edmonton Transit Service (ETS) data available from the City of Edmonton Open Data Catalogue, facilitating both command-line and graphical user interfaces for exploring transit routes and stops. The project is structured around several milestones, each adding functionality ranging from basic data handling in Python to advanced GUI operations.
To run this project, ensure you have Python 3 and the required libraries installed. Clone the repository and navigate to the directory containing the project.
git clone https://github.com/vighnesh9388/ETS-interactive-route-plotter.git
cd ETS-interactive-route-plotter- Milestone 1: Implements a text-based menu system for loading and querying transit data from text files.
- Milestone 2: Extends the functionality with a graphical user interface (GUI) using
graphics.pyto plot bus routes. - Milestone 3: Further develops the GUI to include interactive features like plotting bus stops based on user clicks.
- Load transit data from GTFS files.
- Text-based querying of shape IDs and route data.
- GUI for visually exploring bus routes and stops.
- Error handling for file operations and user input.
- Use of pickling for saving and loading processed data.
- Python 3: Primary programming language.
- graphics.py: Library for creating GUI elements.
- Pickle: For object serialization and persistence.
- Text/mutability
- File input
- Lists
- Tuples
- Sets
- Dictionaries
- Algorithms
- Optimize code for better performance and readability.
- Enhance the GUI for a more user-friendly experience.
- Implement a feature to automatically fetch, format, and update the GTFS files to the latest version periodically (current data is from 2016).
- Deploy the application to a fully functional website.