[Talk-de] Osmosis-Fragen

Detlef Reichl detlef.reichl at gmx.org
Sa Jan 10 00:38:06 UTC 2009


Am Freitag, den 09.01.2009, 22:44 +0100 schrieb Frederik Ramm:
> Hallo,
> 
> Detlef Reichl wrote:
> > ich versuche grade mit Hilfe von Osmosis die Baden-Württemberg OSM-Datei
> > von der geofabrik in Zoom-Level 12 große Stücke zu schneiden. Insgesamt
> > werden es 1435 einzelne Tiles und mein - nicht mehr wirklich neuer -
> > Rechner wird wenn er fertig ist damit rund zwei Tage zugebracht haben.
> > Momentan läuft das bei mir einfach auf Dateiebene.
> 
> Du weisst, dass
> 
> 1. Osmosis superlangsam beim Lesen/Schreiben von .bz2 ist? Also immer in 
> rohe .osm schreiben bzw. aus rohen .osm lesen und vorher/nacher die 
> Kompression!
> 
Hallo Frederik,

danke fürs feedback. Um die Kompression bin ich elegant drumrum
geschifft, indem ich es vorher entpackt habe. Die Hinweise zur
bz2-Performanz hatte ich gelesen.

> 2. Osmosis mehrere Excerpte in einem Rutsch machen kann, indem Du den 
> mit --rx gelesenen Datenstrom mit --tee splittest und dann jeweils 
> Pärchan von --bb und --wx anhängst? 1435 wird nicht gehen, aber wenn Du 
> in Schritt 1 Ba-Wue in Level-9-Happen zerteilst und jeden davon in 
> Schritt 2 wieder in 64, kämst Du mit 65 Osmosis-Aufrufen hin.
> 
Momentan verarbeite ich es Zeilenweise, 41 Zeilen a 35 Tiles. Da stellte
ich mir schon die Frage, ob es nicht sinnvoller wäre es mehr in einer
Art Schachbrettmuster zu verarbeiten. Die Cance, die Daten die benötigt
werden um ein Tile fertig zu stellen, im RAM zu finden dürfen dann
größer sein.

> > Ich frage mich jetzt, ob wenn ich die Daten erst in eine DB schreiben
> > würde, Geschwindingkeitsvorteile erzielen würde. Außerdem, ist das bei
> > einem GB RAM überhaupt praktikabel (mehr lässt sich in den Rechner
> > leider nicht einbauen)?
> 
> Hm, bist Du ueberhaupt sicher, dass Du diese vorberechneten Kacheln 
> brauchst?

Da komme ich nicht drum herum. Diese Kacheln dienen als Basis für eine
Slippy-Map, die die Daten für POIs dynamisch Kachelweise nachläd, als
Basis für Fehlerkarten und Dauer wahrscheinlich noch für das eine oder
andere mehr.

> Koenntest du nicht einfach die komplette OSM-API (oder einen 
> "ROMA"-Server, s. Wiki) bei Dir installieren und dann einfach mit einem 
> "map"-Aufruf jeweils lokal den Bereich abrufen, den Du brauchst?
> 
Mit ROMA hatte ich mich bislang noch nicht befasst. Ist es damit auch
möglich einzelne Teilbereiche "anzubieten" und nicht nur das komplette
"planet.osm"?

> > Gibt es neben Osmosis vielleicht noch eine Alternative? Wichtig ist, das
> > alle Daten übertragen werden. osmcut, das Relationen nicht berücksichtig
> > scheidet deshalb schon mal aus.
> 
> Bau doch Relationen in osmcut ein, das ist keine Magie. (Du weisst, dass 
> Du bei Osmosis spezielle Commandline-Switches brauchst, wenn Du willst, 
> dass auch aussenliegende Member von Relationen und Ways mit ausgegeben 
> werden, und dass dadurch alles noch langsamer wird?)

osmcut zu erweitern hatte ich auch schon drüber nach gedacht. Das
scheiterte allerdings bislang am inneren Schweinehund ;-) Warum etwas
selbst programmieren, wenn es schon brauchbare Alternativen gibt.
Wahrscheinlich werde ich mir das aber doch nochmals anschauen. Die
Laufzeiten von osmosis sind mir einfach zu lang.

Über die Kommandozeilenoptionen von Osmosis weiß ich Bescheid, und ich
vermutete auch schon, das diese zu der (nicht berauschenden)
Geschwindigkeit beitrugen.

Grüßle, detlef









Mehr Informationen über die Mailingliste Talk-de