How to make a GPS topo map

Here is a small introduction on how to make a topographic map for Garmin GPS devices from OpenStreetmap and SRTM data.

You can get a lot more info on this topic from the OpenStreetMap wiki.

Here is how I make my topo map:

OSM map layer:

I do all this on a Fedora Linux box and I mostly use command line tools because I can script them. All tools I use run on Windows, too, and most of them have a GUI. If you prefer some mouse clicking you should be fine.

First get some OSM data. I use the Geofabrik download page, but any other way should be fine. Since none of the ready made country downloads match my needs I download the Europe excerpt. Then I cut out a rectangular piece with Osmosis:

osmosis --read-xml enableDateParsing=no file=europe.osm.bz2 --bounding-box left=5.8 right=15.1 bottom=47.2 top=55.2 completeWays=no --write-xml file=germany.osm

If you want a map for a big area like the whole of Germany you will have to split it into map tiles. Otherwise the GPS cannot handle it. I use the mkgmap splitter for this:

java -Xmx2048M -jar splitter.jar --mapid=30000001 --max-nodes=800000 germany.osm

If your computer runs out of memory you can use the "--max-areas=X" option. Then the splitter will only process X areas at a time. You can use a different "--mapid" number.

Now you can edit the template.args file that was created to get some better descriptions for the map tiles.

The next step is to convert the OSM data into the Garmin format and bundle it with the TYP file. If you want your map to look like mine you need my mkgmap style. If you modify it you may have to modify the TYP file accordingly. This can be done with the online editor or using a tool like cgpsmapper. For owners of Garmin Edge devices, which have problems when displaying some of the track lines, I suggest to try this TYP file.

java -Xmx2048M -jar mkgmap.jar \
--description=OSM_DE \
--country-name=Germany --country-abbr=DE \
--name-tag-list="name:de,name,int_name" \
--style-file=./mkgmap-style-toponew/ \
--family-id=1331 --product-id=1 \
--series-name=OSM_Germany \
--family-name=OSM_Germany \
--area-name=Germany \
--overview-name=OSM_Germany \
--net --gmapsupp --tdbfile --route \
--road-name-pois=0x640a \
--draw-priority=25 \
--latin1 \
--make-opposite-cycleways \
--remove-short-arcs \
-c template.args 1331.typ

The "--family-id" number must match the one in the TYP file. After this step you will have a gmapsupp.img file. If you don't need contour lines you are done. Copy the gmapsupp.img to your GPS' SD card and enjoy ;-).

If you want to add contour lines I suggest to rename the gmapsupp.img:

mv gmapsupp.img osm.img

Contour lines

First get the contour line data from the NASA server and convert it into OSM format with Srtm2OSM:

mono Srtm2Osm.exe -bounds1 47.2 5.8 55.2 15.1 -step 10 -cat 100 20 -large -corrxy 0.0005 0.0005 -o srtm.osm

Split into tiles:

java -Xmx2048M -jar splitter.jar --mapid=21000001 --mixed=yes --cache=./cache/ --max-nodes=5000000 --max-areas=27 srtm.osm

I make two mapsets for the contour lines: One with one line every 20 m and one with a line every 10 m. This way the 10 m lines can be switched off independently in the GPS.

I use two copies of the template file:

cp template.args template_srtm10.args
mv template.args template_srtm20.args

And edit them so that both templates use the same OSM sources but output different map names:

template_srtm10.args:
[...]
mapname: 21000001
description: SRTM10
input-file: 21000001.osm.gz
[...]

template_srtm20.args:
[...]
mapname: 22000001
description: SRTM20
input-file: 21000001.osm.gz
[...]

Then I run mkgmap with different styles for both sets and rename the output:

java -Xmx2048M -jar mkgmap.jar \
--style-file=mkgmap-style-srtm10new/ \
--net --gmapsupp --tdbfile \
--family-id=2512 --product-id=1 \
--draw-priority=28 --transparent \
--series-name=SRTM10 --family-name=SRTM10 \
--area-name=Germany \
-c template_srtm10.args

mv gmapsupp.img srtm10.img

java -Xmx2048M -jar mkgmap.jar \
--style-file=mkgmap-style-srtm20new/ \
--net --gmapsupp --tdbfile \
--family-id=2513 --product-id=1 \
--draw-priority=28 --transparent \
--series-name=SRTM20 --family-name=SRTM20 \
--area-name=Germany \
-c template_srtm20.args

mv gmapsupp.img srtm20.img

At last I use gmaptool to join the three IMG files (SRTM10, SRTM20 and OSM):

gmt -j -o gmapsupp.img osm.img srtm10.img srtm20.img

If you want to update the map there is no need to rebuild the SRTM IMG files - contours normally don't change. You can reuse the srtm10.img and srtm20.img. If you want a map for Germany you don't have to build SRTM IMGs at all: you can extract the SRTM tiles from my topo map with gmaptool and bundle it with your OSM layer.

52 comments

Comment from: Meinolf [Visitor]

Ich habe ein paar OSM-basierte Karten für den Garmin verglichen, Ihre gefällt mir bislang am besten. Um auch Karten von anderen Gegenden zu bekommen, habe ich versucht, nach der Anleitung selbst eine Karte zu erstellen. Das hat auch so weit gut funktioniert, die Karte sah so aus wie Ihre Deutschlandkarte. Allerdings hat das Routing nicht mehr geklappt. Das Routing beginnt immer an einem anderen Punkt als dem wo ich mich gerade befinde und springt dann ziemlich wild hin und her. Teilweise folgt es den Strassen, teilweise aber auch Luftlinie. Muss man noch etwas gesondert beachten, damit die Karten routingfähig werden?

viele Grüße,
Meinolf

10/23/09 @ 08:22
Comment from: Meinolf [Visitor]

Hat sich erledigt, das Problem saß mal wieder vorm Bildschirm. Man muß halt richtig abschreiben können :-(
Nochmal Danke für die tolle Karte und die Beschreibung wie man’s macht!

Meinolf

10/23/09 @ 16:13
Comment from: Christoph [Visitor]  

Hallo,

vielen Dank für die hervorragende Anleitung; das Ergebnis ist wirklich eine schöne topographische Karte.
Allerdings möchte ich gerne Karten für Mittelschweden erstellen und dort gibt es keine SRTM-Daten, sondern andere Quellen für Höhendaten. Deswegen möchte ich nicht SRTM2OSM verwenden (was ja vom Autor auch nicht mehr gepflegt wird), sondern den Nachfolger Groundtruth. Dieser hat leider den Nachteil (?), dass die Höhendaten nicht in einer, sondern in mehreren OSM-Dateien gespeichert werden.
Hast Du einen Tipp, wie ich diese zu einer OSM-Datei zusammenführen kann, um dann weiter nach Deiner Anleitung zu gehen?
Bei dem Versuch, das mit osmosis zu machen bekomme ich nur eine Fehlermeldung; mkgmap kann das ja m.W. nur zu img-Dateien zusammenfassen.

Danke im voraus.
/Christoph

10/30/09 @ 10:02
Comment from: [Member]

Da fallen mir 2 Möglichkeiten ein:
- Entweder die einzelnen Groundtruth-Dateien zu einzelnen Mkgmap-Kacheln weiterverarbeiten (meine SRTM20 besteht aus 23 Einzelkacheln, ebenso die SRTM10)
- oder Groundtruth dazu bringen, größere Flächen auszugeben (Optionen –gridlat=XX und –gridlon=XX) und anschließend mit mkgmap-Splitter wieder aufteilen

10/30/09 @ 19:34
Comment from: Meinolf [Visitor]

Hallo Ralf,

beim Erstellen der Contourlinien mit Srtm2Osm bekomme ich etliche Fehlstellen in den Bayrischen Voralpen. Ich habe gesehen, dass Du in der Diskussion zu Srtm2Osm letztes Jahr eine Anfrage zu diesem Problem gestellt hast. Deine Deutschlandkarte hat diese Fehlstellen jedoch nicht. Verrätst Du mir, wie Du dieses Problem gelöst hast?

Meinolf

11/02/09 @ 09:55
Comment from: [Member]

@Meinolf:
Benutzt du den Mkgmap-Splitter? Wenn, welche Version? Die älteren Versionen hatten das Problem, daß ein Way nicht in mehr als 4 Kartenkacheln sein durfte. Das führt dazu, daß Lücken entstehen. Bei den neueren Versionen ab r90 ist das behoben. Die neueste Version von Srtm2Osm (1.8) könnte auch helfen.

11/03/09 @ 10:48
Comment from: Meinolf [Visitor]

Hallo Ralf,

ich benutze splitter-r97 und Srtm2Osm-1.8.14.10. So wie ich es jetzt verstehe (auch aufgrund der Antwort auf Deine damalige Frage) sind das tatsächlich Fehler in den SRTM Daten, die vorwiegend in gebirgigen Gegenden auftreten (bei mir: Bayerische Voralpen). Ich habe mir jetzt mal Daten von hier: (http://www.viewfinderpanoramas.org/dem3.html) heruntergeladen und die fraglichen Files in dem Cache, den Srtm2Osm sich anlegt, ersetzt. Damit traten die Probleme nicht mehr auf. Wenn ich mit dem Programm Kosmos (http://wiki.openstreetmap.org/wiki/Kosmos) die originalen NASA-Daten mit denen von Viewfinderpanoramas vergleiche, sieht man die Unterschiede ganz deutlich.

Bist Du da ähnlich vorgegangen, oder gibt es noch einen anderen Trick?

Meinolf

11/03/09 @ 15:45
Comment from: [Member]

@Meinolf:
Ja, Datenquellen sind eine andere Frage. Man kann z.B für eine Karte erst einmal SRTM2OSM laufen lassen. Dann hat man eine Menge HGT-Dateien im SrtmCache-Verzeichnis. Dann kann man die, für die z.B. Viewfindepanoramas entsprechende Daten hat, die HGT ersetzen und SRTM2OSM noch einmal laufen lassen.

11/06/09 @ 15:33
Comment from: VozziK [Visitor]

Vielen Dank für die ausführliche Beschreibung. Ich habe mich jetzt mal mit Erfolg daran gemacht mir meine eigenen Karten für die USA zu generieren. Dank JOSM und einer kleinen Abwandlung des mkgmap Aufrufs ist dies kein Problem. Die Integration von SRTM Daten habe ich mir zwar noch nicht angesehen, aber das ist für mich auch erst einmal zweitrangig. Endlich habe ich kostenlose Karten für die Regionen der USA, die ich häufiger besuche. Und das Ganze ist innerhalb weniger Minuten aktualisiert. Jetzt muss nur noch das Routing klappen, aber das kann man ja schlecht ausprobieren, wenn man nicht gerade vor Ort ist…

12/16/09 @ 14:33
Comment from: [Member]

@VozziK:

Das kommt darauf an. Mein eTrex Legend HCx hat einen Simulationsmodus. Da kann man einen simulierten Standort wählen und dann z.B. eine Route berechnen lassen, sich diese in der Karte anzeigen lassen, oder sogar simuliert abfahren.

Oder man testet das Routing mit Mapsource. Da ist allerdings die Routenberechnung bei langen Routen schlecht und es findet oft keine Route wo das eTrex keine Probleme hat.

12/16/09 @ 21:39
Comment from: VozziK [Visitor]

Nachdem ich meine USA Karten jetzt ausgiebig getestet habe, muss ich einen kleinen Fehler melden. Dieser ist zwar sehr wahrscheinlich auf mich zurück zu führen aber ich würde ihn hier doch gern bekannt machen und nach Meinung fragen:

Ich habe ca. 6 verschiedene Karten erstellt von unterschiedlichen Bundesstaaten der USA. Irgendwie wollte die Anzeige auf meinem Garmin nicht richtig klappen (manchmal erschien die Karte und manchmal nicht), also habe ich (natürlich am letzten Tag) noch mal an den Parametern des Skripts gebastelt. Ich wollte alle Karten einzeln an- und abschaltbar haben. Um dies zu erreichen, habe ich bei allen Namenstags ein-eindeutige Namen vergeben. Da dies nicht reichte, habe ich auch noch pro Karte die family-id geändert (hochgezählt bis 1339). Jetzt klappte die Aufteilung zwar immernoch nicht sauber, aber ich habe dann aufgeben müssen, weil mir die Zeit davon lief. Also habe ich immer nur die Karten auf das Gerät kopiert, die ich gerade brauchte und mit 2 Karten hat es dann geklappt. Dies scheint also evtl. an meinem Garmin Oregon zu liegen und nicht an den Karten selbst.

Der eigentliche Fehler ist mir dann erst in den Staaten aufgefallen. Da ich die Karten zum Geocachen verwende, war es eine sehr böse Überraschung zu sehen, dass die Karten immer über die Caches gezeichnet wurden. Der aktuell ausgewählte Cache war zwar sichtbar, aber alle in der Umgebung liegenden Cache Icons waren scheinbar eine oder mehrerer Schicht(en) unter der Karte… Den Parameter draw-priority hatte ich aber bei der Generierung unangetastet gelassen. Für die Erstellung der Karten habe ich die OSM Daten von Cloudmade, Splitter 104 (mit dem Aufruf von dieser Seite) und mkgmap 1436 (mit dem Aufruf von dieser Seite und oben genannten Anpassungen) verwendet.

Woran kann es also gelegen haben, dass die Karten in einer anderen Ebene gelandet sind?

PS: Gerade habe ich erfolgreich eine Karte von Luxemburg erstellt (mit family-id=1331) und diese wird auch nicht über die Cache Icons gezeichnet. Verwendet habe ich jetzt Splitter 105 und mkgmap 1593…

Gruß,
Matthias

03/02/10 @ 09:03
Comment from: [Member]

@VozziK:

Bei meinem eTrex Legen HCx kann man Kartenkacheln auf zwei Weisen an- und abschalten: nach Kachelname und nach Family-Name. Ist das beim Oregon auch so?

Ich habe noch nie beobachtet, daß Icons von Kartenelementen überdeckt werden.

03/03/10 @ 20:01
Comment from: vozzik [Visitor]  

Ich weiss nicht genau, wonach die Karten auf dem Oregon sortiert werden. Auf jeden Fall werden alle Karten (auch trotz der zuvor beschriebenen Änderungen zusammengefasst).

Siehe dazu auch folgenden Screenshot:
http://picasaweb.google.com/lh/photo/pm3BnHqnIiC_M7SXcIzT_g?feat=directlink

Gerade habe ich nur die Deutschland und eine selbst erstellte Luxemburg Karte installiert. Wenn ich jetzt noch mehrere Karten hinzufügen würde, könnten diese auf dem Button auch nicht mehr angezeigt werden. Ist wohl ein Nachteil der GUI des Oregon.

Gruß,
Matthias

03/06/10 @ 13:30
Comment from: [Member]

@vozzik:

Normalerweise werden die Karten nach dem Family-Name angezeigt. Das “SRTM20_Germany” ist der Family-Name des 20m-Höhenlinien-Layers meiner Karte. “OSM_SRTM_Germany” ist der Mapset-Name. Hat die Luxemburg-Karte die selbe Family-ID (1331) wie meine?

Ich würde mal annehmen, daß du mit dem Pfeil rechts unten weiter durch die Liste gehen kannst, wenn noch mehr Karten installiert sind.

03/06/10 @ 14:46
Comment from: vozzik [Visitor]  

@Ralf: Das mit dem Family-Namen habe ich soweit schon verstanden. Ich habe die 10m-Höhenlinien auch manuell ausgeschaltet.

Weiter unten kommt jetzt gerade nur die Basemap von Garmin.

Ja, die Luxemburg Karte hat die gleiche Family-ID (1331) wie Deine Deutschlandkarte. Die Änderung an der Family-ID war ja genau das, was ich bei der Erstellung mehrerer Karten variiert hatte (fortlaufend hochgezählt).
Nichtsdestotrotz wurden die Karten dann von meinem Oregon dennoch wieder alle auf einen Button gelegt (s. mein Kommentar weiter oben).

Ich habe die Family-ID diesmal nicht geändert, da ich vermutet hatte, dass es vielleicht daran lag, dass der Oregon die Karten über die Icons gezeichnet hat.

Ich werde einfach die Luxemburg Karte noch einmal mit anderer Family-ID erstellen und das Ganze noch einmal probieren.

Gruß,
Matthias

03/06/10 @ 19:50
Comment from: Meinolf [Visitor]

Hallo Ralf,

ich melde mich auch mal wieder mit einer Frage. Mir ist aufgefallen, dass auf Deinen Karten das Meer an der Norddeutschen Küste schön blau dargestellt wird. Wenn ich darauf tippe, erscheint als Erläuterung ‘Ocean/Meer’. Bei meinen eigenen Karten dagegen ist das Meer eine weiße Fläche und wenn ich darauf tippe werden nur die Koordinaten angezeigt. Ich verwende das neueste mkgmap (1607) und beim Vergleich meiner Stylefiles mit Deinen habe ich keinen entscheidenden Unterschied feststellen können.
Hast Du einen Tipp für mich, woran das liegen könnte?

Gruß,
Meinolf

03/18/10 @ 21:08
Comment from: [Member]

@Meinolf:

Ich habe das Meer in einem eigenen Layer, welches händisch aus den “natural=coastline” Daten erzeugt wurde. Mittlerweile wurde in Mkgmap das automatische Erzeugen von Meeresflächen deutlich weiterentwickelt, auch wenn es anscheinend noch nicht ganz perfekt ist. Das legt zumindest die Developer-Mailingliste nahe. Aber du kannst ja mal die Option “–generate-sea” testen.

03/20/10 @ 18:16
Comment from: Meinolf [Visitor]

Danke Ralf, jetzt hat’s geklappt.
In mkgmap habe ich folgende Option eingefügt:
–generate-sea=multipolygon,extend-sea-sectors,close-gaps=6000

Im Stylefile ‘polygons’ dann noch:
natural=sea [0x3c level 7]

Gruß,
Meinolf

03/23/10 @ 20:47
Comment from: how to download from redtube [Visitor]

I like your site theme. What template did you use ?

03/24/10 @ 00:46
Comment from: Mike [Visitor]

Although it’s a little off topic, this theme was the default wordpress theme called “kubrick".

http://themes.wordpress-deutschland.org/kubrick-de-edition/

Afaik it’s now called “Evopress” like you can also find in the source code of this page.

@Ralf: Klasse Anleitung, tnx!

Regards, Mike

04/19/10 @ 23:30
Comment from: HeinzVoerbakje [Visitor]

Great guide, exactly what I was looking for, thanks!

08/06/10 @ 14:59
Comment from: JoLa [Visitor]

@ Ralf

in der o.a. Kommandozeile zur Erzeugung der Garminkarte fehlt vor einigen Backslashes das Leerzeichen. Hatte deswegen jede Menge Fehlermeldungen, die nach Einfügen nicht mehr auftraten.

Gruß

08/15/10 @ 12:39
Comment from: Wolfgang [Visitor]

Hallo,

würde ja gerne mal selbst eine IMG erzeugen, habe jedoch keinerlei Kenntnisse über mkgmap und die erforderlichen Befehle… Gibt es eine Anleitung für “Komplettanfänger” mit Screenshots etc.? Ich bin schon daran gescheitert, das Programm mkmap überhaupt zu öffnen - auch die vielbeschriebene Java-Konsole öffnet sich nicht - was also tun?

Viele Grüße
Wolfgang

10/18/10 @ 14:37
Comment from: [Member]

@Wolfgang:

Die Java-Konsole hat damit nichts zu tun. Mkgmap ist ein Kommandozeilenprogramm. Unter Windows öffnest du das mit “Programme” “Ausführen", dann “cmd” eingeben.

Schau mal auf der Mkgmap-Homepage oder im OSM-Wiki.

10/18/10 @ 21:41
Comment from: Bernd Schmidt [Visitor]

Hallo Herr Kleineisel,

erstmal vielen Dank für Ihre Mühe!

Ich habe nach Ihrer Anleitung auch eine Karte erstellt, aber erstmal ohne die Höhenlinien zum Üben. Leider sieht die Karte nicht so aus wie Ihre. Bzw. weicht die Ansicht in einigen Punkten ab. Damit Sie den Unterschied selber sehen, hier 2 Bilder im Vergleich. Dabei habe ich genau das gleiche Gebiet fotografiert.

Ihre Karte: http://www.abload.de/img/kleineisel1c8g.jpg

Meine Karte: http://www.abload.de/img/meinekarteadrn.jpg

Die OSM Karte habe ich von der Geofabrik. Ich habe die Europa Karte gewählt und mit Osmosis Deutschland herausgeschnitten. Danach Ihre beschriebenen Schritte weitergemacht. Hat auch alles prima geklappt, die Karte wird in Mapsource angezeigt und auch die Routingfunktion geht. Das mkgmap style und das TYP File habe ich von Ihnen und auch nichts daran verändert. Kann es sein, dass das TYP File oder das mkgmap style in diesem Beitrag veraltet ist?

Vielen Dank für Ihre Hilfe!

Gruß
Bern Schmidt

01/07/11 @ 06:27
Comment from: [Member]

@Bernd Schmidt:

Den aktuelle Mkgmap-Style findet man hier, ebenso die Mkgmap-Optionen und die Typ-Datei.

01/07/11 @ 21:26
Comment from: Bernd Schmidt [Visitor]

Hallo, vielen Dank ich werde die neuen Files mal probieren. Ich hatte ja schon das Typ File und das mkgmap style aus diesem beitrag verwendet. Lag der Unterschied jetzt daran das Ihr vorhin gepostete Style neuer ist? Noch eine letzte Frage wo muss man das txt File aus dem mkgmap- optionen einfügen ? Vielen Dank

01/08/11 @ 03:48
Comment from: [Member]

@Bernd Schmidt:

Jede Zeile von mkgmap_options.txt enthält eine Kommandozeilen-Option zu mkgmap. Die kannst du entweder auf der Kommandozeile mit angeben, also z.B.:

java -jar mkgmap.jar –gmapsupp –description=OSM_DE …

oder man kann die ganze Datei (evtl. vorhere editieren!) aufrufen mit:

java -jar mkgmap.jar -c mkgmap_options.txt

Man kann auch mehrere Optionsdateien nehmen und Dateien und Kommandozeile mischen.

Es fehlen natürlich die Zeilen, die die OSM-Daten hinzufügen, also z.B.:

–mapname=100000815 –description=FR-Paris –input-file=10000815.osm.gz

Siehe auch die Mkgmap-Dokumentation.

01/08/11 @ 14:37
Comment from: Klaus Schneider-Grosch [Visitor]  

Hallo Ralf, habe nach Deiner Anleitung eine Karte mit Höhenlinien von den Kanarischen Inseln gemacht. Zunächst hatte ich zwar die Karte von den Inseln, die Höhenlinien fanden sich jedoch erst nach starkem Herauszoomen irgendwo in Libyen. Für srtm20.exe muß man anscheinend für die Länge (rechter / linker Rand) negative Werte angeben, damit es (für die Kanaren) funktioniert.

Mit diesen Werten klappt es:
LEFT=18.3
RIGHT=12.5
TOP=29.5
BOTTOM=27.2

Osmosis: … left=$LEFT right=$RIGHT bottom=$BOTTOM top=$TOP
Srtm2Osm.exe: … $BOTTOM -$LEFT $TOP -$RIGHT

Bei Srtm2Osm.exe “-” vor LEFT und RIGHT beachten.

Wie muß man denn jetzt die Parameter setzen, damit es für beliebige Gebiete überall auf der Erde funktioniert (auch nördliche / südliche Hemisphäre)?

02/10/11 @ 16:40
Comment from: [Member]

@ Klaus Schneider-Grosch:

Die Anleitung ist schon etwas älter. Mittlerweile würde ich statt srtm2osm eher Groundtruth verwenden.

Das geht dann so (Kurzfassung):


GroundTruth.sh contours -o myfile.ibf --bounds="47,15,48,16" --int 10 --gridlat=1 --gridlon=1

GroundTruth.sh ibf2osm -i myfile.ibf --tagce --cat="100,20"

Dann die OSM-Datei mit mkgmap weiterverarbeiten.

Siehe auch hier im OSM-Wiki.

02/11/11 @ 19:16
Comment from: Matthias [Visitor]  

Ich habe versucht, die Karten nach zu bauen. Hast Du einen Anhaltspunkt, wie lange Du brauchst, um die Karten zu rechnen? Mein iMac (2,4 Core2 Duo, 4GB) hatte nach 2 Stunden noch nicht mal den Splitter durch. Ich frage mich jetzt, ob ich was falsch gemacht habe oder, ob die Laufzeiten normal sind. Tausend Dank für die Hilfe.

03/20/11 @ 22:00
Comment from: [Member]

@Matthias:

Welche Daten versuchst du zu splitten? Deutschland? Europa? Planet? In welchem Format (osm.gz, pbf)? Ich hab es nicht genau gemessen, aber mit meinem bereits fertigen areas.lists die Deutschland-Kacheln aus den europe.pbf zu splitten läuft sicher so 2-3 Stunden. Dabei geht pbf deutlich schneller als osm.gz.

Wenn du zu viele Kacheln auf einmal splittest dauert es auch länger, denn zum einen steigt der Speicherverbrauch an (evtl. muß der Rechner dann swappen) zum anderen muß die Festplatte sehr viele parallele Schreiboperationen zu verschiedenen Dateien machen. Meist geht es besser mit “–max-areas” zwischen 50 und 100.

03/20/11 @ 22:13
Comment from: Matthias [Visitor]

@Ralf

Ich habe Deutschland als oms.gz versucht. Damit sind die Laufzeiten wohl ok. Danke.

03/21/11 @ 09:03
Comment from: Alexander [Visitor]

Hallo,

ich wollte mir eine Höhenlinienkarte für Gesamteuropa erstellen (zumindest für die Gebiete, wo Daten vorliegen). Wenn ich mir die gute Anleitung ansehe, dann frage ich mich aber, wo bekomme ich folgende Dateien her:
- template.args
- mkgmap-style-srtm10new
- mkgmap-style-srtm20new

Danke im Voraus

Gruß Alex

08/03/11 @ 22:32
Comment from: Alexander [Visitor]

Hallo,

ok, dass es sich bei den beiden letzt genannten um Style-Verzeichnis handelt, habe ich heraus gefunden. Und ich habe auch herausgefunden, wo ich dieser herbekommen.
Aber vielleicht kann mir jemand noch helfen, wo ich die template.args finden kann.

Danke

Gruß Alex

08/09/11 @ 21:24
Comment from: Thomas [Visitor]

Hallo Alexander,

die Datei template.args wird beim Aufruf von mkgmap erzeugt. Du benötigst dafür lediglich die Kartendaten und die Datei M36_1331.TYP, welche du oben auf der Webseite herunterladen kannst.

Viele Grüße
Thomas

08/18/11 @ 10:50
Comment from: Annette [Visitor]

Vielen Dank für die Anleitung! Nach einigem Herumprobieren habe ich es geschafft, mir eine eigene Karte zu erstellen - zunächst erstmal ohne Höhenlinien, denn die sind ja bereits auf dem Oregon ;-). Dank des Typ-Files von der August-Karte sieht meine nun optisch genauso aus wie Deine.
Mein früher angesprochenes Problem mit der Anzeige der Schutzhütten konnte ich bisher nicht lösen und scheint wohl etwas internes zu sein…

10/04/11 @ 19:56
Comment from: watzlaf [Visitor]

Super Anleitung! Jetzt kann ich die Karten mit der besten Darstellung selber bauen.
Kleine Anmerkung, damit auch das C&P bei der Konvertierung der OSM Daten funktioniert:
-Option overview-name heißt jetzt overview-mapname
- Type file 1331.TYP sollte in M36_1331.TYP umbenannt werden

:)

10/25/11 @ 13:41
Comment from: Thomas [Visitor]

Vielen Dank für Deine Karten und diese super Anleitung.
Nachdem ich nun schon eine ganz Weile deine Karten verwende, wollte ich mir ein paar Karten für die USA erzeugen. Leider gibt es mit der aktuellen Version von srtm2osm in Kombination mit dem mkgmap Splitter Probleme. Der Splitter steigt mit einer IndexOutOfBounds Exception aus. Was ich so darüber gelesen habe, hängt das mit dem neuen srtm2osm zusammen, der mit höheren Node-ID’s anfängt, die dann dem Splitter Probleme machen.
(http://www.mkgmap.org.uk/pipermail/mkgmap-dev/2011q1/010627.html)
Hast Du das Problem mit Deiner Deutschlandkarte nicht? Verwendest Du eine ältere Version des Splitter? Ich konnte keine alte Version zum Download finden.
Viele Grüße,
Thomas

11/04/11 @ 20:14
Comment from: [Member]

@Thomas:

Ich erzeuge meine Höhenlinien mittlerweile mit Groundtruth.

Mit Groundtruth kann man die Höhenlinien gleich kachelweise erzeugen (z.B. 1x1 Grad groß) und sie passen an den Kanten trotzdem perfekt zusammen.

11/05/11 @ 17:44
Comment from: Thomas [Visitor]

Das habe ich auch schon versucht, habe aber immer Aussetzer in den Höhenlinien.
Habe mich an Deine Anleitung gehalten und nur den srtm2osm-Schritt und den srtm Splitter Schritt durch Groundtruth ersetzt. Passen die srtm-Styles noch wenn ich mkgmap verwende um aus den Groundthruth osm-Dateien die Image Files fürs Garmin zu erzeugen?

11/05/11 @ 23:02
Comment from: Thomas [Visitor]

Ich nehme alles zurück! Die Aussetzer in den Höhenlinien sind wohl auf die Ausgangsdaten zurückzuführen. Es ist eine vergletscherte Region und da könnte ich mir vorstellen das da die srtm Daten nicht ganz konsistent sind. Habe mal einen kleinen Ausschnitt mit srtm2osm erzeugt ohne das ich splitten musste und auch dort gibt es in dieser Region Probleme. Die anderen Regionen sehen mit Groundtruth super aus.
Danke, bin begeistert, da ich nun alle Tools beeinander habe um mir von jeder Region Karten bauen zu können.

11/06/11 @ 11:28
Comment from: [Member]

@Thomas:

Für solche Gegenden kannst du mal die Höhendaten von Viewfinderpanoramas probieren. Die sind voll kompatibel mit den SRTM-Daten, einfach die entsprechenden HGT-Dateien im Groundtruth-Ordner ersetzen.

11/06/11 @ 16:08
Comment from: Burkhard [Visitor]

Hallo,
vielen Dank für den tollen Service!
Seit Oktober letzten Jahres benutze ich ein Garmin Oregon 450 und habe viele “Fertig"-Karten ausprobiert, bin aber immer wieder bei den Kleineisel-Karten hängen geblieben. Einfach schöne Farben und ein gut lesbares Layout.
Da ich in diesem Jahr Richtung Osten fahren will, muss ich mich selbst um die Erstellung der Karten kümmern. Es ist bisher auch ganz gut mit der hier verfügbaren Beschreibung (unter Windows) gelungen, doch nun stelle ich fest, dass auf dem Oregon die Zeltplätze (im Gegensatz z.B. zu den Velomap-Karten) nicht angezeigt werden. Das trifft nicht nur auf meine selbst erstellten Karten zu, sondern auch auf die “original” Kleineisel-Karten. Hat da jemand eine Idee?

02/06/12 @ 15:20
Comment from: Norbert [Visitor]  

Hallo Ralf,

sind die Anleitung und die Typ-Dateien auf dem neuesten Stand? Mir gelingt es damit nicht, die Adresssuche sowie die Höhenlinien in Gang zu bringen.

Vielen Dank für Deine Hilfe,
Norbert

08/30/12 @ 18:15
Comment from: Oliver Heck [Visitor]

Nur ein Hinweis: der Link zum OSM Wiki ist falsch.

VG Oliver

05/21/13 @ 15:51
Comment from: Thomas [Visitor]

Hallo Ralf,

eigentlich hat alles wunderbar geklappt. Wenn ich allerdings versuche, den style zu verändern, kommt es zu einem ungewöhnlichen Verhalten: wenn man einzelne pois (z.B. toilets) auskommentiert, dann verschwinden sie von der Karte (was logisch ist). Wenn ich aber den Wert für den Level ändere, kann ich eintragen was ich will, der poi erscheint immer ab der selben Zoomstufe. Ich probiere jetzt schon stundenlang rum, und bekomme es einfach nicht hin.

Viele Grüße

Thomas

06/02/13 @ 14:32
Comment from: Thomas [Visitor]

Hallo Ralf,

es wäre seeeehr nett, wenn du deine aktuellen typ/style und settings verlinken könntest. Zumindest die Settings scheinen nicht ganz aktuell zu sein, denn deine Deutschlandkarte enthält ja einen Straßenindex, der in den Settings aber nicht eingeschaltet wird.

Vielen Dank im Voraus

Thomas.

06/03/13 @ 22:01
Comment from: Crazy Physics [Visitor]  

Hallo
Ich versuche seit ein paar Tagen eine Karte wie deine zu erstellen!
Die OSM-Karte ist kein Problem!
Allerdings schaffe ich es nicht die Höhenlinien zu erstellen.
Der Splitter beendet die Arbeit ohne Ergebnis. (Error:Node ids are not sorted.)
Könntest du mir da einen Tip geben?
Eine weitere Frage, falls ich dieses Problem gelöst habe: Wo hast du die Daten für das GebaudeLayer her?
Vielen Danke
Markus

09/05/14 @ 08:20
Comment from: Gerd [Visitor]  

Hallo Ralf,

um den Update-Druck bei dir ein wenig zu lindern, wäre es toll, wenn du auch andere Leute in die Lage versetzen würdest, Karten in deinem Stil zu rendern (vllt. ja auch von anderen Gebieten ;)
Wie schon Thomas am 06/03/13 geschrieben hat, wäre es super-toll, wenn du deine aktuellen Types/Styles veröffentlichen würdest.
Vielleicht genau so wie http://opentopomap.org/about in einem github repository?

An sonsten vielen Dank für die tolle Arbeit,
Gerd

01/18/15 @ 11:59
Comment from: Quentin [Visitor]  

Hello,
I tryed the same thing as you did. I succeeded with a little area splitted manually (multi srtm.osm and multi osm.osm).
I’m now trying to do the same for a big map (Jammu and Cachemir of India).
I got this error : “Error: Node ids are not sorted. Use e.g. osmosis to sort the input data.”
But using “./osmosis –read-xml file="../srtm.osm” –sort type="TypeThenId” –write-xml file="../srtm-sorted.osm"” make me an error “SEVERE: Thread for task 1-read-xml failed
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Cannot represent 67956 as a char.”
To get the same srtm.osm as mine : “mono Srtm2Osm.exe -large -bounds1 32.2500 73.7018 35.7510 79.5959 -step 50 -cat 500 1000 -o srtm.osm”

05/18/15 @ 08:53
Comment from: Dieter Münchmeyer [Visitor]  

Ich habe nach diesen Anleitungen schon vor 2 Jahren Karten für eine Reise nach Madagaskar gemacht. Jetzt wollte ich für eine neue Reise wieder Karten berechnen, bekomme aber bei srtm2osm den Fehler: Ein Element mit gleichem Schlüssel wurde bereits hinzugefügt. Mir scheint, es liegt an Änderungen des Windows-Systems. Damals war es Win7 und zwischenzeitlich wurde dieser Rechner auf Win10 umgestellt. Irgend eine Idee dazu?

03/12/17 @ 18:27


Form is loading...