A high-performance route computation engine that determines the fastest path between two geographic coordinates using a graph-based road network. The system supports combined walking and vehicle travel, visualizes paths with a WinForms interface, and handles large-scale queries efficiently.
- Fastest route using walking + vehicle
- Real-world walking limits (radius
R) - Support for roads with changing speeds over time
- Map + path visualization with GUI
- Execution time tracking and analysis chart
| Component | Description |
|---|---|
MapRoutingGUI |
WinForms frontend for file input & path display |
MapRoutingLogic |
Core route-finding algorithm using Dijkstra's |
docs/ |
Presentation and documentation |
N
ID X Y
...
M
ID1 ID2 Length(km) Speed(km/h)
...
Q
SourceX SourceY DestX DestY R
...
Each query returns:
- List of intersection IDs in path
- Total travel time (in minutes)
- Total distance (km)
- Walking distance (km)
- Vehicle distance (km)
- Execution time in ms
Default view after loading map and queries.
Highlighted path result for selected query.

- Load map and queries
- Run all or individual queries
- Path overlay with legend
- Bar chart for execution times
- Toggle map visual elements
- Sample: ≤ 20 nodes, 5 queries
- Medium: ≤ 20,000 nodes, 1,000 queries
- Large: ≤ 200,000 nodes, 1,000 queries
- Graph building:
O(|E|) - Shortest path:
O(S × E' × log V')S= candidate startsV',E'= reachable subgraph
- C# / .NET
- Windows Forms
- Stopwatch API
- Graphs + Priority Queue
- GDI+ for drawing