AvnNav Karten Konvertieren

Avnav Karten und Overlays

Technischer Hintergrund

Damit Karten in der WebApp verwendet werden können, müssen sie in einem „Kachelformat“ vorliegen. Das ist das Format, das durch Dienste wie OpenStreetMaps oder GoogleMaps benutzt wird. Eine Kartenkachel ist 256x256 Pixel gross. Die Welt wird dabei auf eine ebene Fläche projiziert (das kann man sich wie einen Papierzylinder vorstellen, der senkrecht steht und am Äquator um die Erde gewickelt wird). Jeder Punkt mit seinen Koordinaten (Länge/Breite) wird dann auf diesen Zylinder projiziert. Wie man das macht, welche Einheiten in der Projektion verwendet werden, und ob die Erde als Kugel oder Ellipsoid mit verschiedenen Parametern modelliert wird, beschreiben die verschiedenen Projektionen. Die WebApp benutzt die sogenannte Google-Mercator Projektion (die Erde wird dabei als Kugel betrachtet) - mit dem EPSG code 900913. Die Einheiten auf dem Papier sind dabei Meter (die man natürlich in die entsprechenden Koordinaten umrechnen kann). Karten in einem anderen Format (z.B. WGS84 – Erde als Ellipsoid, immer in Grad) müssen daher ggf. reprojiziert werden.

Die gesamte Projektionsfläche wird bei der Google Projektion in Kacheln unterteilt. Der Zoom Level gibt an, in wieviele Kacheln die Fläche unterteilt wird. Zoom Level 0 bedeutet: die gesamte Erde (von -85° bis +85° Breite – darüber ist die Projektion nicht definiert) auf einer Kachel von 256x256 Pixel. Mit jedem weiteren Zoom Level wird feiner unterteilt: Zoom Level 1: 2x2 Kacheln, 2: 4x4 Kacheln usw. Für uns reichen die interessanten Zoom Level von ca. 7 bis 18..19. Das bedeutet (Level 19) 2^19x2^19 Kacheln.

Zur Darstellung wird die Library openlayers verwendet. Diese lädt die entsprechenden Kartenkacheln je nach Zoom Level vom Raspberry und zeigt sie an. OpenStreetMaps verwendet typischerweise diese Library.

Man kann sich leicht vorstellen, dass bei hohen Zoom Levels schnell große Datenmengen zusammenkommen. Daher müssen wir für unsere Kartenkacheln ähnlich vorgehen, wie es auch bei den Papierkarten ist: für Übersichten ein kleinerer Zoom Level, Detailkarten größer und z.B. Hafenpläne dann mit Level 18 oder 19 (60cm/pixel bzw. 30cm/pixel). Um damit arbeiten zu können, werden die verschiedenen Detailgrade dann in Layern (Schichten) übereinandergelegt. Wenn es für ein Gebiet einen Layer mit besserem (grösserem) Zoom Level gibt, wird dieser angezeigt - wenn nicht, der mit der geringeren Auflösung (ggf. noch vergrössert). Um unsere Anzeigegeräte nicht zu überlasten, kann man typisch mit 3-5 Kartenlayern arbeiten (je nach Gerät...).


Kartenformate

AvNav kann direkt Karten verarbeiten, die im Format gemf oder mbtiles vorliegen. Diese Formate sind sogenannte Raster Formate, sie enthalten die fertigen Kartenkacheln. Ausserdem können auch online Kartendienste verwendet werden, die ein solches Format bereitstellen.

Ausserdem kann AvNav mit seinem Importer eine ganze Reihe von weiteren Kartenformaten umwandeln um sie nutzbar zu machen. Das sind insbesondere Karten im .KAP Format.

AvNav kann auch Vertor Karten von o-charts (mit dem  ocharts oder ochartsng plugin) und S57 Karten (nach Konvertierung über den Importer und das ochartsng plugin) nutzen. Diese Vektorkarten werden bei der Nutzung durch die plugins automatisch in Kartenkacheln umgewandelt.

Hinweis zu mbtiles: Bei diesem Format muss ggf. noch die richtige interne Anordnung der Kacheln gewählt werden - der Standard is "xyz", es gibt aber auch Dateien, die im "tms" Format vorliegen. Eine Umschaltung kann auf der Files/Download Seite erfolgen. MbTiles können z.B. direkt von OpenSeamap heruntergeladen werden.
Für die Nutzung der Vektorkarten siehe die ocharts/ochartsng Plugin Beschreibungen.

Kartenquellen

Man kann Karten aus verschiedenen Quellen beziehen - entweder direkt in einem von AvNav nutzbaren Format (gemf, mbtiles, o-charts) oder in einem Format, das erst noch umgewandelt werden muss(z.B. BSB - .kap Dateien oser s57).

Es sind auch Tools verfügbar, um solche Karten innerhalb oder ausserhalb von AvNav herunterzuladen.

Eine Liste von Kartenquellen:

Installation von Karten

Nach der Installation ist in AvNav zunächst nur eine/einige Online-Demo-Karten vorhanden. Zur realen Nutzung müssen die Karten zunächst bei AvNav installiert werden.
Die Karten können direkt in der WebApp hochgeladen werden.

Der Weg dafür hängt vom Kartentyp ab.

Direkt nutzbare Karten (gemf,mbtiles)

Das Hochladen erfolgt auf der Files/Download Seite.
Unter Android können sie auch in das externe Kartenverzeichnis kopiert werden (nur gemf Karten).
Für mbtiles bitte auch diesen Hinweis auf der Files/Download Seite beachten.

Karten mit Konvertierung (kap, s57)

In den normalen Versionen (nicht Android) können ab 20200325 auch Karten, die erst noch konvertiert werden müssen über den Importer hochgeladen werden.
s57 Karten erfordern dabei ein installiertes ochartsng plugin.
Es sollte beachtet werden, das die Konvertierung ein rechenintensiver Prozeß sein kann, der auf einem Raspberry Pi viele Stunden dauern kann. Das sollte daher ggf. auf einem Desktop Rechner erfolgen.
Da die Konvertierungsfunktion unter Android nicht zur Verfügung steht, sollte hierfür AvNav noch einmal auf einem Linux- oder Windows-System installiert werden und die Konvertierung dort ausgeführt werden. Die erzeugten Dateien können dann direkt im Importer heruntergeladen und unter Android installiert werden.

Vektorkarten (o-charts, s57)

Diese Karten erfordern ein installiertes ocharts/ochartsng Plugin (unter Android die avocharts app - siehe ochartsng). Für Windows können diese nicht genutzt werden, da die plugins nicht für Windows bereitstehen (ausser dem Konverter von s57 nach ocharts). Für Details siehe die ocharts/ochartsng Beschreibungen. S57 Karten, die über den Importer hochgeladen wurden, werden sofort im ochartsng Plugin aktiv.

Download von Karten in AvNav

Wenn das MapProxy plugin installiert ist, werden dessen Karten in AvNav sofort sichtbar und müssen nicht getrennt installiert werden.

Overlays

Ab Version 20201219 kann AvNav über (und unter) den eigentlichen Karten noch weitere Informationen anzeigen bzw. Karten können kombiniert werden.

Für Details siehe Overlays.

Download von Karten mit dem Mobile Atlas Creator

Für die Nutzung des Mobile Atlas Creators ist ausser Java und dem MOBAC selbst keine weitere Software auf dem PC/Laptop nötig. Man muss beim Download der Karten allerdings ein gewisses Schema einhalten, damit die Karten in das oben beschriebene Layer-Konzept passen und die Datenmengen überschaubar bleiben.

Dazu sollte man (je nach Kartenquelle) z.B. 3 Layer vorsehen: Übersicht( Zoom Level 7-10) Navigation (level 10-15), Details (Level 16-18). Anschliessend sollte man im MOBAC layerweise vorgehen. Dazu jeweils als gewünschte Zoom Level die zum Layer gehörigen anklicken (links oben), danach alle Teilbereiche jeweils markieren und unter einem beliebigen Namen dem Atlas hinzufügen. Das jeweils für die anderen Layer wiederholen (dabei sinnvolle Auswahlen treffen). Anschliessend sollte man die Atlas-Konfiguration unter einem beliebigen Namen speichern - die kann man ggf. noch für weitere Versuche brauchen. Als output Format OsmDroid GEMF (File->convertAtlasFormat) wählen und die Atlas-Erzeugung starten. Im output Verzeichnis entsteht eine xxx.gemf Datei. Diese auf den raspberry installieren.
Auf der Mapsources Seite sammle ich chart sources für den mobac, die für uns nützlich sein könnten.