wir nutzen OpenStreetMap in unserer App für eine wissenschaftliche Studie. Ich habe nun gestern ein Gebiet nachkartiert und bemerkt, dass nur manche Zoomstufen und Kacheln auf OSM.org (und damit auch in unserer App) aktualisiert wurden. Wie kann ich herausfinden, wann die anderen Zoomstufen und Kacheln aktualisiert werden - da es sich um eine Studie im Zuge meiner Promotion handelt, habe ich da etwas Zeitdruck und gerade auch etwas Panik, dass das Aktualisieren hier ggf. etwas länger dauern wird. Über Hilfe würde ich mich freuen.
Achja: In meinen Browsern habe ich alle Daten und den Cache gelöscht - daran liegt es also nicht.
also zum einen ist es gut den Cache zu löschen, zum anderen werden die Zoom-Stufen in unterschiedlichen Intervallen neu geredert. Ich kann ich nicht sagen was zu was, aber so nach 1 Woche sollte es auf den gänigen Stufe durch sein.
Zoomlevel (in der URL ist das die erste Zahl nach dem map=) bis 12 werden nur alle paar Monate neu gerendert, 13 bis 16 ziemlich bald nach Änderungen (sagen wir 10 Minuten, aber ohne Gewähr), 17 bis 19 nur nach Anforderung, d.h. nach einigen Minuten nochmal probieren.
Also bei mir wurden schon alle Kacheln aktualisiert.
Welche Objekte fehlen bei deinen Kacheln noch?
Ich frage, da möglicherweise Objekte, so wie du diese eingetragen hast, auf der Hauptkarte mit dem aktuellen Kartenstil gar nicht (oder in bestimmten Zoomstufen) gerendert werden.
Die Seite neu laden ohne Cache mit Strg+Umschalttaste+R umgeht und aktualisiert zusätzlich auch noch den gerade verwendeten CDN-Cache (Content Delivery Network) für die aktuelle Zoomstufe.
Hast Du dazu eine Quelle? Mein Stand ist, dass z13-19 gleich behandelt werden und immer erst beim nächsten Aufruf gerendert werden.
Das wäre auch meine Frage gewesen. Wenn die geänderten Daten als PNG, SVG oder PDF in ein anderes Dokument eingefügt werden sollen dann bietet es sich an die entsprechenden Kartenausschnitte auf https://print.get-map.org/ rendern zu lassen. Ich importiere da Änderungen mit einer Verzögerung von max. fünf Minuten, und beim Rendern der Kartenausschnitte wird nichts gecached sondern immer aus dem aktuellen Datebestand geschöpft. Je nach Auslastung des Servers kann es zwar mal etwas länger dauern bis ein Render-Request abgearbeitet wird (in der Regel wenige Minuten, in Ausnahmefällen auch mal eine Stunde oder mehr), aber die gerenderten Daten sind dann immer aktuell von dem Zeitpunkt an dem der tastsächliche Rendervorgang startet.
Wenn es aber darum geht aktualisiertes Kartenmaterial Studienteilnehmern interaktiv in einer “Slippy Map” im Browser zu präsentieren hilft dieser Ansatz nicht wirklich da ich keinen Tileserver betreibe …
Keine belastbare. Hab ich irgendwo so gelesen und es schien mir bislang immer zum Verhalten der Karte an meinem Ende zu passen. Vielleicht wurde es ja auch mal geändert.
z13 gönnt sich in der Tat gefühlt auch mal länger Zeit zum Regenerieren. Erscheint mir aber normal, weil da schon ziemlich viele Details in den zur Kachel zugehörigen Daten untergebracht sein können. Andererseits die These, dass die Kachel-Lifetime als Kehrwert zur Zugriffshäufigkeit (https://wiki.openstreetmap.org/wiki/Tile_disk_usage) modelliert ist (resourcetechnisch erschiene mir das als der Weg zu einer optimalen Ausnutzung von Resourcen) auch wenn’s vermutlich nicht so ist.
Es ging mal Kacheln als ”schmutzig” zu markieren und damit das Rendern der Kacheln anzustossen. Dazu musste man die Kacheln einzeln im Browser öffnen (rechtklick - bild anzeigen) und dann glaube ich /:dirty an die URL anhängen und abschicken. Ging in Allen Zoomstufen.
Weis allerdings nicht ob das jetzt noch geht und ob ich Mich richtig erinnere, wies ging.
Ich meine, dass Daten die in den ganz frühen Morgenstunden eingetragen werden, auch zeitnah gerendert werden. Wobei ich nicht alle ZS von 12 aufwärts betrachte. Die längste noch unfertige bzw. falsche Kachel, in den ZS 17 und 18, die heute noch nicht stimmt, ist jetzt vier Monate alt. Das halte ich für ne absolute Ausnahme.
indem der Zeitstempel der Metatile-Datei zurückgesetzt wird:
def expire_meta(meta):
"""Expire the meta tile by setting the modified time back.
"""
if os.path.exists(meta):
print("Expiring " + meta)
os.utime(meta, (EXPIRY_TIME, EXPIRY_TIME))