DE:Maperitive
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.
- Der einfachste ist vielleicht einen Bereich in JOSM herunterzuladen und ihn dann mit Datei>Speichern auf der Festplatte abzulegen.
- Oder suche eine Auswahl von Bz2-Dateien von Geofabrik heraus
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!):
- http://svn.openstreetmap.org/applications/share/map-icons/
- http://svn.openstreetmap.org/applications/rendering/mapnik/symbols
- http://josm.openstreetmap.de/svn/trunk/images/presets/
- http://mapicons.nicolasmollet.com/
Links (alle Englisch)
- Maperitive website: http://maperitive.net/
- Download: http://maperitive.net/download/
- Dokumentation: http://maperitive.net/docs/manual/
- Der Blog des Autors: http://igorbrejc.net/category/openstreetmap/maperitive
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
- Bei der Bereitstellung von Tiles über den eigenen Webserver kann es zu Fehlauslieferungen kommen. In diesem Falle werden statt Leerkacheln andere ausgeliefert. Eine ausführliche Problembeschreibung findet sich im selfhtml-Forum. Die Lösung liegt im .htaccess-Parameter CheckSpelling Off oder das Deaktivieren des mod_speling Moduls aus auf dem Tileserver.