Winterwanderwege

Hallo,

unsere Gemeinde hat ein paar Winterwanderwege ausgezeichnet, die mit lilafarbenen Wegweisern ausgeschildert sind und im Winter geräumt werden. Teilweise führen die an vorhandenen Wegen entlang, teilweise aber auch quer über Wiesen (dafür müsste man neue Linien anlegen).

So wie ich es verstanden habe, müsste man Wanderwege als Relation anlegen. Die fehlenden Stücke über Wiese müsste ich dann wohl erst mit piste:type=hike anlegen, oder?

Muss ich die vorhandenen Wege auch zusätzlich mit piste:type=hike taggen? Dann müsste ich die wohl aber vorher aufspalten, wenn nicht das gesamte Stück für den Winterweg genutzt wird, oder?

Mein Ziel ist es, dass ich diese Winterwanderwege mit mkgmap in ein Garmin-Overlay verwandeln kann. Relationen werden aber vermutlich nicht im mkgmap berücksichtigt, oder?

Wie wäre das richtige Vorgehen?

Ja, alles richtig, IMHO.

mkgmap kann auch mit Relationen umgehen.

Für die Auswertung via mkgmap brauchst Du eigentlich keine Relation befragen - Du kannst ja direkt “piste:type=hike” abfragen und als Weg rendern. Wenn es aber unbedingt über die Relation sein soll hier als Beispiel wie ich es für Wanderwegrelationen mache: In “style/relations” (neben weiteren Taggingvarianten für Wanderwege):

type=route & route=hiking {apply {set gpxtours=hikingroute}}

Das so hinzugefügte Tagging “gpxtours=hikingroute” an allen Wegen der Relation kann ich dann wieder in “style/lines” noch vor den anderen Wegen abfragen. Beispiel:

highway=path & gpxtours=hikingroute [0x0a level 2]

Wichtig in diesem Fall, dass die generelle Abfrage von “highway=path” dann erst später erfolgt.

Für die Linien selber bräuchte ich die nicht, aber den Namen des Rundwegs bekomme ich nur über die Relation raus, und den hätte ich gerne dabei stehen.

Danke für das Beispiel. Habe es jetzt hinbekommen dass die Route in meinem Overlay-img mit Name erscheint. Ein Problem habe ich aber noch: ich würde die Route gerne, wie in gedruckten Karten üblich, etwas fetter und in Farbe zeichnen. Ich bekomme das aber nicht hin. Alle Farbangaben und Linienstärken die ich im Typ-File definiere, ignoriert mein Garmin Oregon 400t. Kann es sein, dass manche Garmin GPS bei Linien die Typ-Definitionen ignorieren?

Beispiel:

[_line]
Type=0x16
LineWidth=8
UseOrientation=Y
XPM="0 0 1 0",
"a c #f608dc",
String1=0x04,Way
String2=0x02,Winterweg
[end]

und


gpxtours=hikeroute {name '${route_name}' | 'Winterwanderweg'} [0x16 resolution 22]

müsste eigentlich eine fette lila Linie ziehen. Tut es aber nicht, es kommt die gleiche Linie wie immer.

Noch ein Problem: jetzt habe ich einen Winterwanderweg, der geht einmal rund ums Dorf und nutzt sehr viele Teilstücke von Strassen. Wenn ich immer nur das jeweilige Teilstück in die Relation aufnehmen möchte, dann muss ich die Linien an den entsprechenden Abzweigungen aufspalten. Dadurch werden die Strassen aber ziemlich “zerstückelt”. Ist das ok so, oder gibt es da noch eine andere Vorgehensweise?

Ich sehe das als ziemliches Problem an. Wenn später jemand die Strassen bearbeitet, und Stücke zusammenfügt, oder weiter aufsplittet, dann wird ja meine Relation “zerstört”.

Je mehr Relationen solche Teilstücke verwenden, umso weniger wird das Ganze noch handhabbar.

Es gibt zwar wenige Type-Werte mit denen ich hierzu schon Schwierigkeiten hatte … aber die Darstellung eigener Linien funktioniert eigentlich immer. “0x16” nutze ich selbst und funktioniert. Die Ursache weshalb es bei Dir nicht klappt kann man wohl nur herausfinden, wenn man den gesammten Ablauf Deiner Kartenerstellung Schritt für Schritt im Detail betrachtet, aber ein kleiner genereller Anfang:

So wie ich Dein “alle Farbangaben und Linienstärken die ich im Typ-File definiere, ignoriert mein Garmin” verstehe kannst Du auch bestehende, die dargestellt werden, nicht abändern? Dann wird vermutlich die ganze Typ-Datei nicht bei der Kartenerstellung verwendet.

Kannst Du das Typ-File direkt compilieren? “java -jar mkgmap typdatei.txt” - da sollte eine binäre Typdatei rauspurzeln. (BTW, ich compiliere erst meine Typ-Datei, und verwende das dann zum rendern der Karte.)

Und ganz wichtig: Reihenfolgen. Eigene Definitionen greifen nur, wenn nicht schon früher eine andere Definition Deine Kandidaten abgefangen haben. Also hinten anhängen eigener Sachen an bestehendes ist nix…

Ist Dein Style auch gültig? “java -jar mkgmap.jar --style-file=Dein/Style/Verzeichnis/ --list-styles” - da sollte Dein eigener Style aufgelistet werden.

Ist aber alles fischen im trüben - Ferndiagnose ist praktisch nicht möglich ohne konkreteres zu haben.

Ja, das ist normal und geht nicht anders. Keine Bange, richtiges Hackfleisch ist das noch nicht.

Baßtölpel

Ich hab da jetzt noch ein bisschen rumgetüftelt, und langsam habe ich das Gefühl das Garmin cached da irgendwas. Also: Schritt 1: im funktionierenden Typ-File meiner Wanderkarte habe ich den Typ 0x0e auf die Farbe rot (0xff0000) geändert. Hat geklappt, die entsprechenden Wege stellt er jetzt rot dar. Dann den gleichen Typ in meinem Winterwege Overlay verwendet, klappt auch, Winterwege sind jetzt rot.

Schritt 2: Farbe in Lila geändert → Keine Änderung, Weg ist weiterhin rot. Komisch, kann er vielleicht nur die Grundfarben? Also:

Schritt 3: Farbe in Blau (0x0000ff) geändert. Weg immer noch rot. Batterie entfernt und wieder rein → Weg bleibt rot.

Was zum Teufel ist denn das?

Sicher, dass Dein Overlay auch vor der normalen Karte ist? Overlay mal alleine verwendet? Einen Cache gibt es m.W. hier nicht. Testen auf dem Garmin wäre mir aber auch zu umständlich, QLanbdkarte GT oder QMapShack tuts auch um Garminkarten gleich auf dem Rechner zu sehen.

Ich glaub ich hab die Ursache: ich vermute, wenn mehrere Karten unterschiedliche Typfiles verwenden, dürfen sie nicht die gleiche Familiy-ID haben. In dem Overlay hab ich die jetzt geändert, und nun scheint es zu klappen.

In QLandkarte muss ich mich erst noch einarbeiten, dazu fehlt mir aber momentan die Zeit. Hab keinen Peil welche Optionen/Files man braucht um die Karten anzuzeigen.

Fur tagging:
Way: piste:type=hike, piste:grooming= classic (backcountry mit snowshoes).
Relation: type=route, route=piste, piste:type=hike, piste:grooming= classic.