omniscale / imposm-parser

Deprecated: Python parser for OpenStreetMap data
http://imposm.org/docs/imposm.parser/latest/
Apache License 2.0
133 stars 57 forks source link
maintenance-mode osm python

imposm.parser - OpenStreetMap XML/PBF parser for Python

imposm.parser is a Python library that parses OpenStreetMap data in XML <http://wiki.openstreetmap.org/wiki/.osm>_ and PBF <http://wiki.openstreetmap.org/wiki/PBF_Format>_ format.

It has a simple API and it is fast and easy to use. It also works across multiple CPU/cores for extra speed.

.. note:: Imposm-parser is in maintenance mode and it's unlikely that we will provide any further releases.

It is developed and supported by Omniscale <http://omniscale.com> and released under the Apache Software License 2.0 <http://www.apache.org/licenses/LICENSE-2.0>.

Example

Here is an example that parses an OSM file and counts all ways that are tagged as a highway. ::

from imposm.parser import OSMParser

simple class that handles the parsed OSM data.

class HighwayCounter(object): highways = 0

  def ways(self, ways):
      # callback method for ways
      for osmid, tags, refs in ways:
          if 'highway' in tags:
            self.highways += 1

instantiate counter and parser and start parsing

counter = HighwayCounter() p = OSMParser(concurrency=4, ways_callback=counter.ways) p.parse('germany.osm.pbf')

done

print counter.highways

Source and issue tracker

Source code and issue tracker are available at <https://github.com/omniscale/imposm-parser>_.