Weather 2016 programming project - BCCN-Prog/weather_2016 GitHub Wiki
Useful link: Top 10 weather APIs
cities_table = {"berlin": 1, "hamburg": 2, "muenchen": 3, "koeln": 4, "frankfurt": 5, "stuttgart": 6, "bremen" :7, "leipzig": 8, "hannover": 9, "nuernberg": 10, "dortmund": 11, "dresden": 12, "kassel": 13, "kiel": 14, "bielefeld": 15, "saarbruecken": 16, "rostock": 17, "freiburg": 18, "magdeburg": 19, "erfurt": 20}
provider_list = { 'timeanddate_com': 0, 'wetter_com': 1, 'owm': 2, 'wetter_de': 3, 'accuweather': 4, 'wunderground': 5, 'historical': 6}
Which of the following are now working on the server?
- openweathermap.org + API - [Claus]
- wetter.com (ecmwf) - [Jan]
- timeanddate.com/weather (customweather) - [Alicja]
- wetter.de (meteogroup) - [Greg]
- wunderground + API - [Ines]
- accuweather [Denis]
- (weather.com [Claudia] - abandoned)
- (yahoo weather + API - abandoned)
- (wetter24.de (meteogroup) - abandoned)
- (wetter.info (meteogroup + DWD) - abandoned)
FYI: Weather.com and Wunderground need to be accessed via their APIs. We did not succeed in scraping them. They do however share the same parent company and now use a single API scheme for data access (despite having different data).
- air temperature
- precipitation
- humidity
- air pressure (?)
- wind speed
- wind direction
- hours of sunshine
- cloud cover
Structure of the dictionary:
{'site' : (String) e.g. 'Wetter.de'
'city' : (String)
'date' : int
'prediction_time': int
'hourly': {'00' (String) : { *see 'hourly' below }
'01' (String) : { ... }
...
'24' (String) : { ... }
'daily': {'0' (String) : { *see 'daily' below }
: {'1' (String): {...}
...
: {'10' (): {...}
}
for each hour:
'hourly' {'00' : {
'temp' : Celsius
'humidity' : %
'pressure' : hPa
'wind_speed': m/s
'rain_amt': mm = liter/m²
'rain_chance': %
'cloud_cover': %
}
for each day:
'daily': {'0': {
'high': Celsius
'low': Celsius
'rain_chance': %
'rain_amt': mm = liter/m²
'pressure': hPa (ave)
'cloud_cover': % (ave)
}
Datatypes:
- float for all numbers
- int for time and date on the highest dict level
- string for texts and all keys (also number keys)
- date format: 'YYYYMMDD'
- prediction_time format: 'YYYYMMDDHHMM'
- NaN or none for void values (has to be figured out still)
- For forecasts:
Day 1 = 1 day in the future
Day 0 = Same day - Void or no data: None
- Hourly index denotes hour of the day, e.g. 19 for 7pm
Things to figure out:
- Shall we also use double digits for the daily keys?
- Shall we aim for including day/hour 0?
Seaborn Python data visualisation
HERE Data Lens map visualization toolkit