Routingfähige OSM Karten, selbergemacht!

  • Hi,


    also ich hab mir jetzt mal die Gaudi mit dem selbstgebauten Karten angeschaut und auf den ersten Blick sieht das relativ einfach aus, was sich auf dem 2ten Blick als falsch herausstellt. :mad::D
    Also ich hab mir für den Einstieg, damit ich mal Karten habe, die vom Radomir runtergeladen. Die wären perfekt, wenn aktueller. Also hab ich mir gedacht ich bau mir dem Krempel selber. Gut, also mal ganz Deutschland runtergeladen, mit osm2mp im mp umgewandelt, mit mkgmap --route in img convertiert und mit dem MapSetToolkit und dem cgsmapper in Mapsource installiert. Super Karten sind da auch im Mapsource, nur irgendwie sehen die garnicht so aus wie die vom Radomir. Also ein andere typ File organiersiert und das compiliert. Wieder nix. Es ist viel zuwenig Information drin. Strassen fehlen und das schlimmste: Umlaute und ß gehen nicht, obwohl ich auf codepage 1252 oder auch schon auf 850 umgestellt habe.
    So nur meine Frage, was mach ich falsch?


    ./osm2mp.pl --codepage 1252 data1.osm > data1.mp
    java -jar mkgmap.jar --mapname=$mapname --latin1 --route data1.mp


    So hab ich die Tools mal gestartet. Kann mir einer einen Tip geben in welche Richtung is schaun muß. Oder habe ich einen vollkommen flaschen Ansatz oder irgendwas falsch verstanden?


    Mir gehts jetzt nicht darum dass ich der große Kartenbauguru werde. Ich möchte nur einfach aktuelle routingfähige Karten haben.
    Danke schon mal.


    Serwas Marco


  • Jetzt stellt sich nur noch die Frage wo meine Strassen hin verschwinden?


    Hallo Marco,
    mal vorne weg: Ohne zu wissen um welche Karten es sich genau handelt ist es schwerer dir zu helfen. Wie kommst du darauf das jeder Radomir und seine Karten kennt? Um welche Karten handelt es sich genau? Wo findet man die ?


    Also ich würde evtl. so vorgehen:
    Ein Objekt(Strasse etc.) identifizieren das in deiner Karte scheinbar nicht und in der Vergleichskarte aber vorhanden ist.
    Nachschauen ob dieses Objekt in den Eingangsdaten(osm) vorhanden ist.
    Nachschauen ob dieses Objekt in den MP-Ausgangsdaten nach osm2mp noch vorhanden ist.


    Evtl. liegt es aber auch nur an der Verteilung der Objekte auf die Datenlevel. Vielleicht ist die bei der von dir erstellten Variante ja anders und einige Objekte werden erst dargestellt wenn du weiter reinzoomst in die Karte bzw. auch den Detailgrad in MS oder GPS heraufstellst.


    Ich würde dann evtl. auch noch hingehen und mir anschauen was cgpsmapper(freie Version reicht um zu testen ob mkgmap vielleicht was schlabbert) aus dem mp-file macht.


    Gruss Papaluna

  • Hallo Papaluna,


    es geht um diese Karten hier, welche meines Wissens derzeit die einzigen routingfähigen OSM-Karten von Deutschland für den Garmin sind. Dein Einwurf ist natürlich korrekt, da dieses Forum zumindest dem Titel nach nicht nur auf Garmins beschränkt ist.


    Leider hat besagter Radomir seit Oktober nichts mehr produziert. Seine Ergebnisse exakt nachzubilden wird nicht einfach sein, da er ein eigenes Konversionstool entwickelt und den Quelltext davon nicht veröffentlicht hat.

  • Genau wvhansen hat den richtigen Link. Mir war er gerade nicht bei der Hand und ich dachte, Radomir wär ein Begriff. Sorry.
    Jo genau das ist der Grund dass Radomir die Karten gerade nicht aktualisiert. Da ich nicht nur nehmen sondern auch geben will habe ich mich eben mal daran versucht diese Karten selber nachzubaun.
    Kann es möglich sein dass das Fehlen der Strassen durch ein falsches oder nicht komplettes typ File zustande kommt?
    Ich frage mich ebenso was der cgpsmapper mit den von mkgmap generieten img macht? Baut der diese nochmal um? Ist es evtl. möglich dass mkgmap die Karten richtig machen würde, cgpsmapper aber dann was falsch macht? Ich hab den immer benutzt um die Karten in Mapsource zu installieren, was anscheinend nicht norwendig ist?


    Es fahlen ja nicht nur Strassen sondern auch Flächen. Als TYP file habe ich das benutzt welches auf der MapTK Seite zum Download zur Verfügung steht. Das TopoV2.prj -> typ file compiliert.


    Werde heute nochmal einen Versuch starten. Irgendwann wird schon was.


    Serwas Marco

  • Nochwas, wenn man die OSM Daten per API runterlädt.
    Also so:


    curl -L --limit-rate 30K "http://www.informationfreeway.org/api/0.5/map?bbox=6,49,7,50" -o data1.osm


    dann bekomme ich doch auch wirklich alle Informationen die für diese Koordinaten verfügbar sind oder? Also am Download kann nicht liegen?
    Das wollte nur ausschließen.


    Serwas Marco


  • dann bekomme ich doch auch wirklich alle Informationen die für diese Koordinaten verfügbar sind oder? Also am Download kann nicht liegen?


    Hallo Marco,


    da kann ich leider nichts zu sagen, da ich mich bis dato nur mit dem Programm mkgmap und nicht mit der osm Datenbasis beschäftigt habe.


    Gruss Papaluna


  • Kann es möglich sein dass das Fehlen der Strassen durch ein falsches oder nicht komplettes typ File zustande kommt?


    ja, IST SEHR WAHRSCHEINLICH. Bevor Du weiter rätselt,klär erst mal das auf. Ermittle, welche Typs verwendet werden und vergleiche welche im Typfile drin stehen. Und bei OSM gibt es eine böse Falle : Type=0x0 ist eine Strasse. Das kann Mapedit aber nicht cgpsmapper. Es ist sicherer 0x0 durch 0x4 zu ersetzen.


    ich frage mich, was Du mit cgpsmapper machst. Wenn Du die imgs von mkgmap hast, was soll dann cgpsmapper ?. Wäre nur erforderlich ,damit die TDB und Übersicht zu erzeugen, falls die fehlt. Dabei liest cgpsmapper nur die Grenzen und Mapnamen aus aber verändert nichts an den img. Falls Du etwa die mp nochmal durch den cgpsmapper sendest, gängen ja die Routing -infos verloren. Es sei denn Du hast eine Vollversion, was ich nicht vermute. Irgendwie sehe ich keine Strategie in Deinem Vorgehn bzw. Du schreibst es nicht, wie Deine Strategie ist.
    morgen1


  • Kann es möglich sein dass das Fehlen der Strassen durch ein falsches oder nicht komplettes typ File zustande kommt?


    Ja. Wenn in der Karte sogenannte 3-Byte-Typen oder richtiger Erweiterte Typen vorhanden sind, werden diese nur angezeigt, wenn diese auch in dem Typ-File definiert sind.


    Allerdings weiss ich nicht ob mkgmap überhaupt die erweiterten Typen generieren kann.



    Ich frage mich ebenso was der cgpsmapper mit den von mkgmap generieten img macht? Baut der diese nochmal um? Ist es evtl. möglich dass mkgmap die Karten richtig machen würde, cgpsmapper aber dann was falsch macht? Ich hab den immer benutzt um die Karten in Mapsource zu installieren, was anscheinend nicht norwendig ist?


    Die Detailkarten werden nicht verändert.
    Gruss papaluna


    P.S


    Schon wieder zu langsam gewesen. Aber ich habe gerade es mal ausprobiert. mkgmap scheint in der Tat erweiterte Typen zu generieren. Und die werden ohne Typ-File nicht dargestellt.

  • Hallo Marco,


    vielleicht startest du mal mit den Basics bevor du wild herumkompilierst.


    Anton


    Hm, da magst Du recht haben. Aber das macht halt leider nicht soviel Spaß. :rolleyes:
    Ich werds wohl tun müssen. Hin und wieder muß ich es aber probieren sonst mach ich nicht weiter.


    Serwas Marco


  • ich frage mich, was Du mit cgpsmapper machst. Wenn Du die imgs von mkgmap hast, was soll dann cgpsmapper ?. Wäre nur erforderlich ,damit die TDB und Übersicht zu erzeugen, falls die fehlt. Dabei liest cgpsmapper nur die Grenzen und Mapnamen aus aber verändert nichts an den img. Falls Du etwa die mp nochmal durch den cgpsmapper sendest, gängen ja die Routing -infos verloren. Es sei denn Du hast eine Vollversion, was ich nicht vermute. Irgendwie sehe ich keine Strategie in Deinem Vorgehn bzw. Du schreibst es nicht, wie Deine Strategie ist.
    morgen1


    Meine Strategie? Bis jetzt habe ich keine. Das denke ich ist das Hauptproblem. Ich habs jetzt mal versucht und gesehen dass es net so einfach geht. Also muß ich doch zum Guru mutieren. :D
    Ja genau das fragete ich mcih ja auch was ich dann eigentlich noch mit dem cgpsmapper machen sollte. Der erstellt mir jetzt nur die Übersicht und das tdb file. Wer kann das noch? UNd nein ich habe nicht die Vollversion.
    Ich seh schon da muß ich noch viel Arbeit, Zeit und Schmalz reinstecken.


    Serwas Marco

  • Ahhhhrgh, schwerer Anwendungsfehler. Ich hau mir die Birne durch die Wand. Ich wunder mich ständig wo das Übersichts img und die tdb file herkommt. Das erzeugt das mkgmap, aber nur dann wenn man als input meherer files angibt.
    Ich alter Skripter hatte natürlich auch ein solches geschrieben welches jedes input file mit einem neuen Aufruf erzeugt. Da kanns ja nicht gehn.
    Wieder ein Fehler behoben.


    Serwas Marco

  • sonst per --tdbfile generieren.


    Was mkgmap macht, kannst du in den config style-files einstellen. Ich habs bisher aber noch nicht mit routbaren karten versucht, da warte ich biss es ohne mp Umwandlung geht.

    openmtbmap.org
    Garmin Mountainbike / Fahrrad / Wander Karten weltweit - mit intelligentem Autorouting für MTB, Fahrrad oder Wanderer
    [SIGPIC][/SIGPIC]
    www.velomap.org -- Weltweite Karten für Touren- und Rennradfahrer

  • So wieder ein Schritt weiter. Die Umlaute sind da und die Anzahl der Strassen sieht vernünftig aus. Nur komm ich mit dem Zoom noch nicht ganz klar.
    Und mkgmap bringt mir eien Assertion Error, etz muß ich auch noch java bugs fixen. Prima. Nagut, dann mach ich mal morgen weiter.


    Serwas Marco

  • So jetzt habe ich schon mal ein Ergebnis. Ich habe es geschafft Karten zu erstellen.
    Leider haben diese noch Problem mit dem routing. Da mach ich anscheinend noch was falsch. Ich kann die Karten in Mapsource einbinden und sie werden garnichtmal so schlecht dargestellt. Gut man muß noch dran arbeiten. Wenn ich versuche eine Auto-Route zu erstellen dann bricht MS mit einem Fahler ab. Fehlermeldung ist nichtssagend. Von den bisherigen Karten kannte ich dass man da Kacheln auswählen konnte. Dies geht bei mir unr an ein paar Stellen. Die anderen Stellen sind nicht markierbar. Ansonsten läufts. :D
    Hier mal ein Screenshots:


    http://www.team-oid.de/upload/zoom_2km.jpg
    http://www.team-oid.de/upload/zoom_1km.jpg
    http://www.team-oid.de/upload/zoom_300m.jpg
    http://www.team-oid.de/upload/zoom_100m.jpg



    Serwas Marco



  • Wenn ich versuche eine Auto-Route zu erstellen dann bricht MS mit einem Fahler ab. Fehlermeldung ist nichtssagend.


    Geht es gar nicht eine Autoroute zu erstellen? Probier einfach nur mal eine kurze Strecke.
    Ohne die MS-Fehlermeldung zu kennen, vermute ich einfach mal das irgendwo auf der zu berechnenden Strecke ein Bruch im Routingnetz ist und es keinen verbunden Weg zum Ziel gibt(= Fehler in den Daten).



    Von den bisherigen Karten kannte ich dass man da Kacheln auswählen konnte. Dies geht bei mir unr an ein paar Stellen. Die anderen Stellen sind nicht markierbar.


    Ich könnte mir im Moment folgendes vorstellen:
    Für jede Detailkachel muss eine Definitionsobjekt als Polygontyp 0x4a in der mp-Datei der Übersichtskarte vorhanden sein.
    Wenn für eine Detailkachel(img) ein solches Objekt fehlt ist dieses in MS nicht auswählbar.
    Denkbar wäre auch noch das die Größe dieses Polygons nicht richtig ist(gleich der Größe der Kachel der Detailkarte ist). Dann hättest du in deiner Karte in MS auch Bereiche wo keine Kartenauswahl(durch draufklicken auf die Kachel) mit dem Auswahlwerkzeug möglich wäre.
    Wenn du dann aber einfach mit dem Auswahlwerkzeug eine Fenster aufziehst das das komplette Kartenset umfasst wird auch diese Karte ausgewählt.


    Du kannst ja zur Kontrolle auch einfach mal bei niedrigster Detailstufe rauszoomen bis du die Auswahlkacheln gut sehen kannst. Da kanst du ja sehen ob eine fehlt oder nur zu klein ist.


    Gruss papaluna

  • Also routing geht überhautpnichts.
    Ich bekomme eine ziemlich lange nichtsagende Fehlermeldung in xml.
    Aber es wird von einem File: MPL_CALCROUTE.CPP gesprochen.



    Ich denke dass hier irgendwo Routinginformation fehlt. Nehme ich eine andere Karte lassen da die Route erzeugen und schalte auf meine um, dann liegt diese richtig.


    Wegen der Kacheln, sieht es so aus wie Du vermutet hast. Ich habe genausoviele Kacheln zur Auswahl wie ich img files habe. Nur sind die Kacheln zu klein.
    Muß ich dann beim mp erzeugen die Kachelgröße mit angeben? Kanns daran liegen?


    Serwas Marco

  • Hi, Marco


    1. zum Routing
    ich denke das es evtl. an der Art liegt wie du die Karte in MS eingebunden hast. Nach meinem Kenntnisstand müssen bestimmte Informationen in der .tdb eingetragen sein damit das Routing und gegebenenfalls auch die Übertragung auf das Gerät funktioniert.
    Es gibt verschiedene Möglichkeiten der Einbindung. Ohne Kenntnis wie du es machst müssen ich und andere spekulieren.
    Eine Einbindung via Mapsettollkit z.B. funktioniert nämlich in Bezug auf die Routingfähigkeit nicht.


    Die einzige mir derzeit bekannte Variante eine Karte sauber routingfähig zu erstellen und in MS einzubinden erfolgt mit cgpsmapper(Personal version 30Tage Trial verfügbar oder übers mapcenter2 von cgpsmapper).


    2. Kachelgröße
    Sollte eigentlich automatisch passend zur Detailkartengröße erstellt werden. cgpsmapper macht dies jedenfalls.


    gruss papaluna

  • Marco,


    nur mal so zwei Gedanken zu Deinen Routingproblemen:

    • Verwendest Du auch die spezielle Routingversion von mkgmap mit der --route Option?
    • Über Kachelgrenzen geht das Routing nicht ohne weiteres. Du solltest Deine Versuche daher zunächst mit einer einzelnen Kachel durchführen.