Parse OSM and Overpass JSON
Project description
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-objectsxml2shapes(str xml_from_osm)
- to convert OSM xml or Overpass xml to *Shape-objectsjson2geojson(dict json_from_overpass)
- to convert Overpass json to Geojsonxml2geojson(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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
osm2geojson-0.1.12.tar.gz
(6.9 kB
view hashes)