Open source route planning for .NET
by
Ben Abelshausen (@xivk)
A routing engine as in road networks.
Originally built for logistical optimization
An open-source routing engine that's:
- Easy to use & setup.
- Fast.
- Extensible.
- Reliable.
var route = router.Calculate(Vehicle.Car.Fastest(),
51.2679702f, 4.8019051f,
51.2610084f, 4.7807210f);
var profile = Vehicle.Car.Fastest();
var start = router.Resolve(profile,
51.2679702f, 4.8019051f);
var end = router.Resolve(profile,
51.2610084f, 4.7807210f);
var result = router.TryCalculate(profile, start, end);
- Dykstra, A* (Very flexible, relatively slow)
- Contraction Hierarchies (Very (very) fast)
- Configurable routing profiles in lua.
- Offline routing on mobile (Xamarin)
- Cross platform (.NET Core)
- Scales, handles the entire world.
- Was the tech used at the time.
- Good tradeoff between performance and ease of use.
Biggest disadvantage at the time: windows-focus!
- 10.000x10.000 matrix in 60s.
- ~5-10ms per route.
- ~100-500ms on mobile.
- UK network takes about 2GB ram.
- Best open map
- Available worldwide.
- Called 'wikipedia of maps'
"OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world."
- Since 2011, first OsmSharp, later Itinero.
- 5 contributors > 90% myself.
Why open source:
Trust in the project!
- One person company, many projects.
- ~80.000€/yr
Hiring, need help!