DE:Maperitive

From OpenStreetMap Wiki
Jump to: navigation, search
Help
Verfügbare Sprachen
Deutsch English Français Italiano Русский
Maperitive auf Mac OS X
Deutsches Hochspannungnetzwerk gerendert mit Maperitive
Österreichisches Hochspannungnetzwerk gerendert mit Maperitive (Stand 2011)
Anmerkungen des Übersetzers: Bitte helft mir und macht die Übersetzung 
besser und vollständig. Neue Abschnitte falls irgend möglich sowohl hier 
in deutsch als auch im englischen Hauptartikel in englisch einfügen, danke!

Maperitive ist ein Programm, das Karten in Echtzeit aus OSM-Daten und anderen Quellen rendert. Es ist der Nachfolger von Kosmos.

Erläuterungen zur Umbenennung auf dem Blog des Autors (englisch)

Die englischsprachige Hauptwebseite über Maperitive findet man hier: http://maperitive.net/

Die Handbücher zu Maperitive befinden sich noch im Aufbau. Sie sind unter http://maperitive.net/docs/manual (englisch) zu finden. Die Anweisungen auf dieser Seite sind dazu gedacht, dass Du schonmal loslegen kannst, während die vollständige Dokumentation noch erstellt wird. Sie basieren auf dem was frühe Nutzer herausgefunden haben und auf den hilfreichen E-Mails vom Autor des Programms.

Die neueste Version von Maperitive kann unter http://maperitive.net/download/ heruntergeladen werden. Man sollte aber in Betracht ziehen, dass das Programm sich noch in einer frühen Phase seiner Entwicklung befindet, bislang nur eine rudimentäre GUI mitbringt und ansonsten über Kommandoeingabe an einer Befehlszeile bedient wird. Schrittweise Verbesserungen sind jedoch an jeder Version erkennbar. Das Programm kann sowohl unter einer Windows- oder einer Linux-Umgebung betrieben werden. In den Befehlszeilen der Konsole ist auf die Verwendung von "\" bei Windows oder "/" bei Linux zu achten.

Contents

Installation

Windows

Die neueste Version des Zip-Pakets Maperitive von http://maperitive.net/download/ herunterladen und in ein frei wählbares Verzeichnis entpacken. (Es kann von Sinnvoll sein, die Versionsnummer zu entfernen, damit Updates an die gleiche Stelle kommen)

Zum Ausführen des Installations-Programms dann einfach die Datei maperitive.exe doppelklicken.

Ein Doppelklick auf Maperitive.exe startet unter Windows das Programm. (Es empfiehlt sich einen Icon auf den Desktop zu legen, denn es erscheint nicht unter 'alle Programme').

Ubuntu 11.10

Lade die neueste Version des Maperitive-Zip-Archivs von http://maperitive.net/download/ und entpacke sie in ein frei wählbares Verzeichnis.

sudo apt-get install libmono-winforms2.0-cil
chmod +x ./Maperitive.sh
./Maperitive.sh

Die Probleme, welche in der 10.04 Version aufgetreten sind, scheinen soweit nicht mehr vorzukommen!

Ubuntu 10.04

Lade die neueste Version des Maperitive-Zip-Archivs von http://maperitive.net/download/ und entpacke sie in ein frei wählbares Verzeichnis. (Es kann von Bedeutung sein, die Versionsnummer zu entfernen, damit Updates an die gleiche Stelle kommen)

sudo apt-get install libmono-winforms2.0-cil
chmod +x ./Maperitive.sh
./Maperitive.sh

Da Maperitive eine eigene Dateinamen-Erweiterung für seine Rendering-Regeldateien nutzt (.mrules), funktioniert eventuell das Kommando edit-rules zur Bearbeitung der mrules-Dateien nicht. Um das Problem zu beheben, kann man für diese Dateien einen eigenen MIME-Typ und einen passenden mailcap-Eintrag erstellen. Die folgenden Befehle generieren entsprechende benutzerspezifische Einträge und legen den Editor gedit als Voreinstellung für mrules-Dateien fest:

echo "text/vnd-maperitive-rules  mrules" >> ~/.mime.types
echo "text/vnd-maperitive-rules; gedit '%s'; description=\"Maperitive rules file\"; test=test -n \"\$DISPLAY\"" >> ~/.mailcap

Fedora 14

Lade die neueste Version des Maperitive-Zip-Archivs von http://maperitive.net/download/ und entpacke sie in ein frei wählbares Verzeichnis. (Es kann von Bedeutung sein, die Versionsnummer zu entfernen, damit Updates an die gleiche Stelle kommen)

Als Root auszuführen:

yum install mono-winforms

Dann geht man zum Verzeichnis wohin Maperitive entpackt wurde und macht es durch folgenden Befehl zur ausführbaren Datei

chmod +x ./Maperitive.sh

gestartet wird mit:

./Maperitive.sh


Mac OS X

Neueste Mono Installation laden und installieren (Achtung es muss X11 auf dem Mac installiert sein)

Maperitive laden, entpacken und den ganzen Ordner in den Programme Ordner verschieben (oder sonst wo hin)

Um Maperitive zu starten das Terminal öffnen und zum Maperitive Ordner wechseln

cd /applications/maperitive

Maperitive starten:

mono maperitive.exe

mit Eingabetaste bestätigen und etwas warten

Datenbeschaffung

Man braucht zunächst eine Datei mit OSM-Daten. Es gibt diverse Wege an diese zu kommen.

Bedienhinweise zu den Grundfunktionalitäten

Es empfiehlt sich ein eigenes Arbeits-Verzeichnis z.B. mit Daten, Rules, Scripten und Ergebnis-Unterverzeichnissen anzulegen.

Die späteren Beispiele setzen voraus, dass die Daten im Verzeichnis c:\users\igor\documents\osm\maperitive\data\test.osm enthalten sind. Das Standardverzeichnis wird mit folgendem Kommando gesetzt:

change-directory c:\users\igor\documents\osm\maperitive\

Das Bild verschieben kann man indem man bei gedrückter linker Maustaste die Maus bewegt.

In der Grundeinstellung wird dann die Mapnik.Karte als Hintergrund angezeigt. Klicke auf die graue Leiste unten im Fenster (oder drücke einfach Return) - die Leiste färbt sich jetzt gelb - und setze den Befehl

clear-map

(dt. "lösche Karte") ab um den Mapnik-Hintergrund loszuwerden. Man kann aber mit Hintergrund arbeiten.

Beachte das die Eingabe von "clm" schon ausreicht, denn Maperitive benötigt nur eine ausreichende Anzahl Buchstaben, um den Befehl eindeutig zu bestimmen, der Rest des Befehls wird automatisch während der Eingabe ergänzt. So wird "cl" zu "clear-" und das "m" ergänzt dann "map".

Nehmen wir also an, Du hast eine OSM-Datei namens test.osm im Unterverzeichnis MeineKarten des maperitive-Verzeichnisses (Derzeit ist es wichtig, dass die Datei auf ".osm" endet). Um diese Karte zu laden lautet der Befehl:

load-source MeineKarten/test.osm

Die Karte wird jetzt geladen und entsprechen der unter Maperitive\Rules\Default.txt hinterlegten Standard(Default)-Regeln erstellt. Diese Standard-Regel erzeugen ein Kartenbild, das Mapnik entspricht. Um dieses Momentanergebnis zu speichern dient folgendes Kommando:

export-bitmap zoom=15 file=output/test.png width=3000 height=3000 scale=3

Damit ist die erste Karte berechnet (gerendert).

Änderung der Berechnungsregeln (Rendering Rules)

Möchte man eigene Regeln verwenden, so muss man eine neue Datei im Unterverzeichnis "Rules" anlegen. Man sollte nicht die Default-Regeln anpassen, denn sie werden mit jedem Programm-Update überschrieben.

Erster Versuch

Einfachster Weg zu eigenen Regeln ist eine Kopie der Standardregeln abzuwandeln. Man öffnet die Standardregel mit:

edit-rules

und speichert sie mit File>Save As in rules/test.txt

Bei der Bearbeitung orientiert man sich an seinen Vorstellungen. Man kann z.B. versuchen einige Farben zu ändern (die meisten der üblichen Farben lassen sich mit Worten(englisch) eingeben). Nach dem Abspeichern der Änderungen werden sie angewendet:

use-ruleset location=rules/test.txt as-alias=test
apply-ruleset

Änderungen an gerade benutzten Regeldateien werden von Maperitive beim Abspeichern automatisch nachgeladen und das Maperitive-Fenster zeigt wenige Sekunden später das neue Kartenbild an.

Zu der Standard-Regeln, nutzt man den alias:

use-ruleset alias=default
apply-ruleset

Maperitive erinnert sich an den Speicherort der eigen Regeln, daher braucht man sie nicht wieder zu laden. Die Wiedernutzung eines alias überschreibt die alte Position.

Beispiel

Nehmen wir an, Du hast eine Regeldatei namens Wanderkarte.txt erstellt. Führe den folgenden Befehl aus, um diese Regeln zu laden:

use-ruleset location=Rules/Wanderkarte.txt as-alias=wanderkarte

Danach sind Deine Regeln geladen und in den Einstellungen des Programms gespeichert, um sie später verwenden zu können. Um dies zu tun, nutze den folgenden Befehl:

apply-ruleset

Möchtest Du diese Regeln später noch einmal (nach-)laden, so kann der folgende Befehl benutzt werden:

use-ruleset alias=wanderkarte

Den Befehl "apply-ruleset" braucht man auch nur, wenn die Karte schon mit "load-source" geladen ist. Denn er wird bei diesem Befehl automatisch mit ausgeführt.

Eine nützliche Funktion ist der "wirefame"-Regelsatz, welches alle Linien anzeigt, egal welchen tag sie haben. Dieser Regelsatz ist bereits vordefiniert unter dem alias (dt. Kurznamen) "wirefame". Mit dem Befehl use-ruleset alias=wireframe gefolgt von apply-ruleset kann man ihn benutzen. Um zur Anzeige der Default-Karte zurückzuschalten, nutze use-ruleset alias=default und vergiss nicht diesen Default-Regelsatz mit apply-ruleset zu aktivieren.

Eigene Regeln

Man kann natürlich auch eigene Regeln erstellen. Wichtig beim Erstellen oder modifizieren von Regeln sind die Einrückungen!

Beispiele für benutzerdefinierte Regeln findet man auch hier im Wiki unter der Category Maperitive/Rules und einige Ergebnisse unter Maperitive/SampleRenderings.

Skripte

Man kann auch Skripte erstellen, um eine Karte mit Maperitive zu erstellen. Dafür speichert man die Befehle einfach in einer Datei.

Angenommen, Du möchtest Deine Karte mit Nutzung eigener Regeln laden. Die OSM-Datei liegt mit Namen mein_gebiet.osm im Unterverzeichnis MeineKarten und der selbst erstellte Regelsatz ist mit dem alias "wanderkarte" geladen. Um dieses auszuführen kann man auch eine Datei wanderkarte_skript.txt erstellen mit dem folgenden Inhalt:

clear-map
change-directory c:/Benutzer/XXX/Eigene Dokumente/osm/maperitive/
use-ruleset location=rules/wanderkarte.txt as-alias=wanderkarte
load-source MeineKarten/mein_gebiet.osm 
export-bitmap zoom=15 file=output/wanderkarte.png width=3000 height=3000 scale=3

Diese Datei kann man dann im selben Verzeichnis wie die ausführbare Datei ablegen. Das Skript wird dann auf der Kommandozeile gestartet mit:

run-script c:/Benutzer/XXX/Eigene Dokumente/osm/maperitive/scripts/wanderkarte_skript.txt

oder als Batch-Datei(.bat) in Windows mit dem Inhalt:

Maperitive.exe wanderkarte_skript.txt 

Diese Batch-Datei kann auf dem Desktop mit einer Verknüpfung abgelegt werden. Als Icon eignet sich der mitgelieferte von Maperitive. So können auch kompliziertere Karten gebaut werden, für die man alle benötigten Befehle aneinanderhängt, z.B. Datei laden - Regeln aktivieren - Standort setzen - Konturen hinzufügen und die fertige Karte als Bitmap exportieren.

Zum Verständnis der Regeldatei

Die Hauptstruktur besteht in folgendem:

features
       …
       areas
               …
       lines
               …
       points
               …
properties
       …
rules
       target  :  feature1
                  …
       target  :  feature2
                  …

Die features Sektion sagt Maperitive welche Daten genutzt werden sollen. Man kann Eigenschaften definieren die nur für areas (Flächen), lines (Linien oder Ways) oder points (Punkte) zutreffen oder man kann allgemeingültige aufstellen.

Die properties Sektion dient dem Überschreiben der Standards von Maperitive (speziell der benutzten Schriften).

Die rules Sektion teilt Maperitive mit, was für jede Eigenschaft eingezeichnet wird, wenn sie das Kritrerium erfüllt. Normalerweise definiert man ein paar Eigenschaften, dann lässt man sie zeichnen usw. Man kann die Darstellung in jeder Regel bei weiteren Tests ändern. Das macht das Programm wirklich sehr Anpassungsfähig.

Maperitive-Befehle

Eine komplette Liste aller Befehle erhält man durch die Eingabe von help-commands. Allerdings rauscht die Liste recht schnell in einem recht kleinem Fenster an einem vorbei, so dass hier eine Liste mit Stand der Version 809 (28 März 2010) dokumentiert werden:

Command Action
add-web-map background=<draw the map in background (true/false)> intensity=<intensity of the web map (from 0 to 1)> provider=<name of the web map provider (mapnik, osmarender, osm cyclemap> Verändert den web map provider für die Karte (mapnik, osmarender, osm cylemap)
apply-ruleset [sourceindex] aktiviert einen Regelsatz für die Kartendarstellung
change-directory <verzeichnis> Wechselt das aktuelle Verzeichnis
check-updates Prüft auf neue Updates von Maperitive
clear-cache webmap=<clear cached web map tiles> löscht den application cache (Anwendungs-Zwischenspeicher)
clear-command-history löscht die Befehlsgeschichte
clear-map löscht die Karte(entfernt alle Karten-Quellen)
clear-results löscht die Resultate der Suche
dump-bounds listet die map view bounds in die Komando-Logdatei
dump-entrails listet Mapertivie's entrails in die Komando-Logdatei (zur Fehlersuche)
dump-pos listet die gegenwärtige Kartenposition in die Komando-Logdatei
exit Beendet Maperitive
export-bitmap aspect=<preserve aspect ratio> scale=<scale> zoom=<zoom level> file=<bitmap file name> width=<bitmap width> height=<bitmap height> Exportiert die gegenwärtige Kartenansicht in eine Bitmap-Datei, erzeugt auch worldfile
export-command-history <outputfilename> exportiert die Befehlsgeschischte in eine Textdatei
export-osm <filename> [sourceindex] exportiert die gegenwärtige Kartenansicht in ein OSM file (nur die OSM Daten)
find <specificationtext> sucht nach Kartendaten mit Hilfe einer Abfragesprache
find-next geht zum nächsten Eintrag in den Suchergebnissen
find-prev geht zum vorangegangenem Suchergebnis
generate-contours [elevationinterval] generiert Reliefkonturen für die aktuelle Kartenansicht
get-info zeigt detaillierte Informatioen über das aktuell ausgesuchte Kartenobjekt an
help zeigt Help Bedinungs-Informationen an
help-commands zeigt eine Liste aller Maperitive Kommandos an
help-keyboard zeigt eine Liste aller Maperitive Tastaturbefehle an
help-properties zeigt eine Liste aller Maperitive rendering rules properties
list-results listet Suchergebnisse ins Befehls-Log
list-rulesets zeigt eine Liste aller angemeldeten Regeldatein an
list-sources zeigt eine Liste aller Karten-Quellen in der Karte
list-viewpoints zeigt eine Liste aller hervorgehobener Punkte
load-source <filename> lädt eine Karten-Quelle aus einer Datei (OSM, GPX or IBF file)
move-pos <x> <y> [zoom] zentriert die Karte auf eine andere Position
prompt aktiviert die Kommandozeile
remove-ruleset index=<ruleset index> alias=<ruleset alias> location=<ruleset location> entfernt (deregisters) eine Regeldatei
remove-source [sourceindex] entfernt eine spezielle Karten-Quelle von der Karte
run-script <scriptfilename> startet einen Maperitive script mit der angegebene Datei
save-map-script <scriptfilename> speichert die aktuelle Karte als einen Script
save-source <sourceindex> <destfilename> speichert eine spezielle Karten-Quelle in die angegebene Datei
send-feedback öffnet den Nutzereigenen E-Mail-Client und bereite eine Mail an den Author voin Maperitive vor
use-ruleset index=<ruleset index> as-alias=<new alias> location=<ruleset location> alias=<ruleset alias> aktiviert die angegebene Regeldatei
zoom <zoomfactor> stellt den zoom level der Kartenansicht ein
zoom-all zoomt auf die Grenzen der Karte
zoom-bounds <minx> <miny> <maxx> <maxy> zoomt auf die angegebenen Kartengrenzen
zoom-in vergrößert
zoom-out verkleinert
zoom-selection zoomt auf das gerade ausgewählte Element

Tastatur-Befehle

Die vollständige Liste der Tastatur-Befehle sieht man durch Eingabe von help-keyboard. Sie rollen sehr schnell über den relativ kleinen Bildschirm, daher werden sie hier noch mal in Version 1154 aufgelistet (Stand 02. April 2011)

> help-keyboard
   F3 (global): find-next
   Shift+F3 (global): find-prev
   Ctrl+A (map): zoom-all
   Ctrl+Shift+C (global): generate-contours
   Ctrl+Shift+D (global): download-osm
   Ctrl+E (global): export-bitmap
   Ctrl+H (global): go-home
   Ctrl+M (global): focus-map
   Ctrl+N (global): clear-map
   Ctrl+Q (global): exit
   Ctrl+R (global): reload-ruleset
   + (map): zoom-in
   = (map): zoom-in
   - (map): zoom-out
   Left (map): move-screen-pos x=-0.1
   Right (map): move-screen-pos x=0.1
   Up (map): move-screen-pos y=-0.1
   Down (map): move-screen-pos y=0.1
   Ctrl+Enter (global): prompt

Icons

Icons (Kartensymbole) sind z.B. hier erhältlich (Die Lizenz sollte allerdings ggf. beachtet werden!):

Links (alle Englisch)

How to

Wie man mit Maperitive ohne Internetzugang arbeiten kann und verschiedene Optionen einfach dem Endnutzer zur Verfügung stellen kann :

Wie benutzt man den find-Befehl (Suchen) von Maperitive

Bereits bearbeitete Beispiele für angepasste Rules findet man unter

Tipps

Personal tools
Namespaces
Variants
Actions
site
Toolbox