This project uses cmake. Make sure you have cmake installed by checking:
cmake --version
If you don't have cmake installed, you can do so by running:
sudo apt install cmake
To compile the project run:
cmake . -B build
cmake --build build --target Routing --config Release
You can download our preprocessed graph data as a folder called data from our GoogleDrive to an arbitrary location of your choice.
Make sure to copy the path to your data folder into a file called data_directory.txt located on the top level of the repository. The path must be relative to the root folder of the repository.
Program options can be displayed with -h (--help).
option | arg | description |
---|---|---|
-h, --help | Print help | |
-g, --graph | string | Input graph (e.g. germany, ...) |
-r, --runs | number | Number of test queries (default: 0) |
-p, --partition_size | number | Partition size (default: 128) |
-t, --threads | number | Number of parallel threads (default: 4) |
-v, --validate | Validate query results against dijkstra | |
-f, --force | Force flag precomputation (overwrite existing flags) |
A java runtime environment is required.
sudo apt install default-jre
Go to osm2po.de and download osm2po version 5.5.2. located in the ZIP file in the download section of the webpage. Extract the whole ZIP content into the data folder.
Install PostgreSQL and PostGIS! To achieve that just copy the following commands into your terminal:
sudo apt -y install gnupg2;
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -;
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list;
sudo apt -y install postgresql-12 postgresql-client-12;
sudo apt install postgis postgresql-12-postgis-3;
sudo apt-get install postgresql-12-postgis-3-scripts
Now create a user called "EVCC". (Another script uses this name.)
sudo su - postgres -c "createuser username"
Also execute:
sudo su - postgres -c "createuser your_username"
Finally replace the config file in the data folder by RoutingPipeline/osm2po.config.
You can download OpenStreeMap data from the private company Geofabrik from Karlsruhe. Put it into the data folder.
Now extract the data via
sh extract.sh region
where region-latest.osm.pbf is the file you downloaded.