Skip to content

Traffic API

TrafficApi

A python interface into the HERE Traffic API

__init__(self, api_key=None, timeout=None) special

Returns a TrafficApi 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 herepy/traffic_api.py
def __init__(self, api_key: str = None, timeout: int = None):
    """Returns a TrafficApi instance.
    Args:
      api_key (str):
        API key taken from HERE Developer Portal.
      timeout (int):
        Timeout limit for requests.
    """

    super(TrafficApi, self).__init__(api_key, timeout)
    self._base_url = "https://traffic.ls.hereapi.com/traffic/6.1/"

additional_attributes(self, quadkey, attributes)

Request traffic flow including shape and functional class information.

Parameters:

Name Type Description Default
quadkey str

The quadkey unique defines a region of the globe using a standard addressing algortihm.

required
attributes [<enum 'FlowProximityAdditionalAttributes'>]

List that contains FlowProximityAdditionalAttributes.

required

Returns:

Type Description
[<class 'herepy.models.TrafficFlowResponse'>]

TrafficFlowResponse

Source code in herepy/traffic_api.py
def additional_attributes(
    self, quadkey: str, attributes: [FlowProximityAdditionalAttributes]
) -> [TrafficFlowResponse]:
    """Request traffic flow including shape and functional class information.
    Args:
      quadkey (str):
        The quadkey unique defines a region of the globe using a standard addressing algortihm.
      attributes (List):
        List that contains FlowProximityAdditionalAttributes.
    Returns:
      TrafficFlowResponse
    Raises:
      HEREError"""

    data = {
        "quadkey": quadkey,
        "responseattibutes": self.__prepare_str_values(enums=attributes),
        "apiKey": self._api_key,
    }
    return self.__get(self._base_url + "flow.json", data)

flow_availability_data(self)

Flow availability requests allow you to see what traffic flow coverage exists in the current Traffic API.

Returns:

Type Description
Optional[herepy.models.TrafficFlowAvailabilityResponse]

TrafficFlowAvailabilityResponse

Source code in herepy/traffic_api.py
def flow_availability_data(self) -> Optional[TrafficFlowAvailabilityResponse]:
    """Flow availability requests allow you to see what traffic flow coverage exists in the current Traffic API.
    Returns:
      TrafficFlowAvailabilityResponse
    Raises:
      HEREError"""

    data = {
        "apiKey": self._api_key,
    }
    return self.__get(self._base_url + "flowavailability.json", data)

flow_in_corridor(self, points, width)

Request traffic flow for a defined route.

Parameters:

Name Type Description Default
points List[List[float]]

List contains lists of latitude and longitude pairs in order.

required
width int

Width of corridor (in meters).

required

Returns:

Type Description
Optional[herepy.models.TrafficFlowResponse]

TrafficFlowResponse

Source code in herepy/traffic_api.py
def flow_in_corridor(
    self, points: List[List[float]], width: int
) -> Optional[TrafficFlowResponse]:
    """Request traffic flow for a defined route.
    Args:
      points (List):
        List contains lists of latitude and longitude pairs in order.
      width (int):
        Width of corridor (in meters).
    Returns:
      TrafficFlowResponse
    Raises:
      HEREError"""

    data = {
        "corridor": self.__prepare_corridor_value(points=points, width=width),
        "apiKey": self._api_key,
    }
    return self.__get(self._base_url + "flow.json", data)

flow_using_proximity(self, latitude, longitude, distance)

Request traffic flow for a circle around a defined point.

Parameters:

Name Type Description Default
latitude float

List contains latitude and longitude in order.

required
longitude float

List contains latitude and longitude in order.

required
distance int

Extending a distance of metres in all directions.

required

Returns:

Type Description
Optional[herepy.models.TrafficFlowResponse]

TrafficFlowResponse

Source code in herepy/traffic_api.py
def flow_using_proximity(
    self, latitude: float, longitude: float, distance: int
) -> Optional[TrafficFlowResponse]:
    """Request traffic flow for a circle around a defined point.
    Args:
      latitude (float):
        List contains latitude and longitude in order.
      longitude (float):
        List contains latitude and longitude in order.
      distance (int):
        Extending a distance of metres in all directions.
    Returns:
      TrafficFlowResponse
    Raises:
      HEREError"""

    data = {
        "prox": str.format(
            "{0},{1},{2}",
            latitude,
            longitude,
            distance,
        ),
        "apiKey": self._api_key,
    }
    return self.__get(self._base_url + "flow.json", data)

flow_using_proximity_returning_additional_attributes(self, latitude, longitude, distance, attributes)

Request traffic flow information using proximity, returning shape and functional class.

Parameters:

Name Type Description Default
latitude float

List contains latitude and longitude in order.

required
longitude float

List contains latitude and longitude in order.

required
distance int

Extending a distance of metres in all directions.

required
attributes [<enum 'FlowProximityAdditionalAttributes'>]

List that contains FlowProximityAdditionalAttributes.

required

Returns:

Type Description
Optional[herepy.models.TrafficFlowResponse]

TrafficFlowResponse

Source code in herepy/traffic_api.py
def flow_using_proximity_returning_additional_attributes(
    self,
    latitude: float,
    longitude: float,
    distance: int,
    attributes: [FlowProximityAdditionalAttributes],
) -> Optional[TrafficFlowResponse]:
    """Request traffic flow information using proximity, returning shape and functional class.
    Args:
      latitude (float):
        List contains latitude and longitude in order.
      longitude (float):
        List contains latitude and longitude in order.
      distance (int):
        Extending a distance of metres in all directions.
      attributes (List):
        List that contains FlowProximityAdditionalAttributes.
    Returns:
      TrafficFlowResponse
    Raises:
      HEREError"""

    data = {
        "prox": str.format(
            "{0},{1},{2}",
            latitude,
            longitude,
            distance,
        ),
        "responseattibutes": self.__prepare_str_values(enums=attributes),
        "apiKey": self._api_key,
    }
    return self.__get(self._base_url + "flow.json", data)

flow_using_quadkey(self, quadkey)

Request traffic flow information using a quadkey.

Parameters:

Name Type Description Default
quadkey str

The quadkey unique defines a region of the globe using a standard addressing algortihm.

required

Returns:

Type Description
Optional[herepy.models.TrafficFlowResponse]

TrafficFlowResponse

Source code in herepy/traffic_api.py
def flow_using_quadkey(self, quadkey: str) -> Optional[TrafficFlowResponse]:
    """Request traffic flow information using a quadkey.
    Args:
      quadkey (str):
        The quadkey unique defines a region of the globe using a standard addressing algortihm.
    Returns:
      TrafficFlowResponse
    Raises:
      HEREError"""

    data = {
        "quadkey": quadkey,
        "apiKey": self._api_key,
    }
    return self.__get(self._base_url + "flow.json", data)

flow_with_minimum_jam_factor(self, top_left, bottom_right, min_jam_factor=7)

Request traffic flow information in specified area with a jam factor.

Parameters:

Name Type Description Default
top_left List[float]

List contains latitude and longitude in order.

required
bottom_right List[float]

List contains latitude and longitude in order.

required
min_jam_factor int

Severe congestion with a jam factor greater than 7.

7

Returns:

Type Description
Optional[herepy.models.TrafficFlowResponse]

TrafficFlowResponse

Source code in herepy/traffic_api.py
def flow_with_minimum_jam_factor(
    self, top_left: List[float], bottom_right: List[float], min_jam_factor: int = 7
) -> Optional[TrafficFlowResponse]:
    """Request traffic flow information in specified area with a jam factor.
    Args:
      top_left (List):
        List contains latitude and longitude in order.
      bottom_right (List):
        List contains latitude and longitude in order.
      min_jam_factor (int):
        Severe congestion with a jam factor greater than 7.
    Returns:
      TrafficFlowResponse
    Raises:
      HEREError"""

    data = {
        "bbox": str.format(
            "{0},{1};{2},{3}",
            top_left[0],
            top_left[1],
            bottom_right[0],
            bottom_right[1],
        ),
        "minjamfactor": str.format("{0}", min_jam_factor),
        "apiKey": self._api_key,
    }
    return self.__get(self._base_url + "flow.json", data)

flow_within_boundingbox(self, top_left, bottom_right)

Request traffic flow information within specified area.

Parameters:

Name Type Description Default
top_left List[float]

List contains latitude and longitude in order.

required
bottom_right List[float]

List contains latitude and longitude in order.

required

Returns:

Type Description
Optional[herepy.models.TrafficFlowResponse]

TrafficFlowResponse

Source code in herepy/traffic_api.py
def flow_within_boundingbox(
    self,
    top_left: List[float],
    bottom_right: List[float],
) -> Optional[TrafficFlowResponse]:
    """Request traffic flow information within specified area.
    Args:
      top_left (List):
        List contains latitude and longitude in order.
      bottom_right (List):
        List contains latitude and longitude in order.
    Returns:
      TrafficFlowResponse
    Raises:
      HEREError"""

    data = {
        "bbox": str.format(
            "{0},{1};{2},{3}",
            top_left[0],
            top_left[1],
            bottom_right[0],
            bottom_right[1],
        ),
        "apiKey": self._api_key,
    }
    return self.__get(self._base_url + "flow.json", data)

incidents_in_bounding_box(self, top_left, bottom_right, criticality)

Request traffic incident information within specified area.

Parameters:

Name Type Description Default
top_left List[float]

List contains latitude and longitude in order.

required
bottom_right List[float]

List contains latitude and longitude in order.

required
criticality [<enum 'IncidentsCriticalityStr'>]

List of IncidentsCriticalityStr.

required

Returns:

Type Description
Optional[herepy.models.TrafficIncidentResponse]

TrafficIncidentResponse

Source code in herepy/traffic_api.py
def incidents_in_bounding_box(
    self,
    top_left: List[float],
    bottom_right: List[float],
    criticality: [IncidentsCriticalityStr],
) -> Optional[TrafficIncidentResponse]:
    """Request traffic incident information within specified area.
    Args:
      top_left (List):
        List contains latitude and longitude in order.
      bottom_right (List):
        List contains latitude and longitude in order.
      criticality (List):
        List of IncidentsCriticalityStr.
    Returns:
      TrafficIncidentResponse
    Raises:
      HEREError"""

    data = {
        "bbox": str.format(
            "{0},{1};{2},{3}",
            top_left[0],
            top_left[1],
            bottom_right[0],
            bottom_right[1],
        ),
        "apiKey": self._api_key,
        "criticality": self.__prepare_str_values(enums=criticality),
    }
    return self.__get(self._base_url + "incidents.json", data)

incidents_in_corridor(self, points, width)

Request traffic incidents for a defined route.

Parameters:

Name Type Description Default
points List[List[float]]

List contains lists of latitude and longitude pairs in order.

required
width int

Width of corridor.

required

Returns:

Type Description
Optional[herepy.models.TrafficIncidentResponse]

TrafficIncidentResponse

Source code in herepy/traffic_api.py
def incidents_in_corridor(
    self, points: List[List[float]], width: int
) -> Optional[TrafficIncidentResponse]:
    """Request traffic incidents for a defined route.
    Args:
      points (List):
        List contains lists of latitude and longitude pairs in order.
      width (int):
        Width of corridor.
    Returns:
      TrafficIncidentResponse
    Raises:
      HEREError"""

    data = {
        "corridor": self.__prepare_corridor_value(points=points, width=width),
        "apiKey": self._api_key,
    }
    return self.__get(self._base_url + "incidents.json", data)

incidents_via_proximity(self, latitude, longitude, radius, criticality)

Request traffic incident information within specified area.

Parameters:

Name Type Description Default
latitude float

Latitude of specified area.

required
longitude float

Longitude of specified area.

required
radius int

Radius of area in meters.

required
criticality [<enum 'IncidentsCriticalityInt'>]

List of IncidentsCriticalityInt.

required

Returns:

Type Description
Optional[herepy.models.TrafficIncidentResponse]

TrafficIncidentResponse

Source code in herepy/traffic_api.py
def incidents_via_proximity(
    self,
    latitude: float,
    longitude: float,
    radius: int,
    criticality: [IncidentsCriticalityInt],
) -> Optional[TrafficIncidentResponse]:
    """Request traffic incident information within specified area.
    Args:
      latitude (float):
        Latitude of specified area.
      longitude (float):
        Longitude of specified area.
      radius (int):
        Radius of area in meters.
      criticality (List):
        List of IncidentsCriticalityInt.
    Returns:
      TrafficIncidentResponse
    Raises:
      HEREError"""

    data = {
        "prox": str.format("{0},{1},{2}", latitude, longitude, radius),
        "criticality": self.__prepare_criticality_int_values(
            criticality_enums=criticality
        ),
        "apiKey": self._api_key,
    }
    return self.__get(self._base_url + "incidents.json", data)