[OSM-dev] updating local osm data
Holger Schöner
numenor at ancalime.de
Wed Jul 15 20:05:59 BST 2009
Hallo Stefan,
Wir haben uns am Wochenende in Amsterdam kennen gelernt, oder? Ich wollte in
den nächsten Tagen sowieso mal schauen, ob ich deine Email herausfinde, um
den Kontakt vielleicht weiter aufrecht zu erhalten!? Und jetzt kommt mir der
Zufall zur Hilfe ;-)
> I'm programming a client what loads osm data from xapi. To reduce
> downloading data I would like to do an update to the dates I already
> have got locally. I've read the XAPI doc in the wiki but I didn't saw a
> possibility.
>
> Does the api provide a mechanism to recognize if nodes, ways or
> relations have been udated?
Da ich mich mit Rendering beschäftige, habe ich versucht, meine Rendering-
Datenbank auf dem aktuellen Stand zu halten. Dafür gibt es im Prinzip vier
(mir bekannte) Wege, die alle über irgendwelche Change-Files gehen:
1) irgendwo auf planet.openstreetmap.org gibt es diff files zu planet-files.
Ich habe aber noch nicht ausprobiert, ob die sich irgendwie auch auf planet-
Auszüge anwenden lassen (vermutlich eher nicht). Wenn man nur an einer
Region interessiert ist, dürften das zu große Dateien sein ...
Die weiteren Möglichkeiten arbeiten alle mit osmosis, das auf Wunsch nach
einer Initialisierung automatisch von planet.openstreetmap.org die
täglichen, stündlichen, oder minütlichen change-files (.osc) herunterladen
und anwenden kann. Ein Beispiel ist auf der Wiki-Seite "Minutely Mapnik"
beschreiben.
2) Anwenden der Changes mittels osmosis auf eine heruntergeladene .osm-
Datei. Das sollte (inzwischen) auch auf Planet-Extrakten arbeiten (per Josm
geladene Datei, von der Api gelieferte, aus Geofabrik/Cloudmade Extrakten,
oder aus daraus extrahierten Dateien).
3) Setup einer eigenen Api-Datenbank, die die originale Datenbank mirrored.
Potenziell recht groß, aber man könnte sie evtl. auf eine Boundingbox
beschränken. Import der Changefiles mittels osmosis, um diese Datenbank
(inklusive History-Tabellen bei Bedarf) dann auf dem aktuellen Stand zu
halten. Aus dieser Datenbank kann man sich dann bei Bedarf selber Extrakte
erstellen. Das habe ich bereits ausprobiert, ist aber auf meinem Laptop mit
2GB Hauptspeicher viel zu langsam (hauptsächlich der Import der täglichen
Changes: Dauert etwa 2-3 Stunden, je nach Changes-Größe).
4) Setup einer (Mapnik-) Rendering-Datenbank, und Aktualisierung mittels der
Changefiles durch osm2pgsql. Ich weiß nicht, ob dort alle für dich
relevanten Daten enthalten sind. Habe ich auch schon ausprobiert, und ist
etwas einfacher als 3), aber der tägliche Import ist auf meinem Laptop noch
langsamer.
Ich habe mir in der Zwischenzeit einen größeren Server mit 12GB
Hauptspeicher besorgt, den ich gerade aufsetze. Mit dem möchte ich diese
Schritte dann noch einmal probieren. Sollte ich Erfolg haben, kann ich dir
das gerne weiter melden ...
Kommt von diesen Ansätzen irgendetwas für dich in Frage? Ggf. könnte ich
weitere Details beisteuern.
Viele Grüße,
--
Holger Schoener numenor at ancalime.de
More information about the dev
mailing list