[Routing] Tools for getting from OSM to a routable network

Geoff Leyland geoff_leyland at fastmail.fm
Sat Sep 20 08:59:56 UTC 2014


On 20/09/2014, at 9:24 am, Frederik Ramm <frederik at remote.org> wrote:

> The big thing that nobody really has a good solution for (yet) is
> continuous updates on a routing graph.

That would indeed be an interesting challenge.  I think I’ll try to learn to crawl first, though :-)

> There's also osm2pgrouting which prepares OSM data specifically for the
> pgrouting PostgreSQL plugin, and a non-open but free-of-charge solution
> called osm2po. Then there's gosmore and Navit, the grandfathers of all
> OSM routing engines, and Routino. On the mobile side there's libosmscout
> which I believe can do routing, Monav which might be dead, and there's a
> specific cycle routing engine called brouter.

Thanks for the list, I’ll look them up (I tried osm2pgrouting, but I haven’t looked at the source).

> You say that you prefer to work geographially rather than topologically
> ...
> but as a mapper of course I *want*
> routing to fail if roads are not properly connected, because only then
> will people notice the bug and fix it!

If it’s any consolation, I do run a verifier on the map which detects a range of problems (though just a subset of what, say keepright finds) and I do go and fix connectivity problems where they’re simple or I know the area.  I know that’s not quite the same, but it’s a start, right?

I also check the map against an address database, which finds road name misspellings and missing roads, and I work on fixing that too.

> The various routing systems that work with OSM are slow to converge on
> common standards - i.e. which tag combination will make a road
> accessible for which types of vehicle, what standard speeds should be
> assumed for which roads, and so on. That's because everyone extracts and
> weighs the routing graph with their own methods (or makes everything
> configurable even). If a common standard were to emerge, quality would
> likely improve. Alas, it's unlikely that everyone would throw away their
> own code and start relying on your standard - unless it is really much
> better than what everyone has already.

Oh, I wasn’t proposing my own standard, I read xkcd too [1].  I was kind of hoping there might be one already.  From my very limited experience it seems that the existing solutions tend to be fairly monolithic - they do everything from the OSM import to driving directions and 3D displays.  That’s a lot of different areas to be expert in, and a pipeline that was:

 - osm -> something you can work with through a configurable import process (SYCWW!)
 - SYCWW -> various transformations (splitting, joining, simplifying, intersection expansion) -> SYCWW
 - SYCWW -> mmapped binary format

might mean that more people could get involved in their bit.  I’m aware that that’s kind of chasing unicorns, but you started it with your live updating router!



[1] http://xkcd.com/927/


More information about the Routing mailing list