Renderprobleme bei MPs nach Tagging-Änderungen ohne Geometrieänderung

Hallo,

Die Tileserver der OSM Foundation nutzen nicht die Tile-Expiry-Technik von osm2pgsql, auch wenn sie selbst osm2pgsql für den Import des Planets und der Diffs in die Rendering-Datenbank einsetzen. Wie mmd schon geschrieben hat, wird besagtes Ruby-Skript eingesetzt.

Interessant ist dieses Skript ab Zeile 96. Es liest aus dem Diff alle Nodes ein und markiert die Tiles, in denen sie liegen, als veraltet. Es liest auch alle Ways ein. Da Ways in einem OSC-Diff-File nur eine Liste der Nodes enthalten und die Nodes nicht zwangsläufig in demselben Diff mit ihren Koordinaten enthalten sind, werden die Koordinaten der Nodes der Ways in der Flatnodes-Datei (eine ~ 30 GB große Datei auf der SSD) nachgeschlagen, die osm2pgsql als Cache für die Koordinaten der Nodes verwendet.

Dieses Skript ist verhältnismäßig schnell. Da die Ressourcen begrenzt sind, lässt man Relationen außen vor. Zwar löst dann u.U. eine Änderung kein Neurendering aus, aber der Mehraufwand rechtfertigt den Nutzen nicht (man muss mit den zur Verfügung stehenden Mitteln sparsam umgehen). Würde man Relationen unterstützen wollen, müsste man bei jeder geänderten Relation erst einmal die Nodelisten der Ways nachschlagen, die die Relation referenziert – und dann noch die Koordinaten der Nodes.

osm2pgsql unterstützt Relationen schon bislang bei der Tile-Expiry, aber die von mmd verlinkte Issue im osm2pgsql-Bugtracker zeigt ja, dass es nicht das Gelbe vom Ei ist.

Ich bin gerade dabei, die Tile-Expiry von osm2pgsql neu zu schreiben (ich habe im Rahmen meiner Masterarbeit für einen anderen Zweck eine geschrieben). Die OWG muss nämlich entweder ihre Tile-Expiry anpassen, da das Flatnodes-File künftig ein anderes Format hat, oder auf osm2pgsql umsteigen, was bislang keine Option war. Ob nach der Umstellung Relationen berücksichtigt werden und, wenn ja, wie, müssen Versuche zeigen.

Viele Grüße

Michael

Hi Michael,

danke für die ausführliche Erklärung.

Vereinfacht ausgedrückt:

Aus Performancegründen löst eine Änderung an einem Multipolygon (MP), ohne dass sich auch dessen Geometrie (Knoten, Wege) ändert, aktuell kein Neurendern von Kacheln (Tiles) aus.

Ich kann damit leben und erklärt das, was ich beobachtet habe. Ich denke, dass das Problem vermutlich gar nicht so häufig auftritt, da meist neben einer MP-Änderungen auch irgendwelche Knoten oder Wege bearbeitet werden und dann eh ein Neurendern ausgelöst wird.

Ich werde dann mal meinen verschwundenen Wald http://www.openstreetmap.org/relation/7522317#map=18/47.63670/12.19770

durch Verschieben eines Knotens wiederaufforsten :slight_smile:

Grüße
Andreas

Edit: Aufforstung erfolgreich beeendet