Anfänger möchte eigene Karte erstellen

Hallo Zusammen,
erstmal vorneweg: Ich bin im Bereich OSM Anfänger und ich habe die Suche bemüht, leider nichts gefunden. Oder ich bin blind :roll_eyes:

Ich erzähle erstmal was ich machen möchte:
Ich habe eine Goldwing mit eingebauten Garmin Navi von 2010. Bis dato habe ich immer OSM Karten genutzt. Da das Navi keine Karten größer als 2 GB verarbeiten kann, habe ich mir immer “eigene” Karten erstellt. Für meinen Wirkungskreis habe ich die BeNeLux und West Deutschland (solange bis die 2 GB erreicht waren) als eine Karte bei http://garmin.openstreetmap.nl/ erstellt. Das hat auch immer sehr gut funktioniert. Nur leider gibt es dort jetzt Server Probleme und ich kann mir keine “eigene” Karte mehr erstellen lassen. Für eine bevorstehende Reise bräuchte ich nun Dänemark, Schweden und Finnland.

Ich habe mir dann gedacht, dass das ja nicht so schwer sein kann, sowas selber zu erstellen. Ich habe mir dann bei der geofabrik die Karte für Europa herunter geladen. Nach meinem (angelesen) Verständnis muss ich diese Karte nun in die Tiles splitten und anschließend die gewünschten Tiles zu meiner Karte zusammensetzen. Habe mir dann mkgmap und den splitter heruntergeladen. Als erstes habe ich den splitter angeworfen. Dieser ist nun seid über 80 Stunden dran die Karte zu splitten. Ich befürchte fast, das der abgestürzt ist oder braucht das so lange?

Da ich überhaupt keine Ahnung habe, wollte ich mal nachfragen ob ich so auf dem richtigen Weg bin oder völlig auf dem Holzweg. Mir ist nämlich noch nicht ganz klar, das wenn ich die Tiles dann habe, woran ich erkenne welches Tile zu welchem Land gehört.
Oder benutze ich die falsche Software? Gibt es vielleicht was besseres? Oder gibt es eine ähnliche Webseite wie die http://garmin.openstreetmap.nl/ die noch funktioniert.

Wäre nett wenn mir jemand Licht ins Dunkeln bringen könnte.

Vielen Dank und schönen Sonntag
Christian

Eigene Garminkarten macht man recht bequem mit dem Tool Mapcomposer von Nop - findest Du auf der Webseite der Wanderreitkarte.de

Es gibt leider sehr viele Wege, um zum Ziel zu kommen, hängt davon ab, was Du genau brauchst. Evtl. kannst Du mit einem Tool die runtergeladenen *.img Dateien für die drei Länder “zusammenkleben”.
Ansonsten:
Wenn Du Europa mit splitter bearbeiten willst, dann musst Du eine 64 Bit JRE verwenden und solltest mindestens 4G, besser 6G bereitstellen (-Xmx6G). Auf einem halbwegs aktuellen Rechner sollte die Verarbeitung dann nicht mehr als 1 Stunde dauern.
Siehe auchh https://wiki.openstreetmap.org/wiki/Mkgmap/help/splitter#Tuning
Mit der Option --write-kml=splitter.kml kannst Du eine Datei schreiben lassen, die z.B. auf Google Earth oder mit JOSM angezeigt werden kann und die Aufteilung der Kacheln zeigt.

Dann gibt es noch die Hürde mkgmap, welchen Style Du verwenden willst und ob Du Höhendaten brauchst (als Linien oder für Schattierung), ob die Karte die Suche nach Hausnummern unterstützen soll usw.
Da gibt es viel zu lernen. Die Lernphase solltest Du aber mit einem kleinen Extrakt machen (z.B. ein kleines Bundesland), sonst ist Frust sicher.

Ja, Du hast noch einen grundlegende Lücke im Verständnis. Die Europadatei ist viel zu groß, um eine Garminkarte daraus zu bauen bzw. falls es irgendwann mal fertig wird, ist die Garminkarte größer als es Dein Gerät verkraftet.

Entweder mußt Du zuerst mit osmosis oder einem ähnlichen Tool die Daten aus dem Europafile herausschneiden, die Du brauchst. Länderumrisse findest Du auch bei der Geofabrik.

Oder, das ist die einfachere Methode, Du lädst Dir die Daten von der Geofabrik für die Länder einzeln herunter und baust drei separate Karten mit unterschiedlichen IDs. Du wirst sie ja sowieso nacheinander benutzen.

Wenn Du erst mal Daten in verarbeitbarer Größe hast, bist Du mit splitter und mkgmap auf dem richtigen Weg.

Zusammenstückeln von Daten oder .img Dateien funktioniert wegen Überlappungen meist nicht. Nachdem Du wohl eine Karte für das Routing brauchst, hilft Dir auch der Map Composer nicht weiter.

https://www.freizeitkarte-osm.de/ … könnte das Gesuchte bereits enthalten. Falls nicht, gibt es dort auch eine Entwicklungsumgebung.

Mein Vorgehen, um aus Europa einen größeren Bereich als ein einzelnes Land auszuschneiden:

  1. Mit JOSM und poly plugin ganz grob den Umriss zeichnen, der gebraucht wird und als *.poly speichern (z.B map.poly)
  2. Mit osmconvert die europa-latest.osm.pbf nach work.o5m konvertieren und dabei mit -B=map.poly den gewünschten Bereich ausschnieden:
osmconvert europa-latest.osm.pbf -B=map.poly -o=work.o5m
  1. splitter auf die work.o5m loslassen:
java -Xmx4G -jar splitter_dir\splitter.jar --write-kml=splitter.kml --mapid=47110001 --polygon-file=map.poly work.osm

Dann mkgmap aufrufen mit diversen Optionen, ein Beispiel findet man in sample.cfg

Alternative zu 2. wäre, die drei einzelnen Länder am gleichen Tag runterzuladen und dann mit z.B. osmconvert zu verknüpfen

osmconvert denmark-latest.osm.pbf finland-latest.osm.pbf ... -o=work.o5m

Erstmal: Vielen Dank an alle die mich hier unterstützen. 1+

Leider bin ich durch die Antworten nicht wirklich schlauer geworden.

@Skinfaxi
Auf der Webseite bin ich nicht wirklich schlau geworden. Zumal ich ja weder eine Wander~ noch eine Reitkarte haben möchte. Ganz normale Straßenkarte wo ich eine Adresse eingeben und danach dort hin navigiert werde.

@GerdP #1
Nein, Höhenlinien und sowas brauche ich nicht. Hausnummern dagegen schon. Möchte wie bisher auch, eine Adresse eingeben und dort hin navigieren.

@Nop
Grundlegendes Verständnis fehlt noch auf jeden Fall!!!
Das die Europa-Karte zu groß ist, das ist mir klar. Daher dachte ich ja, diese mit “splitter” in die einzelnen Kacheln aufzuteilen und danach die Kacheln die ich haben möchte zu einer Karte zusammen zufügen. So habe ich das früher immer auf der Webseite http://garmin.openstreetmap.nl/ gemacht. Dadurch bekam ich eine Karte mit dem Bereich, der mich interessiert hat (in der Vergangenheit BeNeLux und der Westen Deutschlands). Das waren dann 1,9 GB und das kann mein Gamin Navi gerade noch verarbeiten.
Am einfachesten wäre natürlich sowas wie bei http://garmin.openstreetmap.nl/, wo man nur die Kacheln angeklickt hat, die man haben wollte und am Ende kam die Garmin Karte heraus. Das war sehr intuitiv - auch wenn es schon mal 10h gedauert hat.

@toc-rox
Da war das gesuchte leider nicht dabei. Es ist schon alles fest vorgegeben und ich kann meinen Bereich nicht selber bestimmen.

@GerdP #2
Das sieht schon ganz verständlich (für mich) aus. Habe mir JOSM und das Plugin POLY heruntergeladen und installiert. Ich bekomme nur keine Karte geladen, er sagt dann immer dass das Gebiet zu groß ist und vom Server abgelehnt wird. Warum muss ich da auf einen Server gehen? Gibt es dort keine Möglichkeit die “europa-latest.osm”, die ich schon von der Geofabrik habe, zu laden?
Er scheint das Dateiformat .osm nicht zu mögen.

Bei der Meldung versucht JOSM, die OSM-Daten für das gesamte ausgewählte Gebiet vom Server runterzuladen. Das brauchst du nicht, die europa-latest.osm hast du doch schon. Hintergrundkarten zur Orientierung bekommst du in JOSM im Hintergrund-Menü, allerdings musst du vorher ein paar Geodaten runterladen, damit JOSM überhaupt irgendeine Geoposition hat.

Doch, das mag er sogar sehr. Aber ganz Europa auf einmal? Wie viel Arbeitsspeicher hast du denn so? Die OSM-Datei nur von Hessen kommt ausgepackt auf 3,8 GB.
JOSM ist ein Programm zur Erfassung und Bearbeitung von OSM-Daten, nicht zur Kartenerstellung.

Ich hatte mich verschrieben. Meine “europe.latest” ist nicht “.osm” sondern “.osm.pbf” und hat 21 GB.

Und was für Geodaten sind das?

In JOSM kannst Du keine so grosse Datei laden. Brauchst Du aber auch nicht zu tun.
Öffne eine neuen Layer (Strg+N), lade ein Hintergrundbild, z.B. Bing, zoome in den Bereich, der Dich interessiert und male ganz grob eine geschlossene Linie um die gewünschte Fläche.
Anschliessend speichern als “Osmosis polygon filter file”
Ergebnis könnte etwa so aussehen:


map
1
   15.688389   71.566669
   1.537998   62.975238
   4.658115   55.528680
   13.139561   53.461943
   32.172387   61.865512
   33.663523   72.317813
   15.688389   71.566669
END
END

In JOSM kann man bestenfalls (?) eine große Stadt wie Frankfurt laden. Dann wird’s aber schon sehr zäh mit der Bediehnung. Meine Erfahrung: eine *.osm.pbf Datei mit 10 MB ist gerade noch erträglich, um mal eben zu schauen, was da so drin ist. Man kann sogar damit arbeiten, wenn man auf einen kleinen Bereich zoomt, aber Spaß macht das nicht.

Splitter teilt die Daten zwar in einzelne Kacheln auf, aber danach gibt es keine Auswahlmöglichkeit wie Du sie kennst. Mkgmap erzeugt aus allen diese Kacheln in eine einzige Garminkarte.

Deshalb muß man vorher mit osmosis oder osmconvert nur die benötigten Daten ausschneiden oder Einzelkarten für jedes Land aus den Länderpaketen der Geofabrik bauen.

Am Besten folgst Du der Beschreibung von GerdP, da steht eigentlich schon alles drin.

OK, so langsam geht es voran. Vielen Dank an Alle die mich unterstützen.
Ich habe mich für den Weg von GerdP entschlossen.

Ich habe in JOSM ein Polygon erstellt, welches die BeNeLux und ungefähr NRW beinhaltet. Abgespeichert habe ich es als “benelux.poly”.

Danach habe ich “osmconvert” bemüht mit:

osmconvert europe-latest.osm.pbf -B=benelux.poly -o=work.osm

Nachdem ich nun meine “work.osm” hatte, kam der “splitter” zum Zuge mit:

java -Xmx4G -jar splitter\splitter.jar --write-kml=splitter.kml --mapid=47110001 --polygon-file=benelux.poly work.osm

Zum splitter noch eine Frage:
Da ist die “resolution=13” eingestellt. Macht es Sinn einen höheren Wert zu nehmen? Macht das die Anzeige im Garmin detailreicher?

So weit, so gut.
Jetzt müsste der finale Schritt von “mkgmap” kommen. Allerdings verstehe ich da die config noch nicht so ganz. In den Wikis habe ich gelesen das ich eine Boundaries-Datei für die Grenzen benötige und eine Küstenlinie-Datei (siehe auch: https://wiki.openstreetmap.org/wiki/User:Ajoessen/Garminkarten_selber_bauen ). Dann ist da noch die Rede von einer Höhenlinien-Datei (brauche ich nicht) und einer City-Liste. Des weiteren muss der Zeichensatz und die Style-Datei angegeben werden. Echt viele Infos auf einmal für einen Dummie wie mich, da stehe ich echt auf’m Schlauch.

Was muss in der config stehen, damit ich z.B. von Köln aus zu einer Adresse (Straße & Hausnummer) nach Amsterdam komme (Grenzüberschreitend)? Die Karte sollte im Display gut leserlich aussehen, sowas liegt natürlich im Auge des Betrachters. Ich habe da irgendwo was vom deutschen Landkartenstil gelesen. Extra Sachen wie Höhenlinien, Gebäude, Wanderwege, Radwege etc. pp. brauche ich alles nicht. POIs bräuchte ich erstmal auch nicht oder wenn überhaupt dann nur Tankstellen und wo man was essen kann.

Ich fasse nochmal meine wichtigsten Fragen zusammen:

  1. Resolution 13 für den splitter ok, oder einen anderen Wert nehmen?
  2. Brauche ich die bounderies-Datei?
  3. Brauche ich die coastlines_europe.osm.pbf?
  4. Wie sieht die config dann für mkgmap aus?

Viele werden jetzt die Arme über den Kopf zusammen schlagen und mich verfluchen. Aber ich möchte das echt erlernen, weil ich das ganze Thema hochinteressant finde. Leider ist mein englisch so lala und die deutschen Anleitungen die ich gefunden habe, sind meistens für Leute gedacht die sich damit schon ein wenig auskennen.

Ich danke euch schon mal im voraus.
Christian

Kleiner Nachtrag:
Der splitter hat mir 110 Dateien erzeugt, von 47110001.osm.pbf bis 47110110.osm.pbf

mkgmap macht aus OSM Daten Garmin Daten. Wie steht in den style Dateien.
Beispiel:
highway=motorway [0x01 road_class=4 road_speed=7 resolution 15]

So wird die Linienart “Autobahn” auf den Garminschlüssel 0x01 geschrieben. 0x01 ist routingfähig, deshalb steht da noch road_class und road_speed. resolution gibt an, bis zu welcher Zoomstufe die Linie sichtbar sein soll.

Darüber hinaus gibt es noch eine TYP Datei. Darin wird festgelegt, wie die Linie Autobahn aussehen soll. Man kann das auch weglassen. Einige Garmin-Schlüssel werden von den Garmin Geräten auch ohne die Typdatei angezeigt. Es ist ein Standaardaussehen im Gerät gespeichert.

Das musst du nun für jede Linienart machen. Und für jede Fläche und für jeden POI.

mkgmap hat aber einen Beispiel-Style. mkgmap-r4608\examples\styles\default
Eine Beispiel Typdatei ist auch dabei.

Eine fertige Garmin-Europakarte mit diesem default-style kannst du dir hier herunterladen:

https://speichenkarte.de/

bounds und sea findest du auf der mkgmap downloadseite. Oder direkt an der Quelle: http://osm.thkukuk.de/

  1. solltest Du so lassen, hat nichts mit dem Inhalt der Karte zu tun
  2. Nein
  3. Nur für schöne blaue Meeresflächen - für die ersten Versuch einer eigenen Straßenkarte an Land nicht wichtig
  4. Für den Anfang nimm einfach den mitgelieferten Standardstil unter \examples\styles\default bzw. \examples\sample.cfg

Hallo,
vielen Dank für eure Mühen.

Was ich noch nicht verstehe ist: Ich habe jetzt mit dem splitter 110 Dateien erzeugt, von 47110001.osm.pbf bis 47110110.osm.pbf, woher weiß mkgmap das er diese Dateien zu einer Karte zusammenkleben soll?
Muss ich mkgmap und die splitter-dateien in ein Verzeichnis kopieren?

Nein und Nein
Die Option ist nur für den Fall da, dass man entweder sehr kleine Dateien splitten will (debugging) oder den ganzen Planeten. Im ersten Fall würde man den Wert etwas erhöhen (vielleicht 15), im zweiten vielleicht verringern. (12).
Der Wert gibt die Größe der splitter-internen Kacheln an, aus denen dann die Aufteilung der Kacheln für mkgmap berechnet wird. Je kleiner die interne Kachel, desto größer der Speicherbedarf und desto länger die Rechenzeit. Besser wird die Karte dadurch nicht, die Ränder ändern sich geringfügig.

splitter schreibt die Datei template.args, da steht drin, welche Kacheln zusammengeklebt werden sollen. Die Datei kann man zu Testzwecken auch editieren, z.B. nur mit 4 Kacheln arbeiten, bis man einen brauchbaren Style gefunden hat.
Der mkgmap Aufruf sieht dann etwa so aus

java -Xmx4G -jar d:\mkgmap-r4608\mkgmap.jar  -c d:\mkgmap-r4608\examples\sample.cfg  --output-dir=myMap -c splitter_output_dir\template.args d:\mkgmap-r4608\examples\typ-files\mapnik.txt

Splitter und mkgmap sollten in eigenen Verzeichnissen sein, die Daten in einem anderen. Ich halte auch die Ausgabe von splitter getrennt von der Ausgabe von mkgmap.
Der Konfigurationsdatei mkgmap-r4608\examples\sample.cfg solltest Du Dir vorher gut anschauen, Doku dazu ist hier:
http://www.mkgmap.org.uk/doc/options
Edit: Nachtrag: Eine Grundregel noch: Um sich Probleme zu ersparen, sollte man immer das Ausgabeverzeichnis von mkgmap komplett löschen bzw. leeren, bevor man mkgmap startet.

Super. Das hat geklappt. Ich habe tatsächlich eine eigene Karte erstellt bekommen. :smiley:
Möchten mich nochmals bei allen bedanken die mir geholfen haben.

Jetzt kann ich anfangen mich mit den Feinheiten auseinander zu setzen.

OK, eine Frage habe ich (natürlich) noch:
Wie kann ich die Karte jetzt testen ohne diese auf die CF-Karte zu kopieren und in das Garmin zu stecken?
Ich dachte zuerst an Basecamp, aber da kann ich die gmapsupp.img nicht einladen. Gibt es da ein anderes Programm für?