Skip to content
Parse OSM and Overpass JSON
Python Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
osm-polygon-features @ 65e0a1e
osm2geojson
tests
.gitignore
.gitmodules
LICENSE
README.md
release.sh
setup.cfg
setup.py
update-osm-poygon-features.sh

README.md

osm2geojson

Parse OSM and Overpass JSON with python. This library is under development!

Usage

Install this package with pip:

$ pip install osm2geojson

If you want to convert OSM xml or Overpass json/xml to Geojson you can import this lib and use one of 4 methods:

  • json2shapes(dict json_from_overpass) - to convert Overpass json to *Shape-objects
  • xml2shapes(str xml_from_osm) - to convert OSM xml or Overpass xml to *Shape-objects
  • json2geojson(dict json_from_overpass) - to convert Overpass json to Geojson
  • xml2geojson(str xml_from_osm) - to convert OSM xml or Overpass xml to Geojson

*Shape-object - for convinience created simple dict to save Shapely object (geometry) and OSM-properties. Structure of this object:

shape_obj = {
    'shape': Point | LineString | Polygon ...,
    'properties': {
        'type': 'relation' | 'node' ...,
        'tags': { ... },
        ...
    }
}

Examples

Convert OSM-xml to Geojson:

import codecs
import osm2geojson

with codecs.open('file.osm', 'r', encoding='utf-8') as data:
    xml = data.read()

geojson = osm2geojson.xml2geojson(xml)
# >> { "type": "FeatureCollection", "features": [ ... ] }

Convert OSM-json to Shape-objects:

import codecs
import osm2geojson

with codecs.open('file.json', 'r', encoding='utf-8') as data:
    json = data.read()

geojson = osm2geojson.json2shapes(json)
# >> [ { "shape": <Shapely-object>, "properties": {...} }, ... ]

Development

Clone project with submodules

$ git clone --recurse-submodules https://github.com/aspectumapp/osm2geojson.git

Setup package

$ python setup.py develop

Run tests

$ python -m unittest discover

Update osm-polygon-features to last version (if you want last version)

$ ./update-osm-polygon-features.sh
You can’t perform that action at this time.