Archive for the ‘Openstreetmap’ Category

Since MoNav learned to speak

Friday, January 6th, 2012

About two weeks ago I blogged about my first attempts to teach MoNav to provide speech output. While everything worked well on my desktop machines, MoNav did tend to crash every now and then on the N900, rendering it pretty useless for the intended use.

As debugging was a bit difficult, I have just rewritten a suspicious part of the code. Et voilà, a test drive through the city of Karlsruhe the past evening was of great joy and pleasure.

The speech output still is not mass compliant, though. MoNav is too verbose, instructions are spoken too late, and MoNav needs too long to detect that the vehicle left the precomputed route. But that’s just tedious work in progress to be done during the next weeks and months.

And though I’m complaining, do not forget that MoNav in its current state actually is capable to guide you to your destination, while I’m pleased with what I achieved during the past weeks.

I’ll continue the work on speech output for car drivers before I’ll dive into making it compliant with the needs of cyclists.

In case you want to play with the current code, you’ll need to compile the branch from source:

  • hg clone https://code.google.com/p/monav/ monav-permaroute
  • cd monav-permaroute
  • hg update permaroute
  • qmake monavclient.pro
  • (/Developer/QtSDK/Desktop/Qt/474/gcc/bin/qmake monavclient.pro on Mac OS X)
  • make

You’ll also need updated map packages for this version to run properly. I’ve already precomputed some mapsets:
Germany_big
Germany
Alsace
Rheinland-pfalz
Baden-Wuerttemberg

The above lines are not intended for end users. It’s for all those openstreetmap addicts who are interested to follow the current development of MoNav.

Have fun!

When MoNav learned to speak

Tuesday, December 20th, 2011

A couple of months ago I opened a branch named »ui-ng« in MoNav‘s repository to develop a new user interface. Meanwhile this branch became a playground for several hacks, and some of them are just spikes to check out whether some ideas work or not.

I denied to work on speech output this spring, as I knew this would become a rather lengthy task. But it was obvious that I won’t resist the temptation during the cold and dark winter months. So I added the first code to generate spoken turn instructions recently. It is an ugly hack, just to determine what was possible. The code as found in the »ui-ng« repo works, well, at least a bit. The instructions are far away from being useful, except for lonesome crossings or roundabouts without other crossings nearby.

I’m using prerecorded samples for now, as the current open source speech synthesis systems did not show the results I desired. OTOH, this means I cannot generate instructions with dynamic contents like distances or street names. Additionally, those samples currently are included in the application binary, which will pollute the memory of handset devices as soon I’ll add further localized samples (currently speech is available in german and english language only).

The main issue is that MoNav recalculates the route each time a GPS position update is received – which means each second on the N900. As the GPS position always is a bit inaccurate, MoNav will speak »Please turn right« when you pass, for example, a gas station and the GPS position is off the road by a couple of meters.

As a consequence, I’ve just written some code that detects whether the vehicle is still “on track”. The route only gets recalculated in case the vehicle left it for more than x meters. This makes the route much more persistent and will cause far less headache than the previous approach. As this happened just a couple of minutes ago, the code is not in the repo yet.

There’s still a lot of work to do, and I’m curious whether I’ll stay motivated enough to do all of the work ahead. On the other hand it’s just plain fun to explore the secrets of a usable routing application.

So stay tuned. The next week(s) will show whether I’ll »head straightforward« :) .

Street Name Rendering in MoNav

Wednesday, November 23rd, 2011
MoNav Street Name Rendering in Kandel

MoNav Street Name Rendering in Kandel

Thanks to the work of James Hollingshead, MoNav now provides street name rendering at high zoom levels. This required a change in the map file format, though, so the currently available maps (which admittedly are rather dated) won’t work with binaries built from the current tip of revision control.

The new code is already available for two months now, but I hadn’t had the time to check it out. Today I got the client to compile on Max OS X 10.7.2 (aka Lion). I did not get the map preprocessor compiled, neither on Lion nor on the server, due to missing mapnik dependencies, but I got it compiled on my local Linux box.

The above screenshot shows the inner city of Kandel in Rhineland-Palatinate. I usually use this state for test runs for creating maps, as its file size is acceptable for my desktop machine.

I’m quite grateful that James did the work of creating the first vector renderer for MoNav, and that he now also added street name rendering. The next step is to get the preprocessor compiled on the server, though this might take a little while as the map processing script needs adjustments too. For Maemo on the N900, an updated binary is already available via the repo. Before you install it, ensure you have updated map data available. Otherwise you will end with an updated binary which cannot load the map data present on the device – a rather useless constellation from a user’s point of view.

Thanks a bunch, James.

40th Birthday Hiking Trip

Tuesday, November 1st, 2011

Since my 40th birthday passed by recently, I invited a couple of friends for a 20 kilometers black forest hiking trip. It led us from Forbach over the Rote Lache pass to Baden-Baden/Oberbeuern, where we took the bus to the station to get back to Karlsruhe.

The weather was warm and sunny, reminding us of the indian summer. Between Forbach and Bermersbach we followed the Ziegenpfad (Goat’s path), which is often used by families with children:

Obviously the inhabitants of the black forest take hunting very serious:

The Holzschuhrank is a locality and a shelter with a fountain and sleeping facilities, sited at a crossing:

Fortunately there were lots of details along our way which were missing in the OSM database, so all kinds of gadgets (such as Garmins, N900s etc.) came to play:

That’s deer ragout with croquettes and brussels sprouts. No, I didn’t take a picture of everyone’s dishes :) :

As we were late and the daylight saving time ended last sunday, it got dark while descending to Oberbeuern. At least the male participants appreciated the displays of the bus booting Linux 2.x :) :

Here’s the trip:

Late Autumn Hiking

Sunday, October 30th, 2011
Hiking trail near Slevogthof

Hiking trail near Slevogthof

After a warm spring and a wet summer, the golden autumn fades out. Today it was cloudy though warm, and we grabbed the occasion for a hiking trip to the Palatinate Forest. The trip lead from Annweiler to the Trifels Castle, the Madenburg Castle and back to Annweiler. We needed almost seven hours for this 25 kilometers trip, due to several rests :) .

The Trifels castle is a well known tourist destination, though it was reconstructed during the infamous Nazi dictatorship. The Madenburg is a well known destination either:

The Madenburg Castle

The Madenburg Castle

It’s a great viewpoint towards the upper Rhine plane:

View from the Madenburg castle towards the upper Rhine plane

View from the Madenburg castle towards the upper Rhine plane

I was surprised by the local gastronomic specialities provided. This is Bratwurst, Saumagen, and yes, Krauts actually eat what they are named after ;-) :

Bratwurst, Saumagen, and Sauerkraut

Bratwurst, Saumagen, and Sauerkraut

I missed the liver dumpling, but that would have been too much.

The wood was relatively dry, so I didn’t find much fungi. Here is one anyway:

And finally, here’s the trip:

Unfortunately two of us needed to leave after Trifels castle due to some severe flu. Get well soon!

Golden October 2011

Monday, October 10th, 2011

Past are a sunny spring, a rainy summer, and some marvellous late summer days:

(more…)

Der Stromberg-Murrtal-Radweg

Friday, August 26th, 2011

Vielleicht haben wir gestern den letzten hochsommerlich warmen Tag des Jahres 2011 genossen – zumindest soll es die nächsten Tage weiterhin kühl bleiben. Wir haben den Tag genutzt, sind um 6:40 in die Bahn gestiegen und haben den Stromberg-Murrtal-Radweg in Ost-West-Richtung bereist, zumal er in Openstreetmap noch nicht vollständig erfasst ist :) .

(more…)

»Wo geht’s hier zur Oder-Neiße-Linie?« III

Thursday, July 28th, 2011
The Oder near Frankfurt

The Oder near Frankfurt

As the last trip from Zittau to Frankfurt (Oder) (german language posting) was interrupted by bad weather conditions, I went to Frankfurt again to complete the trip. The trains partly were well crowded. In Sangerhausen the next train was delayed by half an hour, and the train in Magdeburg didn’t wait for 5 minutes, so I (and others) lost an hour waiting for the next one. Fortunately I left Karlsruhe quite early, so the delay did not show any impact.

(more…)

Subjugating the french god of wind

Saturday, July 9th, 2011

Though I do not want to complain about the weather this year, it often is accompanied by some light wind of about 15 kilometers per hour. Today it got even worse. Some heavy weather was brewing near Wissembourg. Heck, cyclists who rode the opposit direction had better luck :) .

(more…)

Nokia N810 Mappingset abzugeben

Sunday, July 3rd, 2011

Das N810 hatte ich mir fast ausschließlich für Mappingaktivitäten geholt. Einerseits steht mit Maemo Mapper eine wirklich gute App zur Verfügung, um mit Karten von OSM (und anderen Quellen) auf Wander- und Radtouren zu gehen, andererseits steht mit osm2go ein Programm zur Verfügung, mittels dessen man live vor Ort Daten für Openstreetmap erfassen kann. Das Hochladen erfolgt anschießend direkt vom Gerät aus, sobald man ein Funknetz (WLAN) zur Verfügung hat. Somit entfällt das Nachbearbeiten der Daten am heimischen Rechner. Ich habe mit dem Gerät Wald- und Wanderwege genauso erfasst wie Hausnummern und halbe Ortschaften wie Oberkaufungen. Sehr schön ist das hochauflösende Display, das man auch im Freien gut ablesen kann – um Kartenmaterial anzusehen, kann man gar nicht genug Pixel zur Verfügung haben.

(more…)

»Wo geht’s hier zur Oder-Neiße-Linie?« II

Thursday, June 16th, 2011
Bahnhof Frankfurt an der Oder

Bahnhof Frankfurt an der Oder

Erneut zog es mich gen Osten, heuer um ein Stück über den Oder-Neiße-Radweg zu fahren.

(more…)

Ein wahrer Gourmet scheut niemals ein Geschmackserlebnis

Sunday, May 29th, 2011
Tête de veau

Tête de veau

Die Tour

Meine heutige Tour führte mich mal wieder zu einem meiner Lieblingsziele – Wissembourg. Da ich in Neuburgweier auf die Fähre warten musste und mir unterwegs eine ausgiebige Pause in der Sonne gegönnt habe, sank die Durchschnittsgeschwindigkeit, die mir MoNav neuerdings anzeigen kann, auf gut 13km/h. Die tatsächliche Durchschnittsgeschwindigkeit “in Bewegung” dürfte trotz leichten Gegenwindes 20km/h betragen haben.

MoNav

Ich hatte die letzten Wochen damit experimentiert, MoNav Stillstandzeiten automatisch erkennen und aus der Berechnung herausnehmen zu lassen. Die einfachen Ansätze haben leider allesamt nicht gut geklappt; die Betrachtung von Genauigkeit und Geschwindigkeit von bis zu 40 Positionsdaten führten nicht zu zuverlässigen Ergebnissen. Um das Kalman-Filter wollte ich mich zugegebenermaßen drücken, aber es könnte sein, dass ich daran nicht vorbeikomme.

Die Strecke

Ich habe heute nicht die Schotterwege durch den Bienwald genommen, sondern bin via Lauterbourg nach Scheibenhardt und von dort aus über den Radweg durch Niederlauterbach, Salmbach und Schleithal gefahren. Nachdem ich 2007 große Teile des Karlsruher Straßennetzes abgefahren und gemappt hatte, habe ich begonnen, die linksrheinischen Dörfer der Pfalz (Neuburg, Hagenbach, Maximiliansau), den Bienwald, Wissembourg und die vorgenannten Dörfer zu mappen. Es ist schon erstaunlich, was sich seitdem alles geändert hat. In Lauterbourg wird gerade ein Areal, das früher einen Supermarkt enthielt, umgekrempelt. Auf der anderen Straßenseite wurden einige Bungalows entfernt und Bagger schaffen gerade Raum für neue Fundamente. In den anderen Dörfern wird genauso gebaut wie in Wissembourg, das vor wenigen Jahren unter enormem Flächenverbrauch ein neues Industriegebiet ausgewiesen hat. Trotzdem sich dort bisher nur wenige Betriebe angesiedelt haben, werden an Wendeschleifen von der städtischen Gärtnerei liebevoll einige Blumenbeete gehegt, und zwischen den Parzellen, die hoffentlich künftig jemand besiedeln wird, wurden junge Bäume angeplanzt. Mich wundert das ein wenig, denn was passiert denn, wenn ein Gewerbebetrieb ein größeres zusammenhängendes Stück erwerben möchte? Muss der dann um die Bäume herumbauen? Aber egal, das stört uns als Mapper ja eigentlich weniger.

Relationen

Für den Rückweg entschied ich mich ebenfalls gegen den Bienwald und bin via Windhof über die Straßendörfer, die ich in Teilen ebenfalls vor Jahren gemappt hatte, gefahren. Auch hier regt sich überall die Bautätigkeit, und gerade als Mapper nimmt man die vielen größeren und kleineren Veränderungen wahr. In Schaidt beispielsweise wurde die Vorfahrt an der zentralen Kreuzung geändert. Via JOSM hätte ich daher gerne die bisher durchgehende Straße an dieser Stelle wenigstens aufgeteilt. JOSM weist mich darauf hin, dass es da irgendeine Relation gäbe, die ich doch kontrollieren solle. Jetzt ratet mal, was ich gemacht habe. Genau. Ich habe JOSM schnell geschlossen und mir gedacht “dann halt nicht”. Fred hat genau diesen Effekt vor Jahren vorausgesehen, als er die Relationen eingefüht hat und ich noch ein großer Fan davon war. Inzwischen haben wir viel zu viele Relationen in OSM, die zu schwierig zu handhaben sind und die Neueinsteiger vor eine viel zu große Hürde stellen. Selbst alte Hasen wie ich einer bin ziehen den Schwanz ein. Ich wäre froh, Wege und Routen wären gleichermaßen Relationen, die gleichberechtigt nebeneinanderstünden. Beide würden dann auf Nodes verweisen, und das Aufteilen eines Weges würde die Routenrelation nicht gefährden oder gar kaputtmachen.

Regionale Küche

Zeit um auf das eigentliche Thema dieses Postings zurückzukommen. Egal wohin ich reise, ich versuche immer, Resturants zu finden, die regionale Gerichte anbieten. Und ich gebe zu, die teils deftige, oft aber auch raffinierte elsässer Küche wirklich zu mögen. Sowohl deutsche Metzgereien als auch deutsche Restaurants sind durchweg langweilig, wenn es um die Verwertung aller Teile der Schlachttiere geht. Versuchen Sie mal, in einer deutschen Metzgerei einen Kalbsfuß oder einen Kalbskopf zu bekommen. Da werden Sie ein größeres Problem haben. Genauso in deutschen Restaurants. Wie oft haben Sie auf einer Karte schonmal Hase, Lamm oder gar Innereien gesehen? Der Deutsche isst sowas eher selten. Ganz anders bei unseren Nachbarn.

In Wissembourg gibt es einige gute Restaurants. Im »Au Saumon« kann man nett draußen direkt an der Lauter sitzen, aber die Karte ist eher mager, und es wird meist versucht, die Tagestouristen mit dem Flammkuchen zu versorgen, der vor dem Restaurant im Holzofen zubereitet wird. Gegen Flammkuchen als typisches Gericht des Elsass ist nichts einzuwenden. Außer dass Sie diesen fast überall bekommen können.

Inzwischen bin ich einige Male im »Restaurant de la Couronne« gestrandet, das direkt schräg gegenüber dem Rathaus (»Hotel de Ville«) direkt am »Place de la Republique« liegt. Hier bekommt man Köstlichkeiten, nach denen man sich in Deutschlad so oft sehnt. Wie eben einen Kalbskopf. Ich gebe zu, dass ich selten ein so aromatisches wie zartes Stück Fleisch gegessen habe. Es zergeht auf der Zunge. Und wenn zum Nachtisch ein Rhabarberragout gereicht wird, wird man schmerzhaft daran erinnert, wie langweilig deutsche Gaststätten mit Schnitzel natur, Wiener Schnitzel, Jägerschnitzel und Zigeunerschnitzel und abschließend drei Kugeln Vanilleeis aus der Retorte doch sind.

Ästhetik

Egal ob man ein Buch, einen Stuhl, ein Mobiltelephon, ein Laptop, ein Stück Software, ein Musikstück oder eben ein Essen betrachtet, allem wohnt eine natürliche Schönheit inne – oder eben auch nicht. Eine Schreibtischplatte mit einem 2mm-Anleimer ist meist weder funktional noch schön. Und eine Software oder eine Landkarte mit 2759 Piktogrammen, die nicht aufeinander abgestimmt sind, ist es ebenfalls nicht. Und ein WordPress-Blog mit dem Default-Theme ebenfalls nicht. Ein jeder von uns nimmt Schönheit wahr – aber eben immer nur in Teilbereichen. Der eine mehr, der andere weniger. Ich gebe allerdings zu, die Leute zu bedauern, die Schönheit nur in einem winzigen Bereich ihres täglichen Lebens und Schaffens wahrnehmen. Ihnen entgeht etwas, ohne dass sie es merken.

The end of the rant

Ich schweife ab. Welch wundervoller Sonntagsnachmittagstrip von gerade mal 62 Kilometern. Danach hat es mir ob des Windes aus Südwest bis nach Wissembourg auch gereicht. Bis Kandel war er aber zugegebenermaßen äußerst willkommen :) .

Lower Saxony (Niedersachsen) available for MoNav

Thursday, May 12th, 2011

Due to a user’s request, I included Lower Saxony (Niedersachsen), germany, into the map processing script for MoNav. The map data is available for immediate download.

MoNav User Interface now available in German Language

Thursday, May 12th, 2011

The last two days I’ve worked on a first translation system for MoNav. Thanks to Qt4 it was just simple, and admittedly I copied over some lines of code from one of my other projects, Gebabbel.

MoNav checks the user’s system for a locale string, searches for a matching translation file, and if available, it gets loaded. Currently, the translation files are included in the binary, so we do not need to care about install paths and the like. As soon we have some translations available, they will be removed from the binary and installed as separate files to save some memory.

This also means we are in desparate need of translators for the upcoming releases. Do you want MoNav to appear in your mother tongue, maybe Russian, Chinese, or Bamanankan? As no programming skills are required to create a translation, do not hesitate to contact us.

Can MoNav do bike routing #17251¹

Sunday, May 8th, 2011

Today my way led from Darmstadt to Aschaffenburg, where I visited some relatives and friends. MoNav did a very good job guiding me. As it chose a route which led along major roads, I set a via point in Messel, and got really great results.

The trip info page I recently introduced was very helpful. Well, it’s like a progress bar on computers. It does neither shorten the remaining distance, nor does it beam you to the destination. But anyway, it’s very useful to have some figures right at your fingertips during the tour, so you know whether you should hurry or you can enjoy a short rest.

The trip was about 50 kilometers which I planned to cope with in 2 hours. Though the terrain is completely flat, some head wind caused an average speed of 20 km/h only – I needed 30 minutes more as I planned.

Once again, I really enjoyed to have MoNav’s excellent offline routing available during the trip. Before I used MoNav, I spent hours in front of my computer to prepare a trip. Today, I just check what MoNav suggests before I leave and help it with some via points – that’s it. An issue of minutes, not hours.

I’d like to thank all Co-Mappers who contributed the data I used during today’s trip. Thanks girls and guys.

¹ According to echo $RANDOM

Trip Info Page for MoNav

Thursday, May 5th, 2011

Though I’m currently rewriting the user interface of MoNav, I’m still missing some features while being on the road. During a trip, I want to see information about the remaining route distance, the distance and time already traveled, and as a cyclist who sometimes crosses hilly regions, I found some altitude information very useful. Obviously some volunteer is needed to write the code to accomplish that. Waiting for someone else is a valid option, but I know it’s much better to get things done™ :) .

I pushed the first code to the central repository a couple of minutes ago. It’s not polished yet, and the user interface requires some more dedication. I’d also like to add a display of the average speed, but this required some redesign of the track logger code first.

Frankly, it’s a great joy and pleasure to contribute to MoNav. I’d like to thank its creator and maintainer, Christian Vetter, for the great work he put into it. The use of Qt for the backend and the frontend code. The uber fast routing engine. The use of OSM data for routing and the fast address search. And last but not least for his openness when it comes to new ideas and changes. Oh, and did I mention MoNav ran on the N900 out of the box from the first day I tried it :) ?

I’d also like to thank James Hollingshead who wrote the first ready to use vector renderer for MoNav. Though it still shows some minor glitches and is missing rendering of street names, it currently serves us very well for displaying offline vector map data.

Enough rant for now. The code is written, and I better should go to bed :) .

MoNav user interface overhaul – the cross platform hassle

Monday, May 2nd, 2011

The recent 0.3 release of MoNav provides a useful interface, which allows to invoke all features directly from its main window. It’s a great, both finger as well as user friendly interface, especially on mobile devices such as the Nokia N900. The downside is that it does not conform to the look and feel of the other applications of a given platform.

(more…)

Debian packages for MoNav available

Wednesday, April 27th, 2011
openclipart.org, public domain

openclipart.org, public domain

Thanks to the work of David Paleino, Debian packages for MoNav 0.3 are now available. monav-data and monav-client also have been successfully tested on Ubuntu. monav.openstreetmap.de has been updated accordingly.

GPS accuracy of osm2go on the N900 while mapping house outlines

Tuesday, April 26th, 2011

A mapper who tried to map houses with osm2go (and who politely offered the above screenshot) asked whether the GPSr’s accuracy of the N900 was poor. The above screenshot suggests it is. For a couple of reasons, I doubt that the result would be (much) different using another device:

  • GPSrs are usually optimized to provide more accurate positioning data during movement. While moving slowly (e.g. as a pedestrian), you will see worse results regardless of the receiver used.
  • GPS reception is poor near walls. This behaviour also applies to devices like the WBT-201 or Garmin’s GPSMap. If possible, try to use a bike. Ride straight intersecting lines passing several buildings in one go instead of moving around each individual building.
  • Mapping house numbers in cities by foot usually requires some guesswork when entering the data after the trip. The set waypoints usually are offset by several meters.

I’m using the N900 for over a year now, and I’m very content with it, as I was aware of the aforementioned issues. It is a bit inaccurate while hiking, but on the bicycle it’s almost perfect.

Can MoNav do bike routing between the Tauber and the Main valley?

Tuesday, April 26th, 2011

On sunday (easter 2011) I got up early for a trip I was planning for some time now. I left cloudy Karlsruhe before 6AM, passing rainy Heilbronn and reaching sunny Lauda at 9AM. A nice trip along the lovely valley of the Tauber river began.

(more…)