OSM routing, A*, cycle-filtered, python

The program

Source code (python) and history

The picture

Starting at the junction of Charlotte street and Tottenham street in London

Download that route as an OSM file

Outputs

Sample OSM route from route

Sample GPX route (paste GPX files into a route viewer to see them overlaid on a map)

Other samples

Across Lyon

6.6 seconds to parse and route a 2.3MB OSM file

Another route in Lyon

We've had to allow primary roads to be used, because otherwise you can't get across the river at all.

But here, it's actually following a big road for lots of the journey, illustrating why it needs weightings to be applied to the different sort of route rather than just 'usable/unusable'

More benchmarks, more uses

karouf reports that it took 1min11 to route over 100km using a 146MB osm file

...also that it routed 700km in 3min40

GUI