[Talk-de] seek (perl) in osm dateien

Werner Hoch werner.ho at gmx.de
Di Jul 27 17:13:38 UTC 2010


Hallo gerhard,

On Dienstag, 27. Juli 2010, Gary68 wrote:
> mir war so, als hätte mal jemand ein paar routinen geschrieben, um
> mit einem file handle schnell an bestimmte stellen in osm files zu
> gelangen. also zum start der ways oder dem start der relations im
> speziellen. hat jemand einen tip, wo?

Ich hab nur python im Angebot:
http://github.com/werner2101/python-osm

Das Skript src/bz2osmdb.py kann direkt bz2-komprimierte osmfiles lesen.
Die Suche von Objekten erfogt über binäre Suche des richtigen bz2-blocks 
gefolgt von einer linearen Suche des richtigen Objektes.

Im Moment verwende ich das Skript praktisch nur zum abschneiden 
der Relation von OSM-Dumps.

Es hat noch einen server modus, mit dem lassen sich einzelen 
osm-objekte auslesen:

  python-osm> src/bz2osmdb.py --server=8888 ../../osm_files/planet-recoded.osm.bz2

Die Indizierung der bz2-Block dauert beim Start ungefähr 2 Minuten.

Danach kann man über die http-Requests die objekte abrufen:
   http://localhost:8888/ways?ways=27789814,27789843,28072063,27788612


Der Code ist nicht sonderlich gut getestet.

Der bz2-Zugriff auf die planet-files geht nur mit recomprimierten
planet-files.  (s. issue: http://bugs.python.org/issue1625)

Grüße
Werner





Mehr Informationen über die Mailingliste Talk-de