Anleitung

Regionen

Der Button "Regionen" blendet eine Liste ein, in der beliebig viele Kartenausschnitte definiert werden können, aus denen eine oder mehrere Garmin-Karten erzeugt werden sollen. Sollen mehrere Regionen zusammen in einer Karte angezeigt werden, dürfen diese sich nicht berühren oder überschneiden, da es sonst an den Kanten zu sichtbaren Artefakten kommen kann. Zusammenhängende Gebiete legt man besser als eine große Region an. Diese wird bei Bedarf automatisch aufgeteilt. Durch Rechts-Klick (Maus) auf die Liste öffnet sich ein Drop-Down-Menü, das den Befehl Neuer Eintrag enthält. In dem sich öffnenden Fenster werden die in der Liste angezeigten Details zu den Einträgen bearbeitet. (siehe Abbildung)

Der Button "Regionsübersicht" blendet eine graphische Übersicht der Größe und Position der Regionen relativ zueinander ein, sofern diese Anzeige bei der Definition der Region durch Setzen eines Hakens an "Übersicht" aktiviert wurde.

Details im Fenster "Eintrag bearbeiten"

Region definieren

  • Name: Bezeichnung der Region. Die Bezeichnung wird in Dateinamen verwendet und darf daher nur dafür zulässige Zeichen enthalten. Nicht erlaubte Zeichen werden in dieser Tabelle akzeptiert, erzeugen, bei der Erstellung der Karte jedoch eine Fehlermeldung mit dem Hinweis, die Daten seien nicht auffindbar.
  • Übersicht: Diese Region in der Regionsübersicht einblenden, wenn der Haken gesetzt ist.
  • Länge: Längenbereich in Grad, eine Nachkommastelle
  • Breite: Breitenbereich in Grad, eine Nachkommastelle
  • Parameter: Kopiert eine kommaseparierte Liste der Koordinaten ins Clipboard, z.B. zur Verwendung in Skripten
  • Aufteilung: Stellt die Aufteilung dieser Karte in Kacheln graphisch dar (zZt. nicht im Menü enthalten)
  • Beschreibung: Kopiert eine menschenlesbare Version der Koordinaten ins Clipboard
  • Slippymap URL: Setzt die Koordinaten anhand einer Slippy-Map URL (z.B. Permalink aus OSM) wenn der "Parsen" Button gedrückt wird
  • Übersichtsfarbe: Farbe der Region für die Übersichtsgrafik. Die Farbflächen sind transparent. Sich überlagernde Regionen erzeugen in den übereinander liegenden Bereichen Mischfarben.

Datenbeschaffung

Die Datenquelle wird mit dem Knopf "Datenquellen-Assistent" eingestellt. (nicht mehr wie früher direkt in der Region) Dieser Dialog gibt eine Übersicht über die verfügbaren Möglichkeiten. Vor dem Aufruf des Assistenten müssen die Koordinaten der Region eingegeben werden.

  • Ausschnitt aus Planet-Datei: Dies ist die empfohlene Vorgehensweise für größere Karten. Die Daten für die Region werden von Composer im PBF-Format heruntergeladen und mit osmosis der gewünschte Bereich daraus ausgeschnitten. Mehrere Regionen mit derselben Planet-Datei werden zusammengefaßt und effizient mit einem osmosis-Aufruf abgearbeitet.
    • Der Datenquellen-Assistent sucht automatisch alle zum eingetragenen Bereich passenden Planetfiles und zeigt sie in der Liste an.
    • Zuerst werden die Planetfiles aufgezählt, die den gewünschten Bereich vollständig enthalten.
    • Danach werden zusätzlich die genannt, die den Bereich teilweise abdecken, da evtl. eines davon für die eigenen Zwecke ausreichend sein könnte.
    • Der Assistent versucht zudem, eine Abschätzung über die Downloadzeit zu geben. Die Downloadgeschwindigkeit kann unter Einstellungen/Daten eingetragen werden.
  • Lokale Datei: Eine vorbereitete OSM-Datei wird unverändert in voller Länge gelesen. Diese Methode ist geeignet für kleine Dateien aus anderen Datenquellen (z.B. aus JOSM gespeichert) oder bereits geschnittene oder vorbereitete Daten aus Planetfiles, die lokal auf der Platte vorliegen. Die ungefähren Koordinaten der Region werden für die Weiterverarbeitung trotzdem gebraucht.
  • Download von OSM: Direkter Download von der API oder auch XAPI. Diese Methode sollte nur für sehr kleine Regionen genutzt werden, da die OSM-Server ziemlich überlastet sind. Bevorzugt sollte die XAPI genutzt werden, sofern ein stabiler Server dafür vorhanden ist. Wenn die Region zu groß ist, ist diese Option ausgegraut. Die URL des (X)API-Servers kann unter Einstellungen/Daten eingestellt werden.
    • Falls es beim Download eines Segments zu einem Fehler kommt, versucht Composer den Download zu wiederholen, damit keine Löcher in den Daten entstehen. Die Anzahl der Wiederholungsversuche kann in den Einstellungen festgelegt werden, Standard sind zwei Korrekturversuche.

Nachdem die Datenquelle ausgewählt ist, können folgende Detaileinstellungen an der Region vorgenommen werden:

  • Datenquelle: Planetfile oder (X)API Download
    • Update alle X Tage: Gibt an, nach welchem Zeitabstand der Download von Planetfiles oder API-Daten wiederholt wird, wenn im Job für den Datendownload die Option "bei Bedarf" festgelegt wurde.
  • Datenquelle: Lokal
    • Lokale Datei: Voller Pfad zu der lokalen OSM-Datei (.osm, .zip mit einem .osm, .gz oder .bz2)
  • Datenquelle: (X)API Download
    • Kachelgröße: Der Download erfolgt in kleinen Segmenten. Hier kann die Größe in Grad festgelegt werden. Gute Werte sind 0.1 für Städte und 0.2 für dünn besiedeltes Gebiet. Ist die Anzahl der Objekte in einem Segment zu groß, so liefert der Server eine Fehlermeldung. Composer paßt sich in diesem Fall automatisch an und teilt das Segment in 4 kleinere auf. Das bewirkt daß die angezeigte Anzahl an Segmenten während des Downloads ansteigt. Wenn das sehr häufig passiert, sollte eine kleinere Segmentgröße eingestellt werden.

Composer verarbeitet sowohl ungepacktes XML als auch mit ZIP, GZIP oder BZ2 komprimierte Dateien. Direktes XML ist allerdings wesentlich schneller.
Falls bei Datenbeschaffung die Daten von lokal geladen werden, nicht vergessen, beim Job unter "Daten holen" die Einstellung Planetfiles auf Aus zu setzen.

Höhenlinien

  • Konturen Basis: Grundsätzlicher Abstand zwischen Höhenlinien
  • normale Linien: Abstand zwischen Linien mit mittlerer Hervorhebung. Muß ein Vielfaches der Konturenbasis sein.
  • Hauptlinien: Abstand von besonders hervorgehobenen Höhenlinien. Muß ein Vielfaches der Konturenbasis sein.
  • beschriften: Anklicken, wenn dieser Linientyp mit Höhenangaben beschriftet werden soll. Hauptlinien werden immer beschriftet.


Jobs

Jobs legen fest, welche Operationen der Composer bei einem Generatorlauf ausführt und welche Regionen bearbeitet werden sollen.

Um einen Job zu erstellen oder zu bearbeiten, mit der rechten Maustaste in das Listenfenster klicken. Es öffnet sich das Fenster "Eintrag bearbeiten" mit zwei Reitern. Auf dem ersten Reiter findet sich die Steuerung der Kartenerzeugung.

Eigenschaften

Name: Aussagefähige Bezeichnung des Jobs. z.B. Karte neu erstellen, Update, Daten-Download, Karte rendern usw.
In der Jobliste werden die Jobs automatisch nach ihrem Namen sortiert angezeigt.

Regionen auswählen: Auf der rechten Seite können die zu bearbeitenden Regionen ausgewählt werden. Für die Auswahl mehrerer Regionen Ctrl gedrückt halten. Mit Rechtsklick auf eine Region kann sie direkt angezeigt oder bearbeitet werden.

Aktionen

Die Arbeitsschritte können so festgelegt werden, daß die komplette Kartenerzeugung in einem Zug durchgeführt wird. Indem man bestimmte Arbeitsschritte gezielt ausschaltet, kann die Kartenerzeugung aber auch in mehrere Schritte aufgeteilt werden, um z.B. dazwischen noch Routen zu bearbeiten.

Aktivierung oder Deaktivierung der Arbeitsschritte:

  • Aus: Operation wird nie durchgeführt
  • Bei Bedarf: Operation wird ausgeführt wenn noch keine Ausgabedaten vorliegen oder wenn neuere Eingabedaten vorliegen
  • Immer: Operation wird unabhängig von der Notwendigkeit ausgeführt. Damit können Updates erzwungen und defekte Dateien repariert werden.

Die Arbeitsschritte:

  • Name: Bezeichnung des Jobs
    • Regionsübersicht: Blendet eine graphische Darstellung der von diesem Job verwendet Regionen ein, hinterlegt mit einer Mapnik-Karte.
    • Polygon: Steuert die Herstellung oder Verwendung von unregelmäßigen Ausschnitten aus Planetfiles. Siehe eigener Abschnitt unten.
  • Daten holen: Schaltet die Datenbeschaffung komplett ein oder aus.
    • Planetfiles: Steuert das Herunterladen von Planetfiles aus dem Internet.
    • Daten schneiden: Steuert die Aufteilung von Planetfiles mit osmosis
      • Datum merken: Notiert das Datum der gelesenen Daten und zeigt es unterhalb von POIs im Hauptfenster an
    • API Download: Steuert das Herunterladen von der API. Die Häufigkeit von Updates wird an der Region eingestellt.
  • Composer: Steuert die Aufbereitung der Daten durch Composer (Routen, Ersetzungen)
    • Schnell: Composer analysiert die Daten vor der Verabeitung. Wenn die Daten bereits sortiert sind, kann ein schnelleres Verfahren verwendet werden. Das ist bei Planetfiles der Fall. Bei API-Downloads oder Verwendung der Option "zusäztliche OSM-Daten" ist die Reihenfolge gemischt und es muß ein anderes Verfahren benutzt werden.
    • Küstenlinien: Extrahiert in den OSM-Daten enthaltene Küstenlinien in eine eigene Datei, verarbeitet sie mit und aktiviert die Erzeugung von Meeresflächen. Sinn der eigenen Datei ist, daß die Küstenlinien dort von Hand gepflegt oder vorbereitete Küstenlinien verwendet werden können.
    • Statistik erzeugen: Generiert Statistikdaten über benutzte und unbenutzte Tags. Der Inhalt dieser Statistik wird im Wizard angezeigt.
    • Reports erzeugen: Generiert die konfigurierten Reports
  • Garmin: Schaltet die Erstellung der Garminkarte global ein oder aus.
    • Karte erzeugen: Steuert die Erstellung der Karte mit mkgmap
    • Kachelaufteilung berechnen: Erzwingt eine Neuberechnung der Kartenkacheln. Wenn noch keine Kacheln vorhanden sind, wird dieser Schritt automatisch ausgeführt. Muß einmalig angewählt werden, wenn sich die Größe/Form der Regionen geändert hat, wenn die Parameter für die Aufteilung geändert wurden oder nach längerer Zeit die Daten nicht mehr in die bestehenden Kacheln passen.
    • Höhenlinien: Steuert die Erstellung von Höhenlinien
    • Schummerung: Erstellt zusätzlich eine Schummerung auf der Karte
    • Meeresflächen: Darstellung von Meeresflächen. Erforderlich für Küstenregionen und Inseln.
    • BaseCamp Integration: Erzeugt die nötigen Registry-Einträge für die Anzeige in Basecamp. Unter Windows10 muß Composer mit Admin-Rechten gestartet werden, damit das funktioniert.
    • Auf Gerät laden: Steuert das Hochladen der Karte in ein verbundenes Gerät mit sendmap
    • Image für Gerät: Erzeugt eine gmappsupp.img Datei für manuelle Weiterverarbeitung.
    • Zipfiles erzeugen: Steuert die Herstellung von gezippten Versionen der Karte. Alle benötigten Dateien für MapSource und für das Garmin Gerät werden jeweils in ein Zip-Archiv gepackt.
  • Maperitive
    • Daten erzeugen: Erzeugt Daten, Renderregeln und Skripte für ein Maperitive-Projekt.
  • Sonstiges
    • Bei Erfolg beenden: Wenn der Composerlauf erfolgreich war, wird Composer automatisch beendet. Kann in Kombination mit dem Abschlußscript benutzt werden, um den Java Speicher frei zu geben und eine weitere Verarbeitung auszulösen.

Hinweise

Wenn Du mehrere Karten parallel bauen willst, mußt Du unter dem Reiter Parameter für jeden dieser Jobs eine eigene Karten-ID und Dateinummer vergeben. Ansonsten würden sich die unterschiedlichen Daten gegenseitig überschreiben und es ist immer nur das Ergebnis des letzten Jobs sichtbar.

Die GMAPSUPP.img enthält jeweils die vom letzten Job erzeugten Daten, in dem diese Option aktiviert war. Möchte man diese Datei von verschiedenen Regionen erhalten, muß man sie in andere Ordner verschieben oder umbenennen. Wenn "Karte zippen" eingeschaltet ist, wird immer automatisch eine komprimierte Kopie der aktuellen Karte unter einem anderen Namen angelegt. Wenn ein Produktcode > 1 angegeben ist, wird der Name des ZIPs um diesen Code ergänzt. Im GPS-Gerät funktioniert sie aber nur als unkomprimierte Datei mit dem Namen GMAPSUPP.img

Bei der Erzeugung von Höhenlinien werden automatisch die erforderlichen Höhendaten heruntergeladen wenn sie noch nicht auf dem Rechner vorhanden sind. Es stehen zwei Datenquellen zur Verfügung, die unter Einstellung/Daten ausgewählt werden können.

  • SRTM der NASA. Dieses Höhenmodell ist public domain, d.h. es darf beliebig verwendet werden. Der Download ist schnell und unkompliziert, diese Datenquelle ist die Standardeinstellung. Die Daten enthalten aber teilweise Löcher und Fehler. Composer versucht die Löcher automatisch zu schließen. Für flache Gegenden und Mittelgebirge ausreichend, im Hochgebirge sind diese Daten aber praktisch nicht zu gebrauchen und ergeben teils völlig unsinnige Höhenlinien.
  • verbessertes SRTM von CIAT. In diesem Modell wurden Löcher und Gebirge aus anderen Quellen ergänzt. Es darf für nicht-kommerzielle Zwecke benutzt werden (wie Composer auch). Die Datenpakte sind größer so daß der Download meist etwas länger dauert, aber diese Höhendaten sind auf jeden Fall zu empfehlen, ganz besonders wenn man Karten von gebirgigen Regionen macht.

Die Karte wird automatisch in Kacheln aufgeteilt. Die Kachelgröße wird an die Datenmenge in einer Gegend angepaßt. Dabei werden die Höhenlinien mit berücksichtigt und Objekte ingoriert, für die es keine Renderregeln gibt. Wenn noch keine Aufteilung vorhanden ist, dann wird immer eine berechnet. Das Ergebnis kann man sich graphisch mit dem Button "Aufteilung" an der Region ansehen oder als Liste im Menü unter "Kartensegmente". Wenn die Obergrenze für die Aufteilung zu groß ist oder die Daten in einem Bereich mit der Zeit stark angewachsen sind, erzeugt mkgmap einen Fehler. Dann muß die Aufteilung neu berechnet werden, das läßt sich mit der Aktion "Kachelaufteilung berechnen" erzwingen.

Die Zwischendateien, die in den unterschiedlichen Arbeitsschritten erzeugt werden, bleiben auf der Platte liegen, um nur die notwendigen Schritte ausführen zu müssen und nicht immer alles neu zu erzeugen. Manchmal ist es erforderlich, eine Aktualisierung zu erzwingen.

  • Wenn die Koordinaten einer Region verändert werden, muß die Aufteilung in Kacheln neu berechnet werden. Das geschieht nicht automatisch, es muß einmalig "Kachelaufteilung berechnen" angewählt werden.
  • Manchmal kann es vorkommen, daß durch einen Fehler die Dateien nur teilweise geschrieben werden und beschädigt sind. Wenn Ihr eine Fehlermeldung wegen vorzeitigem Dateiende seht, hilft es alle Jobs auf "Immer" zu setzen oder die *_input.osm und *_data.osm der betroffenen Regionen von Hand zu löschen.

Parameter

Auf dem zweiten Reiter können weitere Einstellungen für diesen Job vorgenommen werden.

  • Nodecache: Gibt an, wieviele Nodes sich Composer während der Verarbeitung im Speicher merken soll. Angabe in 1000. Damit kann der Speicherbedarf von Composer direkt eingestellt werden. Ein höherer Wert steigert den Speicherverbrauch und die Geschwindigkeit der Verarbeitung.
  • Zusätzliche OSM Daten: Pfad zu einer .osm Datei mit zusätzlichen, festen Daten. Diese Daten weren den von .osm heruntergeladenen hinzugemischt. Nützlich für feste Overlays wie Meerespolygone oder private Daten.
  • Abschlußskript: Pfad einer Batch-Datei, die nach erfolgreichem Abschluß des Composerlaufs aufgerufen wird. Für eigene, zusätzliche Verarbeitungsschritte.
  • Beschreibung: Text für Kartenbeschreibung, wird in MapSource und auf dem Gerät angezeigt.
  • Kartenname: Technischer Name der Karte für Registry-Eintrag. Unterschiedliche Karten brauchen hier unterschiedliche Werte.
  • Family ID: Garmin ID-Kennung der Karte. Unterschiedliche Karten brauchen hier unterschiedliche Werte.
  • Product Code: Garmin Product Code. Meistens 1.
  • Dateiname: Beginn der Dateinamen für die MapSource Dateien. Genau 4 Ziffern erlaubt. Unterschiedliche Karten brauchen hier unterschiedliche Werte.
  • Eigene Optionen für mkgmap: Hier könnt Ihr eine Datei mit zusätzlichen oder veränderten Einstellungen für mkgmap angeben. Composer liest seine Standardeinstellung aus default_options. Wenn Ihr das ändern wollt, kopiert die Datei und tragt Eure Version mit Pfad hier ein. Die Parameter werden direkt an die Optionsdatei für mkgmap angehängt, Format siehe mkgmap-Doku.
  • Maximale Objekte/Kachel: Obergrenze für die Anzahl der Objekte, die in eine Kartenkachel gepackt werden. Steuert die Aufteilung in Kartensegmente. Eingabe in Tausend. Gute Werte liegen bei 2000.
  • Maximale Kontournodes: Höchstwert für die Anzahl von Konturpunkten in einem Planquadrat, die direkt verarbeitet werden. Bei Überschreitung reduziert Composer die Anzahl der Höhenlinien, um die Karte nicht zu überladen. Eingabe in Tausend. Gute Werte liegen bei 100-150.
  • Unterkarten definieren: Es ist möglich, Unterkarten für sehr große Jobs anzulegen. Dann werden alle Garminkacheln in einem Lauf erzeugt, aber in unterschiedliche gmappsupp.img verpackt. Für jede Unterkarte muß eine Polygondatei im Osmosis-Format vorhanden sein (wie beim Schneiden von OSM-Daten). Alle Kacheln, die das Polygon berühren, kommen in die entsprechende Unterkarte.
  • Maperitive Projekt: Der Pfad zum einem Verzeichnis für ein Maperitive-Projekt, das mit Daten und Renderregeln versorgt werden soll.


Batchmodus

Composer kann im Batchmodus aufgerufen werden. Er startet dann per Kommandozeile ausgewählte Jobs, arbeitet sie nacheinader ab und beendet sich wieder.

Um den Batchmodus auszulösen wird auf der Kommandozeile folgender Befehl übergeben:

  -job <Jobname> [<Jobname2> ...]

Der Jobname entspricht der ersten Zeile im Dialog. Namen mit Leerzeichen müssen in Anführungszeichen gestellt werden.

Die Jobs werden nacheinander in der angegebenen Reihenfolge abgearbeitet, solange kein Fehler auftritt. Im Fehlerfall bricht die Verarbeitung ab und Composer beendet sich sofort.

Verwendung von Planetfiles

Herunterladen von Planetfiles

Composer kennt die Planetfiles der Geofabrik. Zum Download muß lediglich eines davon im Dialog "Region" ausgewählt werden.

Schneiden von Daten mit Osmosis

Regionen mit Datenquelle "Planetfile" nehmen ihre Daten aus einem Planetfile, das mit Hilfe von Osmosis geschnitten wird. Für jede Region wird ein separater Satz Datenfiles erzeugt.

  • Es können mehrere Regionen in einem Arbeitsgang aus demselben Planetfile geschnitten werden
  • Es können Regionen mit unterschiedlichen Planetfiles in einem Composerlauf verarbeitet werden

Polygone

Mehrere rechteckige Regionen können zu einer unregelmäßig geformten, durchgehenden Region zusammengefaßt werden, um eine nahtlose Karte mit nicht-rechteckiger Form zu erzeugen. Das Verfahren ist zweistufig.

  • Im ersten Schritt wird eine Umrißdatei erzeugt. Dafür wird ein Job angelegt, in dem der Name der Umrißdatei unter Polygon eingetragen wird und in der Drop-Down Box "Erzeugen" gesetzt ist. Es werden mehrere Regionen ausgewählt, die kombiniert werden sollen. Diese Regionen dürfen sich überlappen und sollten das normalerweise auch tun. Sie dürfen auch voneinander getrennt sein. Die anderen Tätigkeiten von Composer sollten in diesem Job abgeschaltet werden.
  • Im eigentlichen Job wird nur die Umrißdatei unter Polygon eingetragen und eine Region gewählt. Die Daten aus dieser Region werden jetzt nicht gegen die rechteckigen Koordinaten, sondern gegen die komplexe Form in der Umrißdatei geschnitten.

Wer sich mit dem Polygon-Format von Osmosis auskennt, kann natürlich auch den ersten Schritt weglassen und eine manuell erzeugte Umrißdatei mit einer beliebigen Form verwenden.

Speicherbedarf

Eine OSM-Karte enthält eine Menge Daten. Um die zu verarbeiten muß sich Composer die Positionen aller Punkte in der Karte merken. Das tut er in einer Cache-Datei auf der Platte. Damit ist er in der Lage, fast beliebig große Karten zu erzeugen. Damit das aber auch mit guter Geschwindigkeit passiert, braucht Composer eine Menge Hauptspeicher. Auf einem PC mit 2GB Hauptspeicher sollte ohne Probleme ein Kartenausschnitt von 2°x2° bzw. ca. 200 km x 200 km verarbeitet werden können. Wie groß der Höchstwert bei Euch ist, hängt von der Wegedichte des gewünschten Gebietes und dem verfügbaren Hauptspeicher Eurer Maschine ab. Ihr könnte die Speicherverwendung in den Joboptionen einstellen. Wenn Composer zu langsam läuft, erhöht den Wert. Wenn Ihr beobachtet, daß Composer nach Verarbeitung von ein paar Millionen Nodes einfach einfriert, solltet Ihr das Konsolenfenster prüfen, ob dort ein OutOfMemoryError gemeldet wird - dann war's etwas zuviel und Ihr solltet den Wert verringern.

Speicher einstellen

Man muß Java beim Start von Composer mitteilen, wieviel Speicher es maximal verwenden darf. Diese Einstellung passiert in der Datei start.bat. Standardmäßig steht der Wert auf -Xmx1200M. Das ist eine Einstellung die auf den meisten modernen PCs laufen sollte. Wenn Ihr über 2GB Speicher verfügt, könnt Ihr ihn bis auf -Xmx1600M hochsetzen. Das ist der Maximalwert für einen 32bit Windows Rechner. Auf 64bit Rechnern könnt Ihr Euren gesamten Hauptspeicher verwenden. Wenn Ihr den Wert höher einstellt, als Eure Maschine verkraftet, startet Composer gar nicht mehr.