Routing with Marble

Being an avid biker, I often find myself assembling nice tours for upload on my N810. Usually that involves designing a round trip with Google Maps, downloading its .kml file, converting this to .gpx with the help of gpsbabel, copying the converted file to the N810 using scp and finally opening it in Maemo Mapper. Although working reliably, this process is tedious and cumbersome: The route is calculated on TeleAtlas data by Google and displayed on OpenStreetMap tiles in Maemo Mapper.

Ideally I want to use Marble instead; Prepare a route on my desktop PC, export it to my N900 (which replaces the by now broken N810) and have Marble on the N900 guide me on the tour. Admittedly it may be a long road to have that working smoothly, but the journey is the reward 🙂

Moving on in this direction, I committed some code earlier this evening that adds reverse geocoding support to Marble’s new Online Routing feature (SVN trunk only). Those on the bleeding edge can now search for an arbitrary number of placemarks and calculate a route between them. Kudos to the team whose service we can use, the openstreetmap nominatim author for the great search and reverse geocode service and of course all the OSM mappers collecting the data.

Beware the fine print, though: Routing is limited to Europe currently and some obvious features in Marble are yet missing — showing a route summary, print support, import/export of routes to kml/gpx. Last not least the code is young and not tested by too many people yet (please change that). I am happy to receive feedback and bug reports.

Other news say that KDE was accepted as an organization in Google’s Summer of Code. By happy coincidence the KDE ideas pages lists a project Marble To Go with me as the mentor. If you think you are eligible for doing a Summer of Code project, maybe that one is for you. Give it a thought!

In the good tradition of finishing with some demo material, here is a short screencast to satisfy the “no pic, no care” crowd 😉 Best watched fullscreen.

Routing in Marble using from Dennis Nienhüser on Vimeo.

If neither embedding the video nor the Vimeo page does work for you, use this page instead, please.

11 Replies to “Routing with Marble”

  1. Looks really interesting…unfortunately, full-screen flash feels like I’m repeatedly beating my laptop over the head, and it’s too dizzy to give me a smooth video.

    Could you possibly provide direct streaming next time? offers it, at least, maybe some other services do too.

    Thanks, and great work. What would it take to expand support for non-European reigons?

  2. Do you intend to add options for traveling by car/bicycle/foot?

    BTW, do you find the N900 precise enough for OSM mapping? How long is the TTF (time to first fix)? I had a Freerunner for some time which I used as a better bicycle computer. While the GPS precision was ok, I found the TTF a bit too long.

  3. I’ll have a look at Try in the meantime for html5 and a direct .ogg download.

    To support non-European countries, either needs to expand their service (likely related to server capacity) or another free service be created. A candidate is which currently lacks routing directions and is slow to respond, however.

  4. Routing options will follow shorty. I mainly need to make up my mind about the UI.

    Compared to the N810, the GPS chipset of the N900 works far better. From startup of the maps widget to the first fix, around ten seconds elapse (just measured indoor).

  5. Checked out trunk, built and tried it. This is really great! Thanks for a really awesome addition!

    Of course, routing options (like mentioned above already) and export and the like would be very welcome, too.

    Keep up the great work!

  6. IMHO you should use a local algorithm, not a web service, and especially not a non-Free one like They call themselves “open”, but if you read the fine print: “Commercial usage of the services provided by OpenRouteService does need approval!”. That is not Free as in speech. The source code of that “open” service appears to be completely unavailable as well.

    Navit is a Free Software routing program, maybe you could reuse some of their code.

  7. An offline routing feature requires much more effort on our side: Vector tile downloading (including pre-fetching tiles the route may touch or providing full local country maps) as well as the routing algorithms itself. The latter may be done with the help of a library or reusing other code. None of that is impossible and may likely come in the future if we find a volunteer to work on it. For the moment however, the online routing solution seems to me like the best approach to move in the routing direction.

    The openrouteservice claim about commercial usage is indeed a problem: Marble is shipped as LGPL. My interpretation of the sentence is that they do not want to provide server space and bandwidth for someone making money out of their service. It needs to be cleared up before the next Marble release. In the worst case, Marble (the library) will be shipped without support. I’m not too concerned about it; so far the openrouteservice people have been very open-minded and I’m positive we find a solution everybody is satisfied with.

Comments are closed.