A route planning application built on OpenStreetMap data to help cyclists find efficient and safe routes. The application uses heuristic-based search algorithms, including A* search, to compute optimal paths.
- Pathfinding Algorithms:
- A* Search
- Uniform Cost Search
- Greedy Best-First Search
- Breadth-First Search
- Depth-First Search
- Custom Heuristics: Tailored A* heuristic to improve route planning performance.
- Interactive Interface: Pan, zoom, and set waypoints to configure routes.
- Customizable Maps: Supports loading any OpenStreetMap (OSM) files for route planning.
- Cycling Safety Data Integration: Optimize routes for cyclist safety.
- Run the application by executing
main.Demo.java. - Controls:
- Pan: Click and drag with the left mouse button.
- Zoom: Use the mouse scroll wheel.
- Set Start/Destination: Right-click to set or clear waypoints.
- The default map (
toronto.osm) can be replaced with any.osmfile:- Download the desired map from OpenStreetMap Export.
- Place the
.osmfile in the/datadirectory. - Update the
osmFilevariable in themainmethod with the new map file.
- OpenStreetMap Data: OpenStreetMap Export
- Cycling Safety Data: Toronto Police Traffic Data