ich habe eine Frage zu der Verwendung von OSM als Offline-Karten. Und zwar würde ich gerne allgemein kompatibel einen Kartensatz erstellen, welcher mit allen gängigen browserfähigen Geräten (Android, Windows, iOS, R.Pi OS, Linux, etc) offline nutzbar ist. Daher mein Ansatz: HTML+JPG/PNG auf z.B. einer SD-Karte. Das sollte auch in 20 Jahren noch unterstützt werden.
Warum: Weil ich bzgl. Notfall- / Prepper-Situationen gern eine unabhängige Landkarte in digitaler Form dabei hätte. Kein Internet/Handynetz = kein Zugriff auf Karten im Internet.
Ich hatte mir dabei überlegt, aus OSM in 3 Ebenen (3,7,12) Bilder der Karten zu generieren und diese mit HTML (z.B. dem “map”-Tag) miteinander zu verknüpfen. So würde eine interaktive kompatible Karte entstehen.
Gibt es bereits so ein Projekt?
Gibt es bestehende Alternativen?
Wenn nein, kennt sich jemand mit der API aus?
Dir ist bewusst, dass du mit diesem Ansatz nur eine rein visuelle Karte hast? Keine Suchfunktion, kein Routing, keine POI-Informationen. Dennoch ist eine vergleichsweise große Datenmenge notwendig, außer, du suchst dir eine Lösung mit Vektor-Kacheln.
Such Dir eine App aus, die mit Offline-Kartendaten arbeitet, z.B. OSMAnd. Allerdings ist nicht sicher, ob das auch in 20 Jahren noch funktioniert. Aber wenn ich mir die Entwicklung der letzten 20 Jahre so ansehe, wäre ich mir auch bei html, jpg und png nicht so sicher.
Platziere diese Offline-Kartenkacheln auf einem Raspberry Pi auf dem du einen lokalen Webserver laufen lässt, welcher wiederrum die Offline-Kartenkacheln in einem lokalen Leaflet-Layer anzeigt. Wenn du den Pi im Netzwerk zugänglich machst, können jegliche Geräte, egal welchen Betriebssystems auf die Karten zugreifen (per Browser; localhost)
Solange der Pi am Netzwerk hängt und mit Strom versorgt wird, hast du für einen unendlichen Zeitraum lokal verfügbare Offline-Karten. Damit es auch in 20 Jahren und darüber hinaus funktioniert, würde ich ggf. nach dem initialen Setup nie wieder Updates auf den Geräten durchführen, sodass der Pi mit den anderen Geräten immer den gleichen Stand hat. (Für den Fall, dass es in 20 Jahren kein HTML, CSS und JS mehr gibt und PNG-Dateien nicht mehr geöffnet werden können)
Der TileServer ist in dem Setup eigentlich unabhängig und könnte theoretisch auch weiterhin regelmäßig die Kacheln erneuern, wenn beim generieren kein Fehler aufgetreten ist. Das Update könnte als Cron täglich, monatlich oder jährlich laufen, wie du es möchtest.
Alternativ kannst du auch das Offline Maps SDK von Mapbox verwenden und dir deine eigene Cross-Plattform mit beispielsweise React Native programmieren.
Oder du verwendest eine Offline-Kartenanwendung auf deinem Linux-Host und greifst per Remote-Control darauf zu. Beisiele sind OffRoad, KDE Marble oder GOSM.
Uff…viel neues für mich. Habe mir die ersten seiten zum lokalen server und OM Tiles durchgelesen. Das geht in die richtung dienich mir vorgestellt habe.
Was einen R.Pi angeht, da würde es mir ja selbst reichen die SD Karte im fall der Fälle eben zur Hand zu haben…bin ich lediglich auf einen R.Pi angewiesen.
Ich lese mich am Wochenende noch durch die unten beigefügte Links durch und überlege ob es da eine passende Variante für mich gibt.
Nochmal zum lokalen Server: ist ja machbar, aber bei vielen Skripten wurde doch externe JS und CSS eingebunden. Da muss man offenbar noch etwas feilen bis es tatsachlich autark lauffähig ist.
Melde mich.
PS: hatte einen Test gemacht was die Datenmenge für hochauflösende Tiles als JPG (Zoom Stufe 12) für Deutschland angeht. Wären in Summe etwa 1400 Kacheln mit grob 1.4-1.5 GB. Die überlegung muss aber noch reifen.
Leaflet benötigt keine weiteren Ressourcen neben dem eigenen CSS- und JS-File. Wenn diese beiden Dateien auf dem Webserver auf deinem Pi liegen, braucht es sonst keine Internetverbindung mehr. Als tileLayer im script musst du dann natürlich deinen lokalen Pfad zu den PNG-Kacheln angeben.
Es gibt eine Reihe von Kartendruckprojekten. Du erhältst in der Regel eine PNG-Datei oder ein PDF. Z.B. printmaps-osm.de. Die Karten dort kannst du mit eigenen Daten anreichern und der Vorgang der Kartenerzeugung läßt sich automatisieren. Du kannst dir also regelmäßig einen neuen Kartensatz generieren.
PS: Sollen die Karten auch in 20 Jahren noch verwendbar sein, kommst du um einen Ausdruck (auf z.B. Polyestergewebe) nicht herum.
Dann ist das aus meinem Eingangspost nicht ganz klar geworden. Hatte ich aber geschrieben (…R.Pi, Linux).
Es geht mir auch nicht konkret um 20 Jahre. Ich kenne nur zu viel Technik welche bereits nach einem kleinen Update einer Runtime, einer Policy, einer Umgebungsvariable oder einem abgelaufenen Zertifikat plötzlich nicht mehr läuft (ich muss das zeug auf der Arbeit administrieren).
Und genau dann muss man auf seine vorbereitete Notfalllösung zurückgreifen und sie funktioniert nicht mehr.
Daher: so einfach wie möglich = so robust wie möglich.
Das Thema hier ist nur eines von vielen mit denen ich mich aktuell beschäftige. Alle Lösungen sollen flexibel einsetzbar und robust sein.
Die PNG Tile Variante hört sich ganz nach dem an was ich suche. Ich recherchiere da weiter.
PS: hatte einen Test gemacht was die Datenmenge für hochauflösende Tiles als JPG (Zoom Stufe 12) für Deutschland angeht. Wären in Summe etwa 1400 Kacheln mit grob 1.4-1.5 GB. Die überlegung muss aber noch reifen.
Deutschland wäre in so einem Fall vermutlich weitgehend zerstört, da rate ich dir zu einem größeren Gebiet für die Karten, damit du flexibel bist und wo hingehen kannst wo es weniger Ziele gibt bzw. wo man das Land aufgrund der Topographie besser verteidigen kann.
Ich habe vor einiger Zeit den OsmAnd MapCreator unter Linux zum Offline-Rendering (der obf-Vektor-Karten) verwendet. Dazu musste der Haken bei “Offline Rendering” gesetzt sein.
Ob das die aktuelle Version ohne manuelle Anpassungen kann, konnte ich der Dokumentation nicht entnehmen: OsmAnd MapCreator | OsmAnd
Daher: so einfach wie möglich = so robust wie möglich.
Ausdrucke sind dann wirklich das beste, auf wasserresistentem verformungsarmem “Papier” (Kunststoff), das in eine stabile Kiste und in einem Bergwerk einlagern lassen…
Dann gibt es noch QMapShack - OpenStreetMap Wiki, das kann Garmin-Karten (da gibt es auch einige mit OpenStreetMap-Daten) anzeigen.
Vielleicht wäre auch mapsforge - OpenStreetMap Wiki noch etwas, habe ich mir aber schon länger nicht mehr angesehen.
die Geofabrik verkauft auch vorgerenderte Rastertiles, da kannst du auch den Platzbedarf ein bisschen abschätzen (konkret variiert das aber je nach Stil) https://www.geofabrik.de/de/maps/tile-packages.html
Ich wüsste nicht um welchen Fall es da gehen könnte. ;o)
Ja, genau die Überlegung hatte ich auch. Das Rechenbeispiel sollte für mich nur mal eine Machbarkeitsanalyse sein.
Ich kann mir das ganze auch in Blei gießen lassen und meine Dachziegel durch eben diese ersetzen. Dann hätte ich auch einen Schutz wenn im Osten jemand auf den ganz falschen roten Knopf drückt.
Ne im Ernst. Mir geht es nicht um ein bestimmtes Szenario. Aber die Ereignisse der letzten Jahre (Suez Kanal und Warenengpässe, Mega-Erdbeben, Corona, Ukraine, Medikamentenverfügbar, etc) haben eindrücklich gezeigt, dass kaum eine Situation mehr undenkbar ist. Und da ich kein Hellseher bin, möchte ich für gewisse Dinge eine Vorbereitung treffen.
Im Prinzip tut dies jeder, der eine Versicherung abschließt welche rechtlich nicht notwendig ist…als Notfallvorsorge.
Lieber Toc-Rox, ich könnte Unterstützung gebrauchen. Habe mich auf der Seite nun durch die Informationen gelesen und müsste eine Map-Definition (yaml) erstellen. Laut einem Hinweis sollte man… - Download the map template archive und unzip it.
Aber auf ganz printmaps-osm.de gibt es weder einen Download-Bereich noch eine Map-Template als yaml. Hast du dies schon einmal gemacht bzw. weißt soher das yaml-Template zu bekommen ist?
Der Umgang mit gedruckten Karten ist schwieriger als es zunächst erscheint. Man muß die Karte ‘einnorden’, anschließend seinen eigenen Standort sicher (!) bestimmen (z.B. via Kreuzpeilung) und abschließend einen Richtung und einen Weg zum Ziel finden. Das geht mit einem GPS-Gerät alles viel einfacher.
Zu deinen Fragen bzgl. Starthilfe zu Printmaps:
Download des Command-Line-Client (von der Client-Seite)
Download des Templates (von der Beispiel-Seite)
Zu deiner ersten Karten (basierend auf dem Template) kommst du dann so: