Search
Na internetu existuje řada služeb poskytujících meteorologická data pomocí REST API. Data jsou typicky vracena ve formátu JSON, který je možné v Qt zpracovat pomocí tříd QJsonDocument, QJsonObject a QJsonArray.
QJsonDocument
QJsonObject
QJsonArray
V tomto cvičení bude aplikace načítat:
Komunikace bude realizována pomocí tříd QNetworkAccessManager, QNetworkRequest a QNetworkReply.
QNetworkAccessManager
QNetworkRequest
QNetworkReply
Open-Meteo template
OpenWeatherMap template
Template QtWeather (2025, JK)
Na adrese https://openweathermap.org lze získat informace o současném počasí a pomocí API lze data číst. Data jsou uložena ve formátu JSON a je třeba je v Qt dekódovat, aby je bylo možné použít.
https://api.openweathermap.org/data/2.5/weather?q=prague&appid=9015878572d5a56d22bafb7d1e71c92e
API Key:
9015878572d5a56d22bafb7d1e71c92e
Obrázky počasí lze najít na odkazu:
http://openweathermap.org/img/wn/04d@2x.png
kde 04d je typ ikony získaný v JSON objektu.
04d
Pro aktuální verzi cvičení bude využita služba Open-Meteo:
https://open-meteo.com/
Výhodou Open-Meteo je jednoduché použití bez nutnosti registrace nebo API klíče. Služba poskytuje data ve formátu JSON a umožňuje získávat aktuální počasí, předpověď, astronomické údaje i geolokační informace.
Vyhledání města a získání zeměpisných souřadnic:
https://geocoding-api.open-meteo.com/v1/search?name=Prague
Ukázka načtení aktuálního počasí:
https://api.open-meteo.com/v1/forecast?latitude=50.08804&longitude=14.42076¤t=temperature_2m,relative_humidity_2m,surface_pressure,weather_code&timezone=auto
https://api.open-meteo.com/v1/forecast?latitude=50.08804&longitude=14.42076&timezone=auto&forecast_days=1&daily=sunrise,sunset
https://api.open-meteo.com/v1/forecast?latitude=50.08804&longitude=14.42076&hourly=temperature_2m&timezone=auto