[OSM-Devserver] Cronjob OLM Update

Alexander Matheisen AlexanderMatheisen at ish.de
Di Apr 5 14:20:01 CEST 2011


Am Dienstag, den 05.04.2011, 10:24 +0000 schrieb Sven Geggus:
> Alexander Matheisen <AlexanderMatheisen at ish.de> wrote:
> 
> > Damit ich nicht jedesmal das Script von Hand starten muss, wäre es also
> > sinnvoll einen Cronjob einzurichten. Kann ich das jeden Tag laufen
> > lassen, einmal in der Woche oder wie sieht es so bezüglich der
> > Auslastung aus?
> 
> Genau solche redundanten Datenhaltungen wollte ich eigenttlich mit der
> hstore DB vermeiden, denn das ist die perfekte Art und Weise den Server an
> die Wand zu fahren.

Dieses Thema hatte ich ja schonmal angesprochen, und da warst du eher
dagegen, das in den hstore-Import einzuhängen und meintest, ich solle
mir eine eigene DB einrichten:

https://lists.openstreetmap.de/pipermail/devserver/2011-February/001794.html

> Wie ist denn Dein Datenbanklayout? Gibt es irgendeine Möglichkeit das
> generisch zu lösen. Ich will und kann nicht jedem Projekt seine eigene
> Datenhaltung einrichten.

Ich habe ein Planetfile, das per replication geupdatet wird. Daraus
filtere ich dann die benötigten Daten und erstelle ein Diff zwischen
diesen neuen gefilterten Daten und den gefilterten Daten vom letzten
Updatevorgang. Das Diff spiele ich dann mit osm2pgsql in die Datenbank
olm ein. Mit einem selbstgeschriebenen Python-Script lese ich das Diff
ein und wende die Änderungen auf die Datenbank olm-list an, die nur die
Markerpositionen enthält.

Die Datenbank olm brauche ich einmal, um einfach die Centroids bestimmen
zu können, außerdem, damit auch Marker und Popupdaten auf einem Stand
sind, sonst hätte ich bei neu angelegten POIs möglicherweise zwar einen
Marker, aber in der hstore Datenbank sind keine Daten dazu da.


Alex