Skip to content

Reverse Geocoder API

Module for the HERE Geocoder Reverse API.

GeocoderReverseApi

Bases: HEREApi

A python interface into the HERE Geocoder Reverse API.

Source code in src/herepy/geocoder_reverse_api.py
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
class GeocoderReverseApi(HEREApi):
    """A python interface into the HERE Geocoder Reverse API."""

    def __init__(self, api_key: str = None, timeout: int = None):
        """
        Initialize a GeocoderReverseApi instance.

        Args:
          api_key (str):
            API key taken from HERE Developer Portal.
          timeout (int):
            Timeout limit for requests.

        """
        super().__init__(api_key, timeout)
        self._base_url = "https://revgeocode.search.hereapi.com/v1/revgeocode"

    def __get(self, data):
        url = Utils.build_url(self._base_url, extra_params=data)
        response = requests.get(url, timeout=self._timeout)
        try:
            json_data = json.loads(response.content.decode("utf8"))
            if json_data.get("items") is not None:
                return GeocoderReverseResponse.new_from_jsondict(json_data)
            elif "error" in json_data:
                if json_data["error"] == "Unauthorized":
                    raise UnauthorizedError(json_data["error_description"])
            else:
                raise HEREError(
                    json_data.get(
                        "Details",
                        "Error occurred on function " + sys._getframe(1).f_code.co_name,
                    )
                )
        except ValueError as err:
            raise HEREError("Error occurred on function " + sys._getframe(1).f_code.co_name + " " + str(err))

    def retrieve_addresses(self, prox: list[float], limit: int = 1, lang: str = "en-US") -> GeocoderReverseResponse | None:
        """
        Get the address information for a point.

        Args:
          prox (lat/lon):
            latitude longitude of the point
          limit (int):
            Limits items to return, with default value 1. Max value 100.
          lang (str):
            BCP47 compliant Language Code.

        Returns:
          GeocoderReverseResponse
        Raises:
          HEREError

        """
        data = {
            "at": str.format("{0},{1}", prox[0], prox[1]),
            "limit": limit,
            "lang": lang,
            "apiKey": self._api_key,
        }
        return self.__get(data)

__init__(api_key=None, timeout=None)

Initialize a GeocoderReverseApi instance.

Parameters:

Name Type Description Default
api_key str

API key taken from HERE Developer Portal.

None
timeout int

Timeout limit for requests.

None
Source code in src/herepy/geocoder_reverse_api.py
19
20
21
22
23
24
25
26
27
28
29
30
31
def __init__(self, api_key: str = None, timeout: int = None):
    """
    Initialize a GeocoderReverseApi instance.

    Args:
      api_key (str):
        API key taken from HERE Developer Portal.
      timeout (int):
        Timeout limit for requests.

    """
    super().__init__(api_key, timeout)
    self._base_url = "https://revgeocode.search.hereapi.com/v1/revgeocode"

retrieve_addresses(prox, limit=1, lang='en-US')

Get the address information for a point.

Parameters:

Name Type Description Default
prox lat / lon

latitude longitude of the point

required
limit int

Limits items to return, with default value 1. Max value 100.

1
lang str

BCP47 compliant Language Code.

'en-US'

Returns:

Type Description
GeocoderReverseResponse | None

GeocoderReverseResponse

Raises: HEREError

Source code in src/herepy/geocoder_reverse_api.py
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
def retrieve_addresses(self, prox: list[float], limit: int = 1, lang: str = "en-US") -> GeocoderReverseResponse | None:
    """
    Get the address information for a point.

    Args:
      prox (lat/lon):
        latitude longitude of the point
      limit (int):
        Limits items to return, with default value 1. Max value 100.
      lang (str):
        BCP47 compliant Language Code.

    Returns:
      GeocoderReverseResponse
    Raises:
      HEREError

    """
    data = {
        "at": str.format("{0},{1}", prox[0], prox[1]),
        "limit": limit,
        "lang": lang,
        "apiKey": self._api_key,
    }
    return self.__get(data)