[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