Skip to content

A profiled route planning library which calculates routes in urban environments for two-wheeled vehicles

License

Notifications You must be signed in to change notification settings

maciejslawik/route-planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest Stable Version Latest Unstable Version License

Profiled route planner

The project finds a route well-suited for the requested type of vehicle in an urban environment. It uses PostgreSQL with additional extensions.

Supported vehicles
  • motorcycle
  • scooter
  • bicycle

System requirements

  • PostgreSQL 9.6
  • PostGIS 2.2
  • pgRouting 2.2
  • osm2pgrouting 2.0
  • osm2pgsql 0.8
  • PHP 7.1 with pgsql

Installation

  1. Use composer to include the library in your project.
composer require mslwk/route-planner
  1. After cloning the repository download a city extract in .osm file and place it in vendor/mslwk/route-planner/maps/map.osm

  2. Create configs/config.yml file based on configs/config.example.yml

  3. Run deployment/deploy.sh script

Detailed description

The library utilises two PostgreSQL databases to find the best route between two points. One database is a complete set of information from OSM and is used e.g. to find streets which with trams. The second one is pgRouting database which represents a city as a weighted graph and calculates the route.

Nominatim API is used to find the coordinates between the given addresses. The coordinates are used to find the graph vertices that are closest to the addresses.

The library supports two shortest-path algorithms (Dijkstra/A*).

The route is returned as an array of coordinates.

The data calculated is a json object.

Example of a successfully calculated route (from JSON API)

Alt text

Example of a failure (from JSON API)

Alt text

Live examples

The examples show a route calculated using the library and displayed using Google Maps.

Motorcycle

Alt text

Bicycle

Alt text

Scooter

Alt text

About

A profiled route planning library which calculates routes in urban environments for two-wheeled vehicles

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published