Source code for overpy.helper

from typing import List, Optional
__author__ = 'mjob'

import overpy


[docs]def get_street( street: str, areacode: str, api: Optional[overpy.Overpass] = None) -> overpy.Result: """ Retrieve streets in a given bounding area :param street: Name of street :param areacode: The OSM id of the bounding area :param api: API object to fetch missing elements :return: Parsed result :raises overpy.exception.OverPyException: If something bad happens. """ if api is None: api = overpy.Overpass() query = """ area(%s)->.location; ( way[highway][name="%s"](area.location); - ( way[highway=service](area.location); way[highway=track](area.location); ); ); out body; >; out skel qt; """ data = api.query(query % (areacode, street)) return data
[docs]def get_intersection( street1: str, street2: str, areacode: str, api: Optional[overpy.Overpass] = None) -> List[overpy.Node]: """ Retrieve intersection of two streets in a given bounding area :param street1: Name of first street of intersection :param street2: Name of second street of intersection :param areacode: The OSM id of the bounding area :param api: API object to fetch missing elements :return: List of intersections :raises overpy.exception.OverPyException: If something bad happens. """ if api is None: api = overpy.Overpass() query = """ area(%s)->.location; ( way[highway][name="%s"](area.location); node(w)->.n1; way[highway][name="%s"](area.location); node(w)->.n2; ); node.n1.n2; out meta; """ data = api.query(query % (areacode, street1, street2)) return data.get_nodes()