Geschwindigkeit auf Garmin-Karte anzeigen lassen

Um erkennen zu können, wo bereits maxspeed erfaßt ist und damit zu erschließen, wo diese Angabe noch fehlt, möchte ich eine Karte bauen, welche mir maxspeed darstellt.
Früher mal habe ich in der lines-Datei folgenden Eintrag verwendet:

highway=* {set name = '${maxspeed}-${name}'}

Das hat funktioniert (ob das nach den breaking changes von letztem Dezember noch so gehen würde, weiß ich nicht).
Aber häßlich war’s. Und die Suche nach Adressen funktionierte nur, wenn man auch die Geschwindigkeit kannte. :roll_eyes:
Aber es gibt ja diese Schildchen, die die Straßennummer anzuzeigen pflegen. highway-symbol:hbox und so. Dazu braucht man noch die neue Funktion addlabel. Aber wie man das so zu einem Ganzen zusammensetzt, daß im Schildchen nun “80” statt “A73” steht, das finde ich nicht raus.
Ich kenne die mkgmap Mailingliste, und habe auch dort angefragt: http://gis.19327.n5.nabble.com/highway-symbol-for-maxspeed-td5818039.html aber keinerlei Rückmeldung erhalten. Wahrscheinlich Kopfschütteln über meine eigenwillige Interpretation der Funktionen bei unseren Experten…
Ich könnte verschiedene Linientypen verwenden, aber das macht die Karte allzu unübersichtlich (schließlich soll die Info, ob es sich um eine Landstraße oder Autobahn etc. handelt, nicht verloren gehen - macht über 50 Kombinationen). Daher hätte ich gerne Tips, wie das mit den Schildchen geht.

Hallo,

ersetze doch einfach
{ name '${ref|highway-symbol:box}… mit
{ name '${maxspeed|highway-symbol:box}…

“box” kann auch “hbox” oder “oval” sein. Von den anderen (US-)Highway-Symbolen würde ich abraten, manche Navis zaubern ein “Hwy” vor den Straßennamen.

Ach ja, die Anzeige der Symbole (Abstand) ist vom Zoom und von der Anwesenheit anderer Kartenelemente abhängig, sieht also willkürlich aus, das wird vielleicht auch nicht zufriedenstellend sein.

Besser ist vielleicht “–add-pois-to-lines=mid” - das dann auf einen eigenen POI-Type legen.

Wer remote den interessanten Overpass Workshop
https://lists.openstreetmap.de/pipermail/bonn-rhein-sieg/2014-September/001685.html
nacharbeiten möchte, findet in der Mail unten auch MapCSS Overpass Mix Beispiele.

Falls jemand Spass hat, kann er ja mal eine Maxspeed Overpass Turbo Map CSS Colo(u)r Abfrage erstellen :-).

Zur Einarbeitung in jedem Fall bewältigbar mit direkten Einsatznutzen für alle.

Christoph

Ich habe mal schnell eine erste Version gemacht:
http://overpass-turbo.eu/s/5cy

Grün für maxspeed in beiden Richtungen in numerischer Form
Blau für maxspeed in beiden Richtungen in nicht-numerischer Form
Rot für fehlenden maxspeed
Grau für Wege die üblicherweise kein maxspeed haben.

In der nächsten Version vielleicht noch einen color-code für verschiedene Geschwindigkeiten. Das scheint man aber manuell machen zu müssen, “eval” und Farbangaben mit rgb() vertragen sich anscheinend nicht.

Das sieht doch schon mal gut aus.
Danke dafür.

Kennen Sie http://www.itoworld.com/map/125 ?

Und hier gibt’s noch ein kleines Update:
http://overpass-turbo.eu/s/5cS

Einige weitere speziellere Tags sollten zumindest erkannt und nicht als Fehler markiert werden.
Die Breite der Linien hängt von der Zahl der Fahrspuren ab.

Wer möchte, kann den Style einfach kopieren, abspeichern und in JOSM als zusätzlichen MapPaint-Stil laden.

Danke für die Hinweise.
Overpas-API und ItoMaps sind recht hilfreich, wenn man zu Hause am Rechner sitzt.
Wenn ich unterwegs auf ein Ortsschild treffe, und wissen möchte, ob es erfaßt ist, genügt ein Blick auf die Karte (habe points und typ angepaßt). Wenn ich auf eine Geschwindigkeitsbegrenzung stoße, und wissen möchte, ob sie erfaßt ist, … Nun, da werde ich sicherlich nicht nach Hause fahren, die Overpas-API oder itoMap laden, und nachschauen. Das soll mir die Karte auf dem Garmin zeigen.
Die Zeile

highway=* & maxspeed=*  { name '${maxspeed|highway-symbol:box}' ;}

in lines führt dazu, daß der Name durch die Höchstgeschwindigkeit ersetzt wird. Symbole werdfen dadurch nicht sichtbar.

Könnte sein, dass die Symbole nur angezeigt werden, wenn sie zusätzlich vorhanden sind (ähnlich unerwartetes Verhalten wie bei obigem “Hwy”). Soll heißen, nur der maxspeed müsste ins Symbol, name (und ref) zwingend vorhanden sein und in den herkömmlichen String. Die Zeile wäre dann besser:

highway=* & maxspeed=* { name ‘${maxspeed|highway-symbol:box}’ ${name} (${ref}) | ‘${maxspeed|highway-symbol:box}’ ${name} | ‘${maxspeed|highway-symbol:box}’ ${ref} }

Dann kann man die übrigen Straßen auch weiter wie bisher codieren:
highway=* & maxspeed=!* { name ‘${ref|highway-symbol:box}’ …

Anmerkung:
QLandkarteGT zeigt die Symbole gar nicht an, sondern setzt den Inhalt des Symbols in Textform vor den Namen, was dann zu so einem Namen führt (weswegen ich die Symbole grundsätzlich weglasse):
S100 Hauptstraße (S100)