Praxis

Die folgenden Ausführungen beziehen sich im Wesentlichen auf ein Projekt, das für ein in Kürze erscheinendes E-Book mit dem Arbeitstitel "Bornholm naturnah" entstand. Allerdings eignen sich die Verfahren in weiten Teilen auch für andere Projekte. Für diesen Workshop kam die Maperitive-Version 2.3.35 zum Einsatz. Mit folgenden Arbeitsschritte erstellen Sie eine neue Karte:

  • Kartendaten laden.
  • Eine erste Übersicht erstellen.
  • Festlegen, was die Karte zeigt (Regeln erstellen).
  • Regeln testen, anpassen und verbessern.
  • Feinarbeiten, wie Höhenlinien einbauen.
  • Eine Ausgabedatei (SVG-Datei) erzeugen.
  • Finishing: Die SVG-Datei bearbeiten und drucken.

Die Daten für die Karten beziehen Sie aus zwei Quellen: entweder direkt von den OSM-Servern oder aus vorgefertigten OSM-Dateien. Die aktuelle Version von Maperitive kann die OSM-Daten direkt laden und sogar lokal speichern. Der Vorteil beim Verwenden lokal gespeicherter Karten ist nicht zu unterschätzen: Während sich die Online-Daten beständig ändern, lassen sich lokale Datensätze in Ruhe auswerten und gegebenenfalls anpassen. Nicht alle OSM-Dateiformate eignen sich allerdings für alle Editoren – Merkaartor etwa liest keine PBF-Files.

Zum Laden der Online-Daten verschieben und skalieren Sie die Karte zunächst so, dass sie den gewünschten Bereich zeigt. Im Menü Map wählen Sie durch Set Geometry Bounds die Funktion zur Definition der Grenzen aus. Dazu verkleinern Sie den Ausschnitt etwas, bis die Software die Grenzen des Bereichs in der Vorschau zeigt. In den Ecken befinden sich Anfasser, mit deren Hilfe Sie den gewünschten Ausschnitt exakt einstellen. Es lohnt sich, in dicht kartierten Bereichen wie Deutschland den Ausschnitt knapp zu wählen, da dies später Speicherplatz und Rechenzeit spart.

Über Download OSM Data (Overpass) starten Sie nun den Download. Je nach Lage und Größe des Gebiets dauert er eine Weile. Die erzeugten Dateien lesen Sie im Programm über File | Open Map Sources... ein. Um die Daten auf Korrektheit und Vollständigkeit zu testen, genügt es normalerweise, die Standard-Regeln via Switch to Rules im Menü Map anzuwenden. Deaktivieren Sie die Web Map unter Map Sources, um die Ergebnisse zu sehen.

Der nächste Schritt ist der aufwendigste: Sie erstellen oder modifizieren die Regeln, um individuelle Anpassungen vorzunehmen. Im Menü Map startet Edit Rendering Rules einen Editor mit den momentan aktiven Regeln. Grundsätzlich haben Sie hier zwei Möglichkeiten, weiter vorzugehen. Entweder bearbeiten Sie bereits vorgefertigte Regeln, die oft allerdings recht komplex und schwer zu verstehen sind. Ein Tipp dazu: Sehen Sie sich erst einmal die Dateien unter ./Rules/ im Installationsverzeichnis von Maperitive an, statt gleich die Default-Rules zu bearbeiten. Alternativ bauen Sie schrittweise einen eigenen Regelsatz auf. Anregungen dazu finden Sie in bestehenden Regeln [4].

Von Regeln und Befehlen

Zwei Termini treten im Zusammenhang mit Maperitive immer wieder auf: Regeln und Befehle. Beide beeinflussen die Anzeige der Karten, aber auf unterschiedlichen Ebenen. Während Befehle sich auf die Funktionen des Programms beziehen und diese aufrufen, steuern Regeln das Aussehen von Objekten auf der Karte, indem sie die Interpretation der verwendeten Daten steuern [5].

Regeln legen insbesondere fest, welche Objekte aus den eingeladenen Daten auf welche Weise erscheinen. Der Regelsatz lagert normalerweise im Klartext in einer speziell formatierten Datei mit der Extension .mrules ("Maperitive Rules"). Damit das Programm diese Regeln zum Rendern verwendet, aktivieren Sie sie durch die Befehle use-ruleset und apply-ruleset im Commander. Das dauert einen Moment – Running a task in der Vorschau kennzeichnet den Zustand. Den Effekt geänderter Regeln sehen Sie sich mittels reload-ruleset an, nachdem Sie die Rules-Datei neu geschrieben haben.

Eine Regel-Datei besteht aus mehreren Teilen. Als besonderes Kennzeichen verwenden diese Dateien Einrückungen, um unterschiedliche Strukturen zu unterscheiden. Es gibt hauptsächlich drei Arten von Objekten, mit denen die Software arbeitet: * Punkt-Objekte ("point features", dargestellt durch OSM Nodes) für Elemente wie Bergspitzen, Aussichtspunkte aber auch ein Stadtzentrum, * Linien-Objekte ("line features") wie OSM-Ways, also Straßen aller Art, Routen, Flüsse, sowie * Flächen-Objekte ("area features"), durch geschlossene OSM-Ways erzeugte Flächen (Gebäude, Plätze, Wälder oder Seen).

Listing 1 zeigt den prinzipiellen Aufbau einer Regeldatei anhand von Auszügen aus verschiedenen MRULES-Files. Das Schlüsselwort features rücken Sie nicht ein, wohl aber die folgenden Schlüsselworte points, areas, lines und die weiteren konkreten Targets. Interessanterweise dürfen mehrere Points-Bereiche in einer Datei auftreten, was die Lesbarkeit erhöht, ebenso wie das Einfügen von Kommentaren ("Routes").

Listing 1

features
  points, areas
    hospital : amenity=hospital
    [...]
  areas
    building : building=yes
    water : natural=water OR waterway=riverbank OR landuse=reservoir OR landuse=basin OR waterway=dock
    [...]
  lines
    oneway : oneway=yes OR oneway=true OR oneway=-1
    river : waterway=river
    [...]
    gps tracks : gpstrack[]
[...]
// Routes
    route ncn : relation[type=route AND route=bicycle AND network=ncn]
    route foot : relation[type=route AND route=foot]
[...]
  points
    supermarket : shop=supermarket
[...]

Aufgrund der Vielfalt der Tags [6] ist es nicht ganz einfach, die richtigen Tags zu bestimmten Objekten in einer OSM-Datenbank zu finden. Ein typisches Beispiel bieten Wälder, manchmal als natural=wood gekennzeichnet, manchmal als landuse=forest. Noch schwieriger ist es mit Wasserflächen: Diese finden sich als natural=water, waterway=riverbank, landuse=reservoir, landuse=basin, waterway=dock und anderes mehr. Um möglichst gebräuchliche Tags für mit Sicherheit schon in den Karten vorhandenen Strukturen zu finden, bieten sich Seiten wie die Übersicht von OSM [7] sowie eine Liste der speziellen Objekte [8] an.

Viele Objekte erscheinen als Icons oder Text, wie die folgenden Beispiele zeigen. Da Maperitive die OSM-Datenbank auswertet, kann das Programm im Prinzip alle dort vorhandenen Objekte anzeigen. Dabei steuert ein mehrstufiger Prozess das Zeichnen der Objekte. Das verdeutlicht ein typisches Problem beim Erstellen der Regeln, das Fehlen bestimmter Einträge in den Karten.

Wollen Sie auf einer Karte etwa Unterstände verschiedener Arten hinzufügen, benötigen Sie eine Target-Definition für diese Objekte. Sie sind als amenity=shelter in der OSM-Datenbank eingepflegt. Die benötigte Definition kopieren Sie beispielsweise aus Hiking.mrules (Listing 2). Allerdings genügt es nicht, diese Definition in die MRULES-Datei einzufügen. Sie müssen zusätzlich ein entsprechendes Feature deklarieren:

shelter : amenity=shelter

Listing 2

  target: shelter
    define
      icon-image : icons/SJJB/png/accommodation_shelter2.n.32.png
      icon-width : 24
      min-zoom : 10
    draw : icon

Fehlt dieser Eintrag unter features im Bereich points oder ist er nicht korrekt eingerückt, erscheinen die Shelter nicht in der Karte. Eine häufige Fehlerquelle bei diesen Definitionen stellen die Einrückungen dar: Achten Sie unbedingt darauf, dass die Anweisung draw auf der gleichen Ebene erscheint wie define, und rücken Sie die zusätzlichen Angaben wie icon-width ein.

Unglücklicherweise geben die Fehlermeldungen kaum Aufschluss über die Gründe, warum etwas nicht korrekt erscheint. Dasselbe gilt übrigens für auskommentierte Einträge, die ebenfalls auf der entsprechenden Ebene stehen müssen, damit der Parser von Maperitive nicht aus dem Tritt gerät.

Tatsächlich gibt es noch eine weitere Ebene für Regeln, die es ebenfalls zu beachten gilt: Von einem Target sehen Sie nur genau das, was Sie durch draw in der Target-Definition ausgeben. Wollen Sie die verfügbaren Supermärkte einbinden, so geschieht dies durch ein Target wie in Listing 3.

Listing 3

  target: supermarket
    define
      icon-image : icons/shopping_supermarket.p.32.png
      min-zoom : 1
      font-size: 10
      icon-width : 16
    draw : icon

Supermärkte tragen normalerweise einen Namen, etwa den Namen der Kette, zu der sie gehören. Es wäre praktisch, wenn Sie diesen neben dem für alle Supermärkte identischen Symbol ebenfalls sähen. Das erreichen Sie durch einen Eintrag in der Form draw : text (gleiche Tiefe beim Einrücken wie draw : icon).

Als Icons unterstützt Maperitive bisher ausschließlich PNG-Grafiken. Sie müssen außerdem darauf achten, dass die Dimensionen des Icons mit dem gewünschten Ziel übereinstimmen, Pfeile also beispielsweise tatsächlich auf die markierte Stelle zeigen. Kann die Applikation ein Icon nicht anzeigen, fehlt es kommentarlos in der Ausgabe.

Eine weitere Besonderheit: Normalerweise verwenden die Regeln feste Größen, die unabhängig vom Zoom-Level der Karte für die identische Ausgabe von Draw-Strukturen sorgen. Bei Ausschnitten, die einem Blick aus weiter Ferne auf die Karte entsprechen, zeigt die Software die Icons und den Text also genauso groß an wie bei Ansichten, die einem Blick aus geringer Entfernung entsprechen.

Es gibt aber eine Möglichkeit, die Anzeige abhängig vom Zoomlevel zu definieren: Um beispielsweise aus größeren Entfernungen die Orte zu finden, an denen es einen Supermarkt gibt, wäre es sinnvoll, die entsprechenden Icons schon bei geringen Zoom-Leveln zu aktivieren. Das erledigen Sie in der Target-Definition durch min-zoom : 5.

Damit das Icon dann nicht zu groß erscheint und andere wichtige Informationen verdeckt, geben Sie unter icon-width statt icon-width : 24 etwas an wie icon-width : 5:8;10:12;13:24. Das Programm interpretiert dies so: Bis Level 5 kommen die Icons mit 8 Pt zum Zug, dann ab Level 10 die 12-Pt-Icons und schließlich ab Level 13 Icons in 24 Pt Größe.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 8 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Auf eigenen Wegen
    OSM-Karten sind mit Garmin-Navis kompatibel. Schwierig gestaltet sich der Import nicht – es bedarf aber einiger Grundlagen, Ausdauer und Erfahrungen.
  • Echte Karten für das Rennspiel

    Die Entwickler des Linux-Rennspiels Supertuxkart haben es möglich gemacht, Openstreetmap-Daten für den Bau eigener Rennstrecken zu verwenden. Ein erstes Beispiel führt den rasenden Pinguin nach Rostock.
Kommentare

Infos zur Publikation

LU 10/2017: Daten retten & sichern

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...