Skip to content

Krafpy/python-overpy

 
 

Repository files navigation

Python Overpass Wrapper

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

Features

  • Query Overpass API
  • Parse JSON and XML response data
  • Additional helper functions

Install

Requirements:

Supported Python versions:

  • Python >= 3.6.2
  • PyPy3

Install:

$ pip install overpy

Examples

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

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"
)

License

Published under the MIT (see LICENSE for more information)

About

Python Wrapper to access the Overpass API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.9%
  • HTML 1.1%