A tool that enables the planning of container pickup and dropoff at many locations with customizables vehicles (speed, allowed roadways, capacity, etc.)
User instructions are at https://github.com/datakind/dk-routing/blob/main/dkroutingtool/README.md
Configuration manual is at https://docs.google.com/document/d/1iOlXQk6_ElM_LdawJPREHNjVkv_2Qajam3is2hm5zyM
Developed by volunteers and DataKind, formerly known as DataKind Routing Tool. The initial goal was to provide routing assistance for container-based sanitation organizations and we're open sourcing the tool to make sure it can reach many more use cases and organizations.
Here are some features supported by the current release.
- Routes through hundreds or thousands of locations in minutes
- Minimizes either time or distance across trips (with steep elevation changes as an experimental optimization)
- Specific time windows per area or per location are respected
- Configuration of multiple different vehicles with different speeds, allowable roads and capacities via OSRM profiles
- Detailed maps of the trips in html files
- Possibility of editing the routes via spreadsheets to reorder locations or put a location onto a different trip
- Exports GPX tracks to be used in turn-by-turn navigation tools (e.g. OSM Automated Navigation Directions at https://osmand.net/)
Demonstration of the web client: https://github.com/user-attachments/assets/2bae88fa-46aa-4b1b-bb41-19b9792eafeb
An example of a map with all planned trips:
The spreadsheet allowing reordering of the locations:
And a sample solution that provides relevant metrics:
...
Route ID red-7, West , 3wheeler, Cap 50:
waste_basket -> 3365391469 -> 2068942499 -> 7778351995 -> 4056395683 -> 995175662 -> 7778324711 -> 7829947085 -> 4472447170 -> 2622751934 -> 1794111136 -> 7820195264 -> 7798179688 -> 267901435 -> 321647302 -> West-UNLOAD
Distance of the route: 4.926km
Load of the route: 45
Time of the route: 47minTotal:
Distance of all routes: 38.422km
Time of all routes: 311min
Maintained by Zebreu (Sebastien Ouellet), feel free to open issues for any question or clarification.