mkgmap: Zusammenhänge von road_class und road_speed

Hallo zusammen,

ich bastel gerade an einer eigenen routingfähigen Fahrradkarte. Ich habe jedoch keine Informationen gefunden, wie im Style von mkgmap das Zusammenspiel von road_class und road_speed genau abläuft.
Wird z.B. ein Weg mit hoher class und geringer speed grundsätzlich gegenüber einem Weg mit kleiner class und hoher speed bevorzugt?
Kommt für die Priorisierung des Weges evtl. auch noch der gewählte Wegetyp als dritte Variable ins Spiel (also z.B. 0x01 würde generell gegenüber 0x05 vevorzugt)?

Für Erfahrungswerte oder Links zu dem Thema wäre ich dankbar.

Gruß Ralf

Hi,
es gibt im Netz (Link müsste ich raussuchen) eine Doku zum cgpsmapper Programm das sehr viele Infos enthält.

Wird z.B. ein Weg mit hoher class und geringer speed grundsätzlich gegenüber einem Weg mit kleiner class und hoher speed bevorzugt?

Nach meiner Erfahrung hat die class den Haupteinfluss.

Kommt für die Priorisierung des Weges evtl. auch noch der gewählte Wegetyp als dritte Variable ins Spiel (also z.B. 0x01 würde generell gegenüber 0x05 vevorzugt)?

Nach meiner Erfahrung: ja. Man sollte beim Kartenbauen also möglichst die von Garmin vorgegebenen Standards einhalten.

Edit: Hier der Link zum cgpsmapper Manual (zu road class siehe Seite 53) : http://www.cgpsmapper.com/manual.htm

daraus z.B.:

Chris

Tja, was soll man da sagen…außer dass es ein bisschen BlackBox-Spielen ist. Die Karte an sich liefert ja nur die Daten und das Gerät (mit seiner Firmware) oder die Software (Mapsource & Co) verwursten diese Daten nun zu einer Route. Zum einen macht es jeder Verwurster anders und zum anderen sagt Garmin nicht, wie es die Wurst erstellt.

Vom Typ hängt aber ab, welcher Weg überhaupt geroutet werden kann. Für den Rest braucht man viel Ausdauer und Zeit für Try’n’Error.

Vielen Dank für den Link. Interessant find ich die Aussage, dass die höheren road_classes verhältnismäßig sparsam eingesetzt werden sollen. Das ist in einigen styles aber scheinbar anders umgesetzt.
Insbesondere für das Fahrradrouting (nur auf ruhigen Nebenstrecken fahren) würde ich anhand der Doku annehmen, das fast alle Wege die road_class=0 erhalten sollten und das Routing letztendlich per road_speed eingestellt wird.

Könntest du mir evtl. noch zu einer generellen Verständnisfrage zum style behilflich sein?
Ich habe in einem fertigen style z.B. folgende Einträge gefunden:

highway=path {add delivery=yes; add bicycle=yes; add foot=yes}
highway=path {add name=‘Pfad’}
highway=path {add toll=yes} [0x16 road_class=0 road_speed=1 resolution 22]

Ich meine es verstanden zu haben, dass der style bis zu einer “wahren” Bedingung läuft und dann mit dem nächsten Objekt wieder von oben anfängt. Soll es weiterlaufen, müsste man ein “continue” anhängen.
In dem Beispiel dürfte das style doch nie bis zur 2. oder 3. Zeile kommen.
Wieso funktioniert das?

Gruß Ralf

Das entscheidnede hierbei ist, dass die ersten beiden Regeln reine Action-Rules sind, d.h. es werden keine Elemente fuer die Garminkarte erzeugt (es gibt keinen Block in eckigen Klammern). Bei diesen Regeln braucht man kein continue, dass continue braucht man nur, wenn aus einem OSM Objekt mehrere Garmin-Objekte erzeugt werden.
In diesem Zusammenhang sei auch auf das continue_with_actions hingewiesen. Meist ist das eher angebracht als das einfache continue. Der entscheidende Unetrschied ist, ob die der Action-Block einer Regel nur fuer das in dieser Regel erzeugte Garmin-Element verwendet wird, oder aber od die folgen dieser Aktionen auch bei anshcliessenden Regeln noch wirksam sind.

Gruss
Torsten

Ok, Action-Rules laufen also weiter, bis ein Garmin-Element erzeugt wird.
Dann wiederum verstehe ich allerdings folgende Einträge aus dem default style nicht:

highway=primary {name ‘${ref|highway-symbol:box} ${name}’ | ‘${ref|highway-symbol:box}’ | ‘${name}’; add display_name = ‘${name} (${ref})’ }
highway=secondary {name ‘${ref|highway-symbol:oval} ${name}’ | ‘${ref|highway-symbol:oval}’ | ‘${name}’; add display_name = ‘${name} (${ref})’ }
highway=* {name ‘${ref} ${name}’ | ‘${ref}’ | ‘${name}’ }

Hier müsste doch dann immer das 3. highway ausgeführt werden, so dass die in der 1. und 2. Zeile gesetzten Highway-Symbole zum Schluss wieder entfernt werden.
Warum passiert das nicht?

Gruß Ralf