Verständnisfrage

Hallo,
Ich nutze seit 2 Monaten ein GPS Gerät zum Geocachen, wandern und Fahrradfahren. Um “unnötige” Zusatzkosten zu vermeiden nutze ich von Anfang an Karten von OSM. Anfangs fertige Karten von Lambertus mit Installer und dannach die OpenMtbKarte weil sie für meine Verwendung besser geeignet ist. Da ich nun auch selber angefangen habe zu mappen würde ich aber gerne noch tiefer in die Materie einsteigen und auch selber meine Karten Kompilieren. Leider habe ich dabei aber etwas den Überblick bei der großen Anzahl an Software und Möglichkeiten verloren.
Ausserdem habe ich noch ein “größeres” Verständnisproblem zu den OSM-Daten welches sich hoffentlich schnell lösen lässt:

  1. Die OSM Daten (bei http://download.geofabrik.de/osm/ täglich in aktualisiert in kleine Pakete zerlegt - z.B. Sachsen - downloadbar / Sonst per Josm oder Exportfunktion bei OSM.org zu beziehen) beinhalten unzählige Informationen nach dem Muster: Koordinate x/y= Tag 1-x?

  2. Diese Daten können/müssen kompiliert werden. Dazu kann man mkgmap nutzen oder alternativ wenn man dies mit Schritt 1 Verbinden will auch den OSM-Composer?

  3. Bei diesem Schritt 2 wird eine Auswahl betrieben welche Daten von Schritt 1 benötigt werden und wie sie dargestellt werden?

  4. Die Daten liegen danach etwa folgender maßen vor: Koordinate x/y= stelle folgendes Bild dar?

  5. Spielen hier die Styles schon eine Rolle?

  6. Wenn ja: Gibt es eine Sammlung dieser Styles und wie sage ich dem Programm OSM-Composer bzw. mkgmap, welchen Style er verwenden soll?

  7. Diese kompilierten Karten kann ich dann in MapSource z.B. per MapSetToolKit laden. Dabei werden nur die Registry Einträge gesetzt? Warum kann ich dann hier ein TYP File auswählen welchen den “Style” “nocheinmal” verändert?

  8. Was ist also der Unterschied zwischen Styles die ich beim kompilieren angebe und den Typ Files?

  9. Warum sehen die gleichen Karten zum Teil bei MapSource anders aus als im GPS?

Um es auch noch etwas praktischer zu machen: Wie bekomme ich selber eine Karte erstellt die genauso aussieht wie die OpenMtbMap?

  1. Kartendaten laden bei PlanetDump oder Geofabrik!

  2. Kompilieren mit OSMComposer!

  3. Woher bekomme ich das Style bzw. muss ich sonst noch spezielle Einstellungen beachten?

  4. Ist diese Karte dann auch routable? Wenn nein wie bekomme ich sie dazu nach den selben Einstellungen wie die OpenMtbKarte zu routen?

  5. Danach den installer Ausführen und mich über die Karte im MapSource freuen!

Hallo,
erstmal vorneweg: Wenn du eine Karte möchtest, die wie die OpenMTBmap aussieht und wie sie routet, warum dann die viele Arbeit des nachahmens? nimm doch einfach die OpenMTBmap.

Um an den Style der OpenMTBmap zukommen, musst du den Autor fragen, ob er es dir zur Verfügung stellt, ansonsten musst du es versuchen im Composer nachbauen.

So viel ich weiß, sind die Karten, die aus dem Composer kommen nicht routbar. Wird aber bestimmt irgendwann auch kommen, oder Nop?

Ist natürlich eine berechtigte Frage. Derzeit nehme ich ja auch die Karten von OpenMtb. Ich würde aber halt gerne über kurz oder lang die “für mich perfekte” Karte haben. Und dazu würde ich halt gerne erstmal einen gewissen “Grundstamm” nutzen udn diesen dann an meine Bedürfnisse anpassen.

Außerdem wir die OpenMtb Karte soweit ich weiß maximal 1 mal wöchentlich aktualisiert. Das ist an sich schon ne feine Sache. Da ich aber auch selber Mappe habe ich halt auch das Bedürfniss Änderungen “sofort” in meiner Karte zu haben.

Warum kann OSM-C nicht routen? Also besser gefragt: Wann bekommt eine Karte die ja auch nur aus OSM-Daten besteht die Fähigkeit routeble zu sein und wie wird das gemacht, bzw. Was wird dort gemacht?

Hast du dir den Composer schonmal angeschaut? Der hat ja auch default Daten vorgegeben, die sich von der groben Optik nicht viel von der OpenMTB unterscheiden. Unter http://topo.geofabrik.de kannst du dir eine Web-Version der Karte anschauen. Die Karte ist aber eher für Wanderer und Reiter gedacht. Ich hab sie mir aber für meine Radel-Bedürfnisse umgeändert. Ich kann dir meine Einstellungen auch gerne zukommen lassen, wenn du möchtest. Aber ich bin eher ein Trekkingradler und kein MTB’ler. Dahingehend sind dann auch meine Wege gerendert.

Das Routing macht alles mkgmap. Wie genau das funktioniert, weiß ich allerdings nicht. Ich weiß aber, dass das setzen des Routing-Parameters es nicht getan ist.

Habe mir die "Standart"Einstellungen vom OSM-C schonmal angeschaut. Gefällt mir schon ganz gut. Würde diese halt auch gerne an meine Bedürfnisse anpassen und dies am liebsten in die Richtung von OpenMtbMap tun. Also die Routingfähigkeit vor allem.

Edit: um es eventuell etwas abzukürzen:
Ich will eigentlich gerne irgendwann zu dem Punkt kommen, dass folgende Bedingungen erfüllt sind:

  1. Ich lade mir wenn ich ein Update brauche die OSM Daten
  2. Ich erstelle mir “schnell” selber die Routenfähigen Karten die ich brauche (derzeit wohl 3 Stück: Wandern/Radfahren, Mountainbike, Auto)

Bisher scheitert es bei mir an folgenden Sachen:

  • routingfähigkeit
  • die wirklich geeigneten TYP-Files
  • Höhendaten gleich mit in die Karte schreiben (habe derzeit eine eigene Karte mit den Höhendaten)

Wegen dem Routing von OSM-Composer-Karten müsstest du mal Nop fragen, wie da der Stand der Dinge ist.

Das TYP-file erstellt der composer ja für dich aus deinen Vorgaben. Hier muss man ein wenig Anleitung lesen, wie man was einstellt und dann einfach munter drauf los Probieren. Nimm einen kleinen Ausschnitt, dann geht das rendern schneller. Beim Probieren solltest du auch alles immer neu berechnen lassen und regelmäßig den aktuellen Stand zu sichern. Ich hatte es häufig in meiner Probierzeit dazu kommen lassen, dass der Composer beim Berechnen abbrach und ich nicht mehr wusste, was ich seit der letzten funktionierenden Version alles geändert hatte. Da fing dann alles wieder von vorne an…

Höhendaten sind kein Problem für den Composer, solange du dich zwischen 60°N und 60°S aufhältst, außerhalb wird es etwas komplizierter, aber auch nicht wesentlich, man muss dann halt die Daten manuell herunterladen.

Allerdings würde ich mir die Frage stellen, ob wirklich alle 3 Karten tagesaktuell sein müssen. Aber das muss natürlich jeder selber wissen. Für 3 verschiedene Karten empfiehlt sich aber 3 Komposer anzulegen. Diese können aber auf den gleichen Planetfile drauf zugreifen.

Warum unterstützt Composer kein Routing?

  • zum einen kenne ich die Voraussetzungen selber nicht ganz genau, hab mich nur ab- und zu am Stammtisch aufgeschlaut. Es scheint aber ziemlich schwierig zu sein, wenn man Routing über Kachelgrenzen hinweg will und es ist leider nirgendwo dokumentiert, wie man mkgmap die Daten dafür aufbereiten muß.
  • für meine Anwendungen Wandern und Reiten benötige ich kein Routing. Ganz im Gegenteil, mit den Vorschlägen des Kfz-basierten Routings, das Höhenunterschiede ignoriert, wäre ich zu Fuß definitiv nicht einverstanden.
  • ich habe gelernt, daß für Routing nur die Straßentypen verwendet werden können, die Garmin dafür vorgesehen hat und die auch nur in den gleichen Rollen. In meiner Karte werden viele Linien zweckentfremdet eingesetzt um mehr unterschiedliche Dinge darstellen zu können (z.B. 5 unterschiedliche Feldwege bei OSM anstatt nur einem bei Garmin). Das müßte dann wieder reduziert werden.

Falls mal jemand vorbeikommt, der so begeistert mit Composer routingfähige Karten bauen will, daß er herausfindet, was genau mkgmap dafür erwartet, was Composer dafür tun müßte und der das Zeug ausprobiert, dann wäre das technisch wohl hinzubekommen.

Will ja nicht meckern, aber von meinen Eingangs aufgelisteten Verständnissfragen sind eigentlich noch keine beantwortet wurden.

Was ich gerne in Erfahrung bringen würde ist vor allem:

  • was ist der unterschied zwischen den styles udn den typ-files? (OpenMtb gibt seine Typ Files mit raus, sagt aber, dass er die Styles nicht veröffentlichen will. Bei OSMC werden hingegen beide mitgeliefert.)
  • wann werden der karte die informationen zum routen gegeben und wie geschiet dies udn wie sind die daten in etwa aufgebaut?

Will ja nicht meckern, aber von meinen Eingangs aufgelisteten
Verständnissfragen sind eigentlich noch keine beantwortet wurden.
Ohne jetzt alles gelesen zu haben, kommentiere ich jetzt einfach mal alles, wo ich etwas zu weiß…

Die OSM Daten geofabrik.de/osm täglich in aktualisiert in kleine Pakete zerlegt
Richtig, hier liegen KOPIEN der Daten im Rohformat, die 1x nachts gemacht werden.

Sonst per Josm oder Exportfunktion bei OSM.org zu beziehen
Richtig. Es gibt auch einen API-Zugriff zur Datenbank falls Du eigene Programme schreiben möchtest, z.B.

beinhalten unzählige Informationen nach dem Muster: Koordinate x/y= Tag 1-x?
Grob gesagt ja. Es sind hauptsächlich “Nodes” und “Ways” gespeichert, die alle bestimmte Eigenschaften haben und somit zueinander in Verbindung stehen.

Diese Daten können/müssen kompiliert
Diese kompilierten Karten
Nein. “Kompilieren” tut man Quelltexte von Software. Die Karten werden gezeichnet oder englisch “gerendert”. Wenn man fertig gerenderte Karten hat, liegen diese als z.B. GIF oder JPEG vor und können mit jedem Grafikprogramm angezeigt werden. Es gibt Formeln zum errechnen der Dateinamen.

Dazu kann man mkgmap
Ich kenne mkgmap leider nicht. Daher kann ich zu den meisten weiteren Fragen leider keine Antworten geben.

Grüße
Dennis

zu 8)

Der Style macht die Zuordnung OSM-Objekt → Garmin Objekt

Das optionale Typ File “sagt” dem GPS Gerät wie es ein bestimmtes Garmin-Objekt darstellen soll.

Style und Typ müssen also zusammen passen.

zu 9)

Wenn kein Typ-File verwendet wird, kommt der eingebaute Standard-Look zum Tragen, und
der kann in den einzelnen GPS Geräten und Mapsource unterschiedlich sein.

zu d)

Ob die Karte routable ist, bestimmt eine Option (–route) von mkgmap.

chris

Also ich hab mit dem OSM-C jetzt immernoch 3 entscheidente Probleme:

  • Ich bekomm die Höhenlinien nicht mit in die Karte gelegt weil die Fehlermeldung “srtm2osm call failed” kommt. NEU: Hab grad die neue Version von srtm2osm geladen und drüber installiert. Nun kommt keine Fehlermeldung mehr. Allerdings werden immer noch keine Höhenlinien in der Karte angezeigt?

  • Wenn ich die Karten auf das Garmin übertrage hat die Karte trotzdem “einen Gelben Hintergrund”. Also ich würde vermuten, dass die vorinstallierte Karte noch drunter liegt. Dies zeigt sich dann beim scrollen, in dem wenn er die Kartendaten läd kurz alles Gelb ist und in dem der Hintergrund von der Maßstabsanzeige Gelb ist. Kann man das irgendwie wegbekommen? Hab eigentlich schon die Vorinstallierte Karte ausgeschaltet?

  • Die Karte die der OSM-C erstellt ist bei mir zumindest im MapSource nicht Routenfähig?! Er erstellt immer nur Luftlinienrouting.

Einige Fragen wurden ja gerade beantwortet. Dafür Danke! Habe es nun auch ganz Gut hinbekommen die Karte zu erstellen und kann dann auch mit dem MapSetToolkit recht fix die verwendete Typ Datei ändern, die mir im MapSource angezeigt wird.
  • Kann man das verwendete TYP auch bei einer vorhandenen gmapsupp.img ändern?

Hat NOP doch oben schon beantwortet.

Habs noch nicht ausprobiert aber es müsste so gehen:

  1. Typ-File mit gmt aus der gmapsupp herausziehen.
  2. Typ-File ändern.
  3. Typ-File mit gmt wieder einbauen.

chris

Mit der aktuellen Version geht es egtl. ohne Probleme. Was hast du denn für Einstellungen für den Job genutzt? Lädt er denn im Laufe des Erstellprozesses die Höhendaten herunter?

Das ist normal, wenn du die Basemap aktiviert hast. Ansonsten hab ich keine Ahnung, aber es wäre sicherlich interessant, welches Gerät du benutzt.

Im Wesentlichen muss man nur die option --route angeben. Frueher war auch noch --net noetig, aber das glaube ich wird inzwischen automatisch gesetzte, wenn – route angegeben ist. Es lohnt sich auch mal wieder, sich den Hilfetext von mkgmap anzuschauen (ohne Parameter aufrufen). Der ist letztens mal gruendlich aktualisiert worden.

Was das Routing ueber die Kachelgrenzen angeht, so sollte man das Splitter-Programm von den mkgmap Machern nehmen, um die Kacheln zu erzeugen. Damit funktioniert das eigentlich ganz ordentlich, bei anderen programmen kann das natuerlich anders aussehen.

Naja, es waere schon mal besser als gar nichts. Im Fussgaengermodus routet Garmin soweit ich weiss auf allen erlaubten Wegen und Strassen mit einer konstanten Geschwindigkeit.

Da waere sicherlich Optimierungsbedarf beim Style. Ein “ordentliches” Routing kann man meiner Meinung nach nur erreichen, wenn man das Garmin-Navi im Automodus betreibt und die Access-Werte und die Strassen- und Wegeklassifizierungen auf die gewuenschte Anwendung hin umbiegt.
Mit meinen Versuchen in Richtung Rennradrouting bin ich da bisher eigentlich recht zufrieden. Da werden dann halt keine Autobahnen fuer das Routing zugelassen dafuer aber asphaltierte Feldwege, und eine tertiary Strasse bekommt eine hoehere Klasse zugewiesen als eine primary.
Nun ist beim Rennrad das Routing dem Auto ja deutlich aehnlicher als ein Reiter oder Wanderer, aber prinzipiell sollte es genauso gehen.

Gruss
Torsten

Finde auch, dass ein schlechtes Routing im Notfall immer noch besser ist als gar keins. und im Fussgängermodus bin ich bisher auch ganz gut “gefahren” mit den Routable Karten von Lambertus.

Ich bin nun soweit, dass ich OSM-C weggelassen habe und die Karten dir mit mkgmap render. So recht habe ich aber immer noch nicht verstanden wann dabei der Karte gesagt werden soll wie sie auszusehen hat und wie sie zu routen hat.

Derzeit stelle ich es mir folgendermaßen vor:

OSM-Datei: Kooordinate x/y: Tags

  • z.B. Koordinate 50,123/12,456: leisure=playground

anhand von einem Style welches ich mkgmap “übergeben kann” wird daraus:

  • alle playgrounds=Spielplätze

  • Ausserdem wird festgelegt welche daten der OSM Datei er überhaupt “übernehmen soll” und welche er ignorieren kann (wenn man keine Spielplätze will, dann könnte man in den Styles sagen, dass er die Daten nicht mit rendern soll)

  • zusätzlich werden “wertigkeiten” fürs Auto-Routing vergeben?
    ansonsten bleibt alles beim alten, dass die Karte nach dem Prinzip Koordinate 50,123/12,456: leisure=playground gespeichert ist?

und anhand des Typ Files (welches nachträglich der gerenderten Karte “zugewiesen werden kann”) wird dann:

  • Stelle Spielplätze mit folgendem Symbol dar?

Meine Fragen nun:

  1. wenn also im Style steht, dass wood und forest als Wald zu bezeichnen sind und im Typ dann steht, dass Nadelwald so und Mischwald anders dargestellt werden soll (Wald als Variable also nicht auftaucht), dann gibt es einen Konflikt und er weiß nicht wie “Wald” dargestellt werden soll?

  2. gibt es Standarts nach denen Styles und Typ Dateien verfasst werden? Habe schon bei einigen Karten verschieden Typ Dateien genutzt und nie großartige Probleme gehabt

  3. Habe aber bisher keine Anleitung gefunden wie man das Routing in den Styles beeinflussen kann. Gibt es sowas? Eine GUI gibts sicherlich hier nicht oder? Allgemein habe ich keine Anleitung oder kein Programm zur Bearbeitung der Styles gefunden?

Auch wenn oben jemand mal den Begriff “rendern” zur Kartenerzeugung extra als Verbesserung genannt hat, so finde ich ihn im Zusammenhang mit mkgmap doch ziemlich unpassend. (Ich glaube der Kommentar stammte von jemanden, der gar nicht weiss, was mkgmap ist.) Das deutsche Wort “erzeugen” sollte da etwas unverfaenglicher sein.

Auf der OSM-Seite hast du drei Listen von Elementen: Punkt, Linien und Relationen.

Ein Punkt besteht grundsaetzlich erstmal aus einer eindeutigen ID (einer Nummer) und seinen Geo-Koordinaten.

Eine Linie besteht ebenfalls aus einer ID sowie aus den Punkten, aus denen die Linie gebildet wird. (Genaugenommen sind die Punkte nicht Teil der Linie, stattdessen sind in der Linie Referenzen auf die Punkte gespeichert.)

Und eine Relation besteht ebenfalls aus einer ID sowie aus Punkten, Linien und anderen Relationen, die Mitglieder dieser Relation sind. Als Besodnerheit koennen die Mitglieder eine bestimmte Rolle haben, z.B. “inner” oder “outer” bei den Multipolygon-Relationen.

Jedes Element kann zusaetzlich bestimmte Eigenschaften haben, die durch eine Menge von Schluessel-Wert-Paaren abgebildet werden. Sowohl Schlüssel (key) als auch Wert (value) werden als Zeichenkette abgespeichert, und das komplette Paar bezeichnet man als Tag.

Auf der Garmin-Seite sieht das ein wenig anders aus. Alle Details vom Garmin-Format sind noch gar nicht verstanden, es gibt ja leider keine offizielle und freie Beschreibnung dafuer. Aber zum Verstaendniss ist vielleicht ein vereinfachter Ueberblick gar nicht schlecht.

Es gibt drei Arten von Elementen: Punkte, Linien und Flaechen.

Natuerlich enthalten alle drei die notwendigen Geo-Koordinaten, sonst wuerde am Ende ja keine Karte rauskommen.

Die weiteren Eigenschaften der Elemente können nicht frei per Tags definiert werden, sondern man muss sich auf die Unterscheidungsmerkmale beschraenken, die das Garmin-Format bereit haelt.

Fuer Punkte sind das im Wesentlichen:

  • der Name des Elementes
  • eine Typ-Nummer, mit der aehnliche Punkte zu einer Klasse zusammengefasst werden
  • eine Angabe, ab welcher Auflösung das Element angezeigt werden soll
    (Dazu kommen dann noch Adressinformationen und aehnliches, aber da hat man z.Z. eher weniger mit zu tun.)

Fuer eine Linie sieht das aehnlich aus. Hinzu kommen hier noch zwei Parameter fuer das Routing:

  • eine Strassenklasse (roadclass, von 0 bis 6) zur Unterscheidung Hauptstrasse vs. Nebenstrasse
  • eine Strassengeschwindigkeit (roadspeed, von 0 bis 6), mit der die Reisegeschwindigkeit gesetzt wird, die der Routingalgorithmus fuer diese Linie ansetzen soll.
    (Dazu kommen dann noch Access-Beschraenkungen, die z.Z. von mkgmap automatisch gesetzt werden.)

Und fuer die Flaechen gilt das Gleiche wie fuer die Punkte.

So. und nun kommt mkgmap ins Spiel. Im Prinzip macht mkgmap nichts anderes, als die Daten vom einen Format ins andere zu konvertieren. Und wie diese Konvertierug aussehen soll, wird ueber die Style-Dateien definiert.
So bedeutet z.B. die Zeile “amenity=restaurant [0x2000 22]” in der Points-Datei, dass Punkte in den OSM-Daten, die den Schluessel “amenity” und den Wert “restaurant” haben, in der Garminkarte zu Punkten der Klasse mit der Nummer 2000 (Hexadezimal) werden und ab der Aufloesungsstufe 22 auf der Karte sichtbar sind.

Und alle OSM-Elemente, fuer die keine passende Umwandlung in den Style-Dateien definiert sind, die koennen dann auch nicht auf der Garmin-Karte erscheinen.

Soweit im Prinzip der Anteil von mkgmap.

In der Typ-Datei ist nun festgelegt, wie nun die einzelnen Elemente auf der Karte angezeigt werden sollen, die zu einer bestimmten Klasse (Nummer) gehoeren. Fuer mehrere Klassen gibt es bereits vordefinierte Darstellungen, die auch bei den Garmin-eigenen Karten Verwendung finden. Wenn man sich bei der Konvertierung auf diese Klassen beschraenkt, so kommt man auch ohne Typ-Datei aus. Wenn man allerdings Klassen (Nummern) verwendet, fuer die nichts definiert ist, dann wird da auch nichts angezeigt. Insofern muessen also Style und Typ-Datei aufeinander abgestimmt sein.

Das ist jetzt nur ein grober Ueberblick, im Detail lauern da noch genug Fallstricke, die jetzt aber eher verwirren duerften.

Gruss
Torsten

VIELEN DANK!
Genau nach einer derartigen Erklärung habe ich gesucht!
Werde den Text jetzt noch paar mal lesen bis ich ihn hoffentlich ganz verstanden habe. :slight_smile:
Werde aber wohl danach nochmal paar Fragen formulieren.

Die Infos kenne ich natürlich alle, da steht aber nichts Hilfreiches. Den Splitter kannst Du nicht verwenden, da der keine Höhenlinien berücksichtigt und die Integration von Höhenlinien gerade eine zentrale Funktion von Composer ist. Man müßte wirklich den Sourcecode von mkgmap durchforsten um die notwendigen Infos zu bekommen.

Sehe ich anders. Wenn ein schlechtes Routing mich im Gelände 200 Höhenmeter runter und wieder rauf schickt, anstatt einen Taleinschnitt ebenerdig zu umgehen, dann hab ich lieber gar kein Routing und gute Höhenlinien, damit ich selber eine vernünftige Strecke auswählen kann.

Den Weg selber auswählen kannst du ja aber auch noch wenn die Karten Routable sind?!
Derzeit geht nur dein “Weg”. Wenn dem mkgmap noch --route mit gegeben werden würde, dann könnte jeder selber aussuchen ob er wie du selber nach dem richtigen Weg sucht oder ob er routen lässt oder am besten: Beides! Also routen lassen (kürzester Weg im Fussgängermodus?!) und dann nachschauen ob es einen besseren Weg gibt.

Wie mehrfach gesagt: Einfach --route mitgeben bringt kein sinnvolles Ergebnis.

Und wenn Du eine Route berechnen läßt, verdeckt sie (zumindest auf dem Vista) leider die Kartendaten, so daß Du selber nicht mehr vernünftig planen kannst.