The Route Planner app, was made as part of Udacity's C++ Nanodegree Program. The Route Planner allows users to search for the shortest path between two points on a map, using real map data from the OpenStreeMap project. The path searching is made by using the A* search algorithm and the user predefines the start and finish points by using x and y coordinates. The project extends the code from a map rendering demo example in the Github for the IO2D 2D Graphics rendering library in order to display the path on the map.
When cloning this project, be sure to use the --recurse-submodules
flag. Using HTTPS:
git clone https://[email protected]/Vatsilidis_Lampros/openstreetmap_route_planner.git --recurse-submodules
- cmake >= 3.11.3
- All OSes: click here for installation instructions
- make >= 4.1 (Linux, Mac), 3.81 (Windows)
- Linux: make is installed by default on most Linux distros
- Mac: install Xcode command line tools to get make
- Windows: Click here for installation instructions
- gcc/g++ >= 7.4.0
- Linux: gcc / g++ is installed by default on most Linux distros
- Mac: same instructions as make - install Xcode command line tools
- Windows: recommend using MinGW
- IO2D
- Installation instructions for all operating systems can be found here
- This library must be built in a place where CMake
find_package
will be able to find it
To compile the project, first, create a build
directory and change to that directory:
mkdir build && cd build
From within the build
directory, then run cmake
and make
as follows:
cmake ..
make
The executable will be placed in the build
directory. From within build
, you can run the project as follows:
./OSM_A_star_search
Or to specify a map file:
./OSM_A_star_search -f ../<your_osm_file.osm>
The map file should be exported from the OpenStreetMap website.
The testing executable is also placed in the build
directory. From within build
, you can run the unit tests as follows:
./test