Skip to content

kkufieta/openstreetmap_routeplanner_astar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Route Planning using A*

This project implements Route Planning based on the A* algorithm using OpenStreetMap.

It is part of the C++ Nanodegree and forked off of the provided starter code.

Cloning

When cloning this project, be sure to use the --recurse-submodules flag. Using HTTPS:

git clone https://github.com/kkufieta/openstreetmap_routeplanner_astar.git --recurse-submodules

Dependencies for Running Locally

Compiling and Running

Steps to make it for on OSx

Assumption: The following are successfully installed (see instructions above):

  • cmake >= 3.11.3,
  • make >= 4.1 and
  • g++ >= 7.4.0

Follow these steps to install IO2D:

  1. Download a fresh build of libc++ from http://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-apple-darwin.tar.xz
  2. Export appropriate CXX and LD flags to make clang use this version of the standard library (replace NEWPATH with a path of extracted archive contents):
  • In my machine, I unzipped the libc++ build here, /Users/kat/Library/Cpp/.
  • I added following entries in .bash_profile file (make sure to replace my path /Users/kat/Library/Cpp/ with the path where you've saved the libc++ build):
  export CXXFLAGS="-nostdinc++ -isystem/Users/kat/Library/Cpp/clang+llvm-6.0.0-x86_64-apple-darwin/include/c++/v1"
  export LDFLAGS="-L/Users/kat/Library/Cpp/clang+llvm-6.0.0-x86_64-apple-darwin/lib -Wl,-rpath,/Users/kat/Library/Cpp/clang+llvm-6.0.0-x86_64-apple-darwin/lib"
  1. Open a new terminal and then execute below commands:
  2. Install Brew (if you haven't already): /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. Install libpng (if you haven't already): brew install libpng
  4. git clone --recurse-submodules https://github.com/cpp-io2d/P0267_RefImpl Note: I cloned this folder also inside /Users/kat/Library/Cpp/
cd P0267_RefImpl
mkdir Debug
cd Debug
cmake --config Debug "-DCMAKE_BUILD_TYPE=Debug" -DIO2D_DEFAULT=COREGRAPHICS_MAC ..
cmake --build .
make
sudo make install
  1. After this, this project should build by following the steps below.

Compiling

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

Running

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>

Testing

The testing executable is also placed in the build directory. From within build, you can run the unit tests as follows:

./test

About

A* route planner, implemented using OpenStreetMap in C++

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published