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.0/"
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)