This project is a part of Udacity’s C++ NanoDegree program. The aim of project is to find the shortest path between two points on the map.
The starter code of the project is taken from the OpenStreetMap demonstration of the IO2D graphics rendering library. C++ doesn't have the graphics rendering functionality as a part of the standard library. IO2D has been proposed as an addition to standard library. This project extends the IO2D OpenStreetMap demo code to render a path between two points.
- 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
When cloning this project, make sure to use the --recurse-submodules
flag.
git clone https://github.com/Vamshi2198/OpenStreetMap-Route-Planner --recurse-submodules
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 testing executable is also placed in the build
directory. From within build
, you can run the unit tests as follows:
./test