API Reference

Overpass API

class overpy.Overpass[source]

Class to access the Overpass API

parse_json(data, encoding='utf-8')[source]

Parse raw response from Overpass service.

Parameters:
  • data (String or Bytes) – Raw JSON Data
  • encoding (String) – Encoding to decode byte string
Returns:

Result object

Return type:

overpy.Result

query(query)[source]

Query the Overpass API

Parameters:query (String|Bytes) – The query string in Overpass QL
Returns:The parsed result
Return type:overpy.Result

Result

class overpy.Result(elements=None, api=None)[source]

Class to handle the result.

append(element)[source]

Append a new element to the result.

Parameters:element (overpy.Element) – The element to append
expand(other)[source]

Add all elements from an other result to the list of elements of this result object.

It is used by the auto resolve feature.

Parameters:other (overpy.Result) – Expand the result with the elements from this result.
classmethod from_json(data, api=None)[source]

Create a new instance and load data from json object.

Parameters:
  • data (Dict) – JSON data returned by the Overpass API
  • api (overpy.Overpass) –
Returns:

New instance of Result object

Return type:

overpy.Result

get_elements(filter_cls, elem_id=None)[source]

Get a list of elements from the result and filter the element type by a class.

Parameters:
  • filter_cls
  • elem_id (Integer) – ID of the object
Returns:

List of available elements

Return type:

List

get_ids(filter_cls)[source]
Parameters:filter_cls
Returns:
get_node(node_id, resolve_missing=False)[source]

Get a node by its ID.

Parameters:
  • node_id (Integer) – The node ID
  • resolve_missing – Query the Overpass API if the node is missing in the result set.
Returns:

The node

Return type:

overpy.Node

get_nodes(node_id=None, **kwargs)[source]

Alias for get_elements() but filter the result by Node()

Parameters:node_id (Integer) – The Id of the node
Returns:List of elements
get_relation(rel_id, resolve_missing=False)[source]

Get a relation by its ID.

Parameters:
  • rel_id (Integer) – The relation ID
  • resolve_missing – Query the Overpass API if the relation is missing in the result set.
Returns:

The relation

Return type:

overpy.Relation

get_relations(rel_id=None, **kwargs)[source]

Alias for get_elements() but filter the result by Relation

Parameters:rel_id (Integer) – Id of the relation
Returns:List of elements
get_way(way_id, resolve_missing=False)[source]

Get a way by its ID.

Parameters:
  • way_id (Integer) – The way ID
  • resolve_missing – Query the Overpass API if the way is missing in the result set.
Returns:

The way

Return type:

overpy.Way

get_ways(way_id=None, **kwargs)[source]

Alias for get_elements() but filter the result by Way

Parameters:way_id (Integer) – The Id of the way
Returns:List of elements
nodes

Alias for get_elements() but filter the result by Node()

Parameters:node_id (Integer) – The Id of the node
Returns:List of elements
relations

Alias for get_elements() but filter the result by Relation

Parameters:rel_id (Integer) – Id of the relation
Returns:List of elements
ways

Alias for get_elements() but filter the result by Way

Parameters:way_id (Integer) – The Id of the way
Returns:List of elements

Elements

class overpy.Element(attributes=None, result=None, tags=None)[source]

Base element

class overpy.Node(node_id=None, lat=None, lon=None, **kwargs)[source]

Class to represent an element of type node

class overpy.Relation(rel_id=None, members=None, **kwargs)[source]

Class to represent an element of type relation

class overpy.Way(way_id=None, node_ids=None, **kwargs)[source]

Class to represent an element of type way

get_nodes(resolve_missing=False)[source]

Get the nodes defining the geometry of the way

Parameters:resolve_missing (Boolean) – Try to resolve missing nodes.
Returns:List of nodes
Return type:List of overpy.Node

Relation Members

class overpy.RelationMember(ref=None, role=None, result=None)[source]

Base class to represent a member of a relation.

class overpy.RelationNode(ref=None, role=None, result=None)[source]
class overpy.RelationWay(ref=None, role=None, result=None)[source]