ef get_data_from_api_bdx_by_station(station_id, start_date, stop_date):
"""
Permet d'obtenir les données d'activité d'une station via une API d'open data Bordeaux
Parameters
----------
station_id : Int or List
Numéro de la station de Vcub
start_date : str
Date de début de la Time Serie
stop_date : str
Date de fin de la Time Serie
Returns
-------
Time serie in Json format
Examples
--------
station_json = get_data_from_api_bdx_by_station(station_id=19,
start_date='2020-10-14',
stop_date='2020-10-17')
"""
# Si plusieurs station_id ([124, 15, 60,])
if isinstance(station_id, (list, np.ndarray)):
station_id = ','.join(map(str, station_id))
url = \
'https://data.bordeaux-metropole.fr/geojson/aggregate/ci_vcub_p?key=' + KEY_API_BDX + '&rangeStart=' + str(start_date) +\
'&filter={"ident":{"$in":[' + str(station_id) +']}}&rangeEnd=' + str(stop_date) +\
'&rangeStep=5min&attributes={"nom": "mode", "etat": "mode", "nbplaces": "max", "nbvelos": "max"}'
# Si une seul station_id
else:
url = \
'https://data.bordeaux-metropole.fr/geojson/aggregate/ci_vcub_p?key=' + KEY_API_BDX + '&rangeStart=' + str(start_date) +\
'&filter={"ident":' + str(station_id) +'}&rangeEnd=' + str(stop_date) +\
'&rangeStep=5min&attributes={"nom": "mode", "etat": "mode", "nbplaces": "max", "nbvelos": "max"}'
response = requests.get(url)
return response.json()
Pour des dates anciennes, ça marche correctement :
Code depuis
data.py
:Pour des dates anciennes, ça marche correctement :
Mais pour une date plus récente, on ne retrouve pas l'id de la bonne station :
Il semble que
GID
etIDENT
ont été modifié dans l'api : https://opendata.bordeaux-metropole.fr/explore/dataset/ci_vcub_p/table/Problème lié avec
ident
dans l'url de query et de comment associéstation_id
.