Hallo,
ich finde ja die OpenAndroMaps auf Basis von mapsforge (offline OSM vector maps) z.b. in Ortschaften ziemlich praktisch, weil man einen besseren Überblick über die Einrichtungen, wie Restaurants, Cafes, Hotels, Bikeshops usw., hat. Leider geht das nur auf Android-Basis.
Ich habe jetzt eine passable Möglichkeit gefunden, wie man die Karten auch in CGPSL anschauen kann. Dazu gibt es ein OpenSource-Projekt, welches einen Mapsforge-Tileserver beeinhaltet. Diesen Server kann man auf seinem lokalen Windowssystem betreiben und durch eine COSM-Online-Karte in CGPSL die auch auf dem Windowssystem abgespeicherten Openandromaps-Karten anschauen.
Leider funktioniert die herunterladbare Mapsforge-Tileserver Version 0.2 auf Windows nicht, so dass ich 2 kleine Änderungen an der Software machen musste (Lizenzrechtlich erlaubt).
Hier eine Anleitung für Interessierte:
- Die als Anhang bereitgestellte Zip-Datei von mir herunterladen und auf dem Windowssystem entpacken.
- Der Tileserver benötigt Java JRE 8. Wer das standardmäßig noch nicht auf seinem System hat, kann nur für den Tileserver eine eigene JRE verwenden. Dazu die Java SE 8 JRE bei Oracle herunterladen. Hier am besten das Windows x64 Tar-Paket wählen, welches man ohne Installation verwenden kann. Das darin enthaltene Verzeichnis jre1.8.0_XX in das Verzeichnis MapsforgeTileServer von Punkt 1 entpacken.
- Die gewünschten Openandomaps-Karten in einem Verzeichnis deiner Wahl abspeichern.
- Die Theme-Konfiguration für die Kartendarstellung in einem weiteren Verzeichnis deiner Wahl abspeichern.
- Jetzt muss man noch eine COSM-Datei für CGPSL erzeugen. Sie heisst z.b. Openandromaps.cosm und hat folgenden Inhalt:Code
Alles anzeigenVERSION=1.0 WEB=http://127.0.0.1:6090/ CACHEDX=256 CACHEDY=256 FORMAT=PNG PIXWIDTH=67108864 PIXHEIGHT=67108864 MAXZOOMLEVEL=18 [IMP] CompeGPS MAP File <Header> Version=2 VerCompeGPS=6.01.b Projection=2,Mercator, Coordinates=1 Datum=WGS 84 </Header> <Map> Bitmap=FILE_NAME BitsPerPixel=8 BitmapWidth=67108864 BitmapHeight=67108864 Remote=1 </Map> <Calibration> P0=0.00000000,0.00000000,A,-180.00000000,85.05112851 P1=67108864.00000000,0.00000000,A,180.00000000,85.05112851 P2=0.00000000,67108864.00000000,A,-180.00000000,-85.05112851 </Calibration>
- Zum Starten des Tileservers braucht man ein Konsolenfenster (Eingabeaufforderung), worin man sich im Verzeichnis MapsforgeTileServer (erzeugt bei Punkt 1) befindet. Dafür am besten im Explorer auf dieses Verzeichnis Shift-Rechts-Klicken und 'Eingabeaufforderung hier öffnen' wählen.
- Im Konsolenfenster gibt man folgenden Befehl ein. Mit <PfadKarteX> ist der vollständige Pfad zu einer unter Punkt 3 heruntergeladenen Karte gemeint. Mit <PfadTheme> ist der vollständige Pfad einer der unter Punkt 4 erhaltenen Theme-XML-Dateien gemeint (z.b. Elevate_Hiking.xml). Wer eine systemweite JRE 8 hat, muss im Aufruf den Pfad zum java-Kommando entsprechend anpassen.Code
jre1.8.0_XX\bin\java -Djava.library.path=lib -jar mapsforge-tile-server.jar --map <PfadKarte1>[,<PfadKarte2>,...] --theme <PfadTheme>
- In CGPSL die bei Punkt 5 erzeugte COSM-Datei öffnen. Die Karte sollte erscheinen. Natürlich muss man sich im von den Karten abgedeckten Bereich befinden.
- Zum Stoppen des TileServers im Konsolenfenster STRG-C drücken.
Optionen
- Natürlich kann man den Aufruf noch verbessern, indem man sich ein Skript bastelt.
- Es gibt auch noch den Parameter --cache-file. Damit kann man die Cache-Datei des Tileservers, welche ziemlich groß werden kann, z.b. auf eine andere Platte auslagern.
- Der Tileserver ist so nur lokal erreichbar. Es gibt auch noch Parameter --host und --port, mit denen man den Server im lokalen LAN sichtbar machen könnte.
Viel Spaß