Here's a template that can be used to write a script that uses my adaption of the parser:
import OSMpbfParser
def callback_node(node):
do_something_with(node)
def callback_way(way):
do_something_with(way)
def callback_relation(relation):
do_something_with(relation)
OSMpbfParser.go(
'the-file-to-be-parsed.pbf',
callback_node,
callback_way,
callback_relation)
Each of the callback functions has exactly one parameter that corresponds to the classes
OSMNode
, OSMWay
and OSMRelation
(see the
source at github).Installing google's protocol buffers
To parse pbf files, google's protocol buffers are needed. The can be optained from code.google.com/p/protobuf/downloads/list.For Windows, I downloaded protoc-2.5.0-win32.zip which contains one file:
protoc.exe
. After extracting this file, the environment variable PATH
should be changed so that
it points to the directory with protoc.exe
.
For the python installation, the full source protobuf-2.5.0.tar.bz2
is also needed. After extracting them, cd
into the python directory and execute:
cd protobuf-2.5.0\protobuf-2.5.0\python
python setup.py build
python setup.py test
python setup.py install
Links
Source code on github
convert pbf files to xml
OpenStreetMap: convert an pbf to an sqlite database with Python
No comments:
Post a Comment