Routingfähige OSM Karten, selbergemacht!

Garmin fenix 7X und epix Gen 2 im Test

Der Schwerpunkt dieses Tests und Vergleichs der Garmin Fenix 7X Solar und Garmin Epix Gen 2 liegt auf den Sensoren wie Höhenmesser, Positionsbestimmung und Herzfrequenz. Was unterscheidet die beiden GPS-Outdoor-Smartwatches? Und wie gut ist die Taschenlampe der Fenix 7X für den Outdoorbereich? Hier geht es zum Test der Outdoor-Smartwatches ...
  • Danke für die Info, dass es grundsätzlich nicht funktioniert, aus der europe.osm eine Garmin routingfähige Karte zu erstellen (mit aktuellem Rechnereinsatz).


    Aber woher bekomme ich dann ausreichend Kacheln, um z.b. Stuttgart - Barcelona zu rendern für einen Urlaub oder so?


    Gruß
    René

  • Danke für die Info, dass es grundsätzlich nicht funktioniert, aus der europe.osm eine Garmin routingfähige Karte zu erstellen (mit aktuellem Rechnereinsatz).

    Aber woher bekomme ich dann ausreichend Kacheln, um z.b. Stuttgart - Barcelona zu rendern für einen Urlaub oder so?

    Gruß
    René



    Ich mache das mit osmosis. Ich lade mir z.B. komplett Europa von der Geofabrik runter und splitte dann den gewünschten Teil mit Osmosis.

    · Beispiel Deutschland bis Norditalien
    java -Xmx1024m -jar osmosis.jar --read-xml map.osm --bounding-box left="3" top="55" right="15" bottom="45" --write-xml mapklein.osm

    map.osm wäre z.B. komplett Europa (kannst auch map.osm.bz2 in osmosis angeben)... mapklein.osm ist dann der gewünschte, kleinere Kartenausschnitt.

    · Ecke oben links::
    · left = 3 = E3 in Mapsource = horizontaler Verlauf... 0 ist Greenwich, je höher desto weiter östlich... westlich von Greenwich wäre z.B. -3 (bzw. in Mapsource als W3 dargestellt)
    · top = 55 = N55 in Mapsource = vertikaler Verlauf... je höher desto weiter nördlich
    · Ecke unten rechts:
    · right = 15 = analog zu left also horizontal
    · bottom = 45 = analog zu top also vertikal

  • Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
    Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank...
  • Das Problem ist dass du die Routingfaehigkeit fuer ganz Europa mit Europa nicht behaelst. Sprich man kann besser gleich germany.osm runterladen.
    Sinn macht es wenn man zum Beispiel DE/AT/CH erzeugen will, fuer splitten vom europe.osm von geofabrik nicht genug Ram hat, aber eben innerhalb dieser Region dann noch volle Routingfaehigkeit haben will. Den Output von Osmosis dann halt nochmal mit dem mkgmap splitter auf Tilegroeße splitten.


    Fuer Germany.osm reicht mir 12x bei max-nodes aus. Niederlande sind am krassesten. Hier brauche ich 6x bei max nodes.

  • Das Problem ist dass du die Routingfaehigkeit fuer ganz Europa mit Europa nicht behaelst. Sprich man kann besser gleich germany.osm runterladen.
    Sinn macht es wenn man zum Beispiel DE/AT/CH erzeugen will, fuer splitten vom europe.osm von geofabrik nicht genug Ram hat, aber eben innerhalb dieser Region dann noch volle Routingfaehigkeit haben will. Den Output von Osmosis dann halt nochmal mit dem mkgmap splitter auf Tilegroeße splitten.

    Fuer Germany.osm reicht mir 12x bei max-nodes aus. Niederlande sind am krassesten. Hier brauche ich 6x bei max nodes.



    Germany reicht mir nicht... möchte halt die angrenzenden Gebiete nahtlos mit drauf haben... deshalb Osmosis... anschliessend splitter.jar (max nodes 800000 bis 900000 macht Sinn)... und dann halt mkgmap.jar.

    Hier meine eigene Anleitung, die auch funktioniert (für die anderen, die vielleicht noch rumprobieren):

    1.1.1 OSM in Mapsource integrieren

    1.1.1.1Aus rohen OSM-Dateien

    · Benötigete Software:
    · mkgmap http://wiki.openstreetmap.org/index.php/Mkgmap, http://www.mkgmap.org.uk/snapshots/, mkgmap in beliebiges Verzeichnis entpacken
    · splitter.jar, http://www.mkgmap.org.uk/page/tile-splitter, Download: http://www.mkgmap.org.uk/splitter/splitter.jar, um für mkgmap zu grosse OSM-Files in kleinere aufzusplitten, splitter.jar in das gleiche Verzeichnis wie mkgmap kopieren. Infos: http://www.mkgmap.org.uk/page/tile-splitter
    · mapsettoolkit, http://cypherman1.googlepages.com/
    · damit die Karte später schön aussieht, eine passende TYP File, z.B. von Computerteddy verwenden: http://openstreetmap.teddynetz.de/latest/teddy.typ
    · Beispiel OSMr "Deutschland bis Norditalien"
    · Europe File europe.osm.bz2 verwenden (http://download.geofabrik.de/osm/)
    · europe.osm.bz2 als map.osm.bz2 in Osmosis Verzeichnis kopieren
    · Hieraus nun einen kleineren Kartenausschnitt "Deutschland bis Norditalien" mit Osmosis erstellen / splitten (siehe auch oben), für grosse Files (z.B. komplett Europa) fehlt Hauptspeicher (auch bei -Xmx1300m):
    java -Xmx1024m -jar osmosis.jar --read-xml map.osm.bz2 --bounding-box left="3" top="55" right="15" bottom="45" --write-xml mapklein.osm

    · mapklein.osm mit splitter.jar in kleinere Stücke splitten, damit diese von mkgmap verarbeitet werden können:
    java -Xmx1300m -jar splitter.jar --max-nodes=900000 --mapid=77777110 map.osm
    · --mapid=77777110 lässt die Map-IDs z.B. bei 77777110 starten, als Eselsbrücke kann man dann später in diesem Beispiel die FID 7110 vergeben, Map-IDs und FIDs müssen alle unique sein
    · --max-nodes=900000 (falls grössere Zahl, dann werden die gesplitteten Files zu gross und mkgmap meckert, bei Problem auf 800000 oder kleiner setzen)
    · In Template.args den Namen 'OSM Map' in was Sinnvolleres umändern (hier z.B. ' OSMr MK Geofabrik', das ist dann die Bezeichnung, die später in Mapsource unter dem Kacheln-Tab sichtbar ist)
    · java -Xmx1024M -jar mkgmap.jar --route --tdbfile --latin1 -c template.args
    · --road-name-pois macht zusätzlich die Strassennamen zu POIS (Mapsource: Nächstgelegene Orte suchen... Geographische Punkte... künstlich):
    java -Xmx1024M -jar mkgmap.jar --route --tdbfile --latin1 --road-name-pois -c template.args
    · Es entsteht 77777110.IMG bis 777771xx.IMG plus eine overview 63240000.img plus eine 63240000.tdb
    · Diese Files in das permanente Mapsource Verzeichnis "S:\Garmin Backups\Mapsource Karten Other\ OSMr MK Geofabrik\ " verschieben. Ggf. auch schon gleich Teddy.typ hierhin kopieren.
    · Mapsourceeinbindung: siehe folgendes Kapitel


    1.1.1.2Mapsourceeinbindung von fertigen OSM-Daten (IMG Files)

    · Mapsettoolkit starten
    · Install Button
    · TDB laden (63240000.tdb)
    · Overview laden (63240000.img)
    · Convert to Families anhaken und eine noch nicht vergebene FID eintragen (hier 7110)
    · Registryname vergeben (hier OSMr Baden-Wuerrtemberg)
    · Ggf. Teddy.typ als Typfile
    · INSTALL Button
    · Das gerade erzeugte Kartenset mit Mapsettoolkit editieren, um z.B. die Draw Priority zu ändern oder den Mapset Namen zu ändern (hier OSMr Baden-Wuerrtemberg)
    · Mit TDBChanger04.exe CDMapSet und andere Namen anpassen (das ist der Name, wie er auf dem Garmingerät erscheint, hier OSMr Baden-Wuerrtemberg)

    · Fertig

  • Hi,


    danke für die sehr ausführliche anleitung. habe gestern mal die europe.osm mit "--bounding-box left="3" top="57" right="15" bottom="45"" verkleinert (also deine koordinaten + dänemark)....sind aber auch satte 9,6GB, die da rauspurzeln. Angesichts der 19GB der europe.osm, frage ich mich, ob er da nicht auch wieder beim splitten ne heap space meldung bringt.


    wenn man den bereich aufteilt, sprich
    left="3" top="57" right="15" bottom="50"
    left="3" top="50" right="15" bottom="45" bekommt man dann tiles mit überlappung oder sind die routingfähig am ende?


    vg rene

  • Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
    Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank...

  • Keine Ahnung mit Bereichsaufteilung, weiss auch nicht, wie man den final mit mkgmap zusammenführt?!?


    Wg. Splitter: Da hilft, je nach persönlicher PC Ausstattung, nur: Schrittweises Ausprobieren, welche Boxgrösse der Splitter (und nur der ist i.d.R. dass Ressourcenproblem) verarbeiten kann.

  • oje, das hört sich sehr nach try&error an... :(


    naja, die idee war, dass man mehrere boxen erstellt, die aneinanderrasten, diese dann splittet und die mapID's fortlaufend vergibt, in mkgmap wird dann alles zusammengefügt...
    ich probiers heut abend vllt mal aus. da das ja immer ne halbe ewigkeit dauert, runtergebrochen auf 1° boxgröße.


    gruß
    rene

  • Ich habe das mit den mehreren Boxen auch schon mal (erfolgreich) ausprobiert. Allerdings habe ich dazu die Boxen bei Osmosis jeweils etwas größer gemacht so daß sie sich überlappen und dann dem Tile Splitter von Hand gefertigte area.lists übergeben.

  • Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
    Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank...
  • So das splitten der Europakarte von Geofabrik geht. :D
    Nur das baun mit mkgmap geht nicht, da dieser dann in eine out of bound exeception reinläuft. Ist das gefixt steht einer routingfähigen Europakarte nichts mehr im Wege. Achja, ich hab ja sogar schon eine im alpha stadium. :D


    Serwas Marco

  • was heißt eurokarte im alpha-stadium? kann ich die dann auch haben? gibts eigentlich die seite noch wo man karten von dir runterladen kann?


    Übrigens: das weglassen von -enableassertions hat nix gebracht.....


    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
    at uk.me.parabola.mkgmap.CommandArgs.readArgs(CommandArgs.java:93)
    at uk.me.parabola.mkgmap.main.Main.main(Main.java:91)

  • was heißt eurokarte im alpha-stadium? kann ich die dann auch haben? gibts eigentlich die seite noch wo man karten von dir runterladen kann?


    Übrigens: das weglassen von -enableassertions hat nix gebracht.....


    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
    at uk.me.parabola.mkgmap.CommandArgs.readArgs(CommandArgs.java:93)
    at uk.me.parabola.mkgmap.main.Main.main(Main.java:91)


    Europa-Karte im alpha? Noja die war extrem Kacke eben. Da bestanden massive codepage probleme. Eben mit den Ländern die in ihrer Sprache auch für uns seltsame Zeichen benutzen. zB: Griechenland, Slowakei, Tschechien
    Davon bin ihc jetzt einige los geworden. Ich habe hier gerade eine Europa-Version am laufen. Die hat deutlich weniger codepage Fehler. Das routing funktioniert nur mit teilweise erheblichen Fehlern. Also wenn das routing geht dann gut aber es gibt Routen die kann er nciht berechnen. Meine Versuche waren bisher von "Irgendwo in der Oberpfalz nach Kiel" ergab einen Mapsource Fehler , nach Udine (Italien) geht hervorragen, nach Trieste rouotet er irgendwann Luftlinie, nach Konstantinnopolos(dingenkirchen) in Griechenland routet er auch Luftlinie. Bayern - Judenburg (Österreich) routet perfekt. Und die Routen übers Meer haun auch nicht hin. Da habe ich aber schon beim compilieren Fehler bekommen. Da müßte man evtl. die Fehler auch in den OSM Karten suchen. Ob jetzt die Routenführung immer sinnvoll ist habe ich noc nciht überprüft. Achja, die Umlaute gehen verloren, wobei diese sinnvoll duch u a und o ersetzt werden. Es ist eben eine Kompromisslösung der sich durch den codepage mischmasch ergibt. Wenn da jemand eine Lösung hat, dann her damit. :D Also ich würde die Karte jetzt nicht mehr als alpha, sondern sogar schon als beta bezeichnen. Man kann sie schon brauchen. Haben kannst du diese sicher.
    Meinen download gibts noch die Seite schaut besch... aus, aber sie läuft. Ich habe sogar eine mailingliste eingerichtet, da kann man sich eintragen um infos über neue Karten und updates zu erhalten. Die Europakarte ich noch nicht online. Da es sich hier um irgendwas um die 1,5GB, das dauert mit einem "einfachen" DSL ewig. Aber schau auf der Seite vorbei und du wirst fündig werden. http://maps.team-oid.de


    Achja, habe gerade festgestellt, dass das routen über sehr lange Strecken, dann auch funktioniert, wenn man Zwischenziele setzt. evtl. verhaspelt er sich dann irgendwo, oder der routinggraph stimmt noch nicht richtig, oder liegts am Speicher. Ich weiß es nicht. Bis jetzt jedenfalls.


    Serwas Marco

  • Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
    Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank...

  • Übrigens: das weglassen von -enableassertions hat nix gebracht.....


    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
    at uk.me.parabola.mkgmap.CommandArgs.readArgs(CommandArgs.java:93)
    at uk.me.parabola.mkgmap.main.Main.main(Main.java:91)


    Ich verkneife mir mal einen Vortrag über Assertions. mkgmap sollte man zur Zeit aber immer mit -enableassertions laufen lassen damit undefinierte Zustände erkannt werden. Andernfalls kann es passieren, daß das Programm zwar durchläuft, die Karte dann aber fehlerhaft ist.


    Deine Fehlerursache ist vermutlich diese: Eine der vom Tilesplitter erzeugten Kacheln ist noch zu groß. Das hängt damit zusammen, daß der Tilesplitter nur an der Zahl der Nodes entscheidet ob ein weiteres Unterteilen erforderlich ist. Tatsächlich darf aber auch die Zahl der Ways in einer Kachel nicht zu groß werden.


    Du mußt also die --max-nodes weiter heruntersetzen. Laß für Deine Tests Dänemark weg. Da gibt es noch viel mehr Schwierigkeiten mit den Daten.

  • Also für Dänemark mußte ich bis auf 600000 nodes runtergehn.


    Serwas Marco

  • ...ich könnt kotzen!
    via osmosis 2grad boxen erzeugt, diese dann durch den splitter m,imt max-node 600000 gejagt. arieas und templates angepasst...und karten erzeugt... raus kam das, was im bil zu sehen ist...da fehlt die hälfte!!


    [Blockierte Grafik: http://www.lipsiart.de/garmin/a.jpg]

  • Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
    Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank...
  • Ich verkneife mir mal einen Vortrag über Assertions. mkgmap sollte man zur Zeit aber immer mit -enableassertions laufen lassen damit undefinierte Zustände erkannt werden. Andernfalls kann es passieren, daß das Programm zwar durchläuft, die Karte dann aber fehlerhaft ist.


    Deine Fehlerursache ist vermutlich diese: Eine der vom Tilesplitter erzeugten Kacheln ist noch zu groß. Das hängt damit zusammen, daß der Tilesplitter nur an der Zahl der Nodes entscheidet ob ein weiteres Unterteilen erforderlich ist. Tatsächlich darf aber auch die Zahl der Ways in einer Kachel nicht zu groß werden.


    Du mußt also die --max-nodes weiter heruntersetzen. Laß für Deine Tests Dänemark weg. Da gibt es noch viel mehr Schwierigkeiten mit den Daten.


    Hi,


    wie soll ich Dänemark weglassen wenn es sich um ne Deutschlandkarte handelt? ;)



    @sxc625:
    danke für die URL!
    Vielleicht wär ein Upload zu filestore.to oder ähnlichem eine Option....dann brauchst du nur noch die links posten.

  • Hm bei der zoomstufe ist halt nicht mehr zu sehen.
    Oder wird das auch nciht mehr wenn du weiter reinzoomst?


    Serwas Marco


    ...ich könnt kotzen!
    via osmosis 2grad boxen erzeugt, diese dann durch den splitter m,imt max-node 600000 gejagt. arieas und templates angepasst...und karten erzeugt... raus kam das, was im bil zu sehen ist...da fehlt die hälfte!!


    [Blockierte Grafik: http://www.lipsiart.de/garmin/a.jpg]


  • Hm was soll das bringen? Die 900MB des zip files müssen erstmal von meinem Rechner runter, egal wohin und das dauert überallhin gleich lang. Ist das soein Filesharer? Dann machich das sowieso nicht, das dauert ja noch länger.
    Die Karte is jetzt dann bald oben und dann kanns losgehn.


    Serwas Marco

  • Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
    Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank...
  • @sxc625:


    doch, wenn man reinzoomt ist alles da, nur der splitter scheint keine aneinander andockende kacheln erstellt zu haben. hatte nur die auswählbaren karten aktiviert, damit man sieht, dass dies nicht sauber ist, was splitter.jar da macht. warum das so ist, weiß ich nicht.


    gruß
    rene

  • Du hast irgendetwas an den areas "angepaßt". Ist Dir bekannt, daß die Grenzen der Areas für mkgmap im Binärsystem runde Zahlen sein müssen? Ansonsten gibt es merkwürdige Überlappungseffekte.


    Mir ist auch noch nicht klar, warum Du mit osmosis 2x2° Kacheln ausschneidest. Die kannst Du wesentlich größer machen.