download_from_api_tellus¶
Download from the Tellus API from data.amsterdam.nl using the OAuth2 datapunt Authorization service. Command line example:
download_from_api_tellus https://api.data.amsterdam.nl/tellus data tellusdata.csv 10
usage: download_from_api_tellus [-h] url output_folder filename limit
Positional Arguments¶
url | add full endpoint, for example https://api.data.amsterdam.nl/tellus/ |
output_folder | add outputfolder location, for example my_project_folder/data or . if you want to save in the current dir |
filename | add filename for example tellusdata.csv |
limit | add limited number of pages to test outputfile |
functions¶
-
datapunt_processing.extract.download_from_api_tellus.
conversionListCvalues
(metadata)¶ Create a conversion dictionairy for values in tellus api which consists of 60 speed +length values named: c1 to c60
-
datapunt_processing.extract.download_from_api_tellus.
getJsonData
(url, accessToken)¶ Get a json response from a url with accesstoken.
- Args:
- url: api endpoint
- accessToken: acces token generated using the auth helper: GetAccessToken().getAccessToken(usertype=’employee’, scopes=’TLLS/R’)
- Returns:
- parsed json or error message
-
datapunt_processing.extract.download_from_api_tellus.
get_data
(url_api, endpoint, metadata, accessToken, limit)¶ Get and flatten all the data from the api.
- Args:
url_api: get the main api url:
https://api.data.amsterdam.nl/tellus
get one endpoint:
tellus
get a list of dictionaries from other endpoints, in this case: for tellus location, speed and length.
accessToken: acces token generated using the auth helper: GetAccessToken().getAccessToken()
limit: set the number of pages you want to retrieve, ideal for testing first:
10
- Returns:
- A list containing multiple items which are all reformatted to a flattened json with added metadata.
-
datapunt_processing.extract.download_from_api_tellus.
parser
()¶ Parser function to run arguments from commandline and to add description to sphinx docs.
-
datapunt_processing.extract.download_from_api_tellus.
reformatData
(item, tellus_metadata, cvalues)¶ Reformat the data from a matrix to a flattend dict with label and tellus names.
- Args:
- item: one recorded hour which contains 60 types of registrations c1-c60.
- tellus_metadata: list of description values for each tellus.
- cvalues: converted 60 values to add the proper labels to c1 to c6 counted record.
- Returns:
- 60 rows by c-value with metadata an label descriptions