A Python Wrapper to access the Overpass API.
Have a look at the documentation to find additional information.
Latest Version License https://github.com/DinoTools/python-overpy/actions/workflows/ci.yml/badge.svg?branch=master https://coveralls.io/repos/DinoTools/python-overpy/badge.png?branch=master- Query Overpass API
- Parse JSON and XML response data
- Additional helper functions
Requirements:
Supported Python versions:
- Python >= 3.7
- PyPy3
Install:
$ pip install overpy
Additional examples can be found in the documentation and in the examples directory.
import overpy api = overpy.Overpass() # fetch all ways and nodes result = api.query(""" way(50.746,7.154,50.748,7.157) ["highway"]; (._;>;); out body; """) for way in result.ways: print("Name: %s" % way.tags.get("name", "n/a")) print(" Highway: %s" % way.tags.get("highway", "n/a")) print(" Nodes:") for node in way.nodes: print(" Lat: %f, Lon: %f" % (node.lat, node.lon))
Helper methods are available to provide easy access to often used requests.
import overpy.helper # 3600062594 is the OSM id of Chemnitz and is the bounding box for the request street = overpy.helper.get_street( "Straße der Nationen", "3600062594" ) # this finds an intersection between Straße der Nationen and Carolastraße in Chemnitz intersection = overpy.helper.get_intersection( "Straße der Nationen", "Carolastraße", "3600062594" )
Published under the MIT (see LICENSE for more information)