roBerge.de

Forum => Dies und das => Karten/GPS => Thema gestartet von: maxbe am 12.11.2018, 17:53

Titel: Aktualität der OpenTopoMap
Beitrag von: maxbe am 12.11.2018, 17:53
Ich wollte mal was dazu schreiben, wie oft die OpenTopoMap aktualisiert wird und das Gespräch über die Tour zum Brennkopf (https://www.roberge.de/index.php/topic,9223.msg59514.html#msg59514) nebenan nicht stören.

Wems zu zu lange ist: Sie wird alle 3 Monate aktualisiert, kann aber auch mal ein paar Wochen länger dauern. Wers genauer wissen will, warum Datenbank und Karte aktuell halten schwierig ist, muss den langen Text lesen...

Datenbank

OpenStreetMap hat eine zentrale Datenbank. Die wird von den Mappern gefüttert und die kann man sich kopieren. Geliefert wird entweder die ganze Welt als grosse Datei oder "Diffs". "Diffs" sind kleine Dateien, die nur die Änderung der letzten Minute oder Stunde oder Tag enthalten.

Jeder Kartenanbieter hat eine Kopie der Datenbank. Dazu holt er sich die ganze Welt (oder einen Ausschnitt davon) und kopiert die in seine eigene Datenbank. Dieser Kopiervorgang dauert auf handelsüblichen Rechnern ein paar Tage. Fall er ständig aktuell sein möchte, holt er sich danach jede Minute (oder jede Stunde, jeden Tag) das passende Diff und trägt die dort enthaltenen Veränderungen in seine lokale Datenbank ein. Diese Aktualisierung dauert ein paar Sekunden oder wenige Minuten. Macht man das minütlich, baut sich gelegentlich eine Warteschlange auf, die in Zeiten mit wenig Aktivität hoffentlich abgearbeitet wird.

Datenbanken, die ständig aktualisiert werden, brauchen schon von Anfang an mehr Plattenplatz als welche, die man nur einmal einspielt und dann auf diesem Stand lässt. Ausserdem brauchen sie auch im laufenden Betrieb immer weiter mehr Platz. Sie brauchen auch mehr Rechenzeit und Speicher weil sie ständig am Aktualisieren sind.

Renderer und Cache

Aus den Daten in der Datenbank werden von einem Programm die Bilder für die Karten gemalt. Dieses Programm nennt man "Renderer". Den könnte man bei jedem Besuch der Webseite anwerfen und den gewünschten Ausschnitt malen lassen. Macht man in der Praxis aber nicht, sondern man hebt sich die gerenderten Bilder im Cache auf für den nächsten Besucher. Die meisten Karten arbeiten auch ohne Besucher die kleinen Massstäbe vor, damit der erste nicht so lange warten muss. Wirklich "auf Anforderung" wird nur ein Kartenausschnitt gerendert, der vielleicht nie gebraucht wird, ein Stück mitten im Wald im grössten Massstab z.b.

Bis zur nächsten Aktualisierung kann man einen einmal gerenderten Kartenausschnitt beibehalten, es ändert sich ja nichts. Falls man aktualisiert, muss man sich Mechanismen überlegen, welche Ausschnitte man nach Änderungen in der Datenbank neu malen muss. Wer keine Wirtshäuser darstellt, kann deren Änderungen ignorieren. Wer sie darstellt kann sie trotzdem ignorieren, falls sich nur der Ruhetag geändert hat. Die Frage, auf welchen Bereich eine Änderung Auswirkungen hat, ist auch ein bisschen kompliziert…

Die OpenTopoMap

Die Nachteile ständiger Aktualität (natürlich nur aus Sicht des Betreibers) habe ich deshalb so ausführlich geschildert, weil die OpenTopoMap darauf verzichtet. Da wird die Datenbank einmal eingespielt, danach werden alle Kartenausschnitte mit "muss neu gerendert werden" markiert, die niedrigsten Zoomstufen vorsorglich neu gerendert, und dann wird ein Vierteljahr nichts mehr dran gemacht.

Neben Bequemlichkeit, weniger Platzverbrauch und weniger Rechenzeit hat dieses Vorgehen noch einen Vorteil: Man kann zwischen Import der Datenbank und Malen der Karten noch einen Schritt einbauen. Bei der OpenTopoMap wird z.B. der Bahnhof in Rosenheim als Rechteck in Richtung WNW parallel zu den Gleisen dargestellt. Für die Ermittlung dieser Richtung für alle Bahnhöfe der Welt werden ein paar Stunden Zeit nach dem Import geopfert. Ähnliches passiert mit Sätteln. Die Festlegung, welcher Gipfel zuerst angezeigt wird beim reinzoomen, kostet auch noch ein paar Stunden. Klingt ein bisschen spleenig, aber so Kleinigkeiten machen in der Summe ein schöneres Kartenbild (glauben wir... und ich muss zugeben, die zeitraubensten Dinge stammen von mir...).

"Bequemlichkeit" ist hier übrigens überhaupt nicht abfällig gemeint. Man muss bedenken, dass der Betrieb des Servers eine Ein-Mann-Show ist und der Betreiber auch noch wichtigere Dinge zu tun hat. Bei der Entwicklung des Kartenstils hat er ein bisschen Hilfe, aber viel ist es nicht und das Echo auf gelegentliche Bitten um Mitarbeit war bisher eher verhalten... Der Server ist zwar schon gross und mächtig, aber an manchen Stellen zwickts ein bisschen, besonders beim Plattenplatz (die Datenbank liegt auf einer schnellen SSD, aber zum Import der Datenbank muss man zeitweise auf langsame echte Magnetplatten ausweichen).

Im Moment ist die Karte Stand Anfang August und es dauert ein bisschen länger als die üblichen 3 Monate, weil ein Update des Servers dazwischen kam. Neben ein paar Widrigkeiten der neuen Software kommen da noch ein paar Tage Einspielzeit dazu, die man sonst nicht hat: Die Höhendaten für Schummerung und Höhenlinien sind recht beständig und bleiben im normalen Betrieb ewig liegen, ausser man macht einen Update der Datenbank-Software.

Grüße
   Max