display more data in daily weather widget, display weather icons

This commit is contained in:
Konstantin Kollar
2022-09-02 17:10:12 +02:00
parent 20d197c505
commit 1b4b82369b
3 changed files with 115 additions and 18 deletions
+49
View File
@@ -18,6 +18,55 @@ class DailyWeatherModel {
}
}
int dailyAveragePressure() {
double pressureSum = 0;
int failuresInData = 0;
for (HourlyWeatherModel forecast in hourlyForecasts) {
if (forecast.pressure != null) {
pressureSum = pressureSum + forecast.pressure!;
} else {
failuresInData += 1;
}
}
return (pressureSum / (hourlyForecasts.length - failuresInData)).round();
}
int dailyPrecipitation() {
double precipitation = 0;
for (HourlyWeatherModel forecast in hourlyForecasts) {
if (forecast.precipitation != null) {
precipitation = precipitation + forecast.precipitation!;
}
}
return precipitation.round();
}
int dailyAverageCloudCover() {
double cloudCoverSum = 0;
int failuresInData = 0;
for (HourlyWeatherModel forecast in hourlyForecasts) {
if (forecast.cloudCover != null) {
cloudCoverSum = cloudCoverSum + forecast.cloudCover!;
} else {
failuresInData += 1;
}
}
return (cloudCoverSum / (hourlyForecasts.length - failuresInData)).round();
}
int dailyAverageWindSpeed() {
double windSpeedSum = 0;
int failuresInData = 0;
for (HourlyWeatherModel forecast in hourlyForecasts) {
if (forecast.windSpeed != null) {
windSpeedSum = windSpeedSum + forecast.windSpeed!;
} else {
failuresInData += 1;
}
}
return (windSpeedSum / (hourlyForecasts.length - failuresInData)).round();
}
String dailyAverageTemp() {
double tempSum = 0;
for (var forecast in hourlyForecasts) {
+2 -2
View File
@@ -2,7 +2,7 @@ class HourlyWeatherModel {
late DateTime timestamp;
String? sourceId;
double? precipitation;
int? pressure;
double? pressure;
int? sunshine;
late double temperature;
int? windDirection;
@@ -21,7 +21,7 @@ class HourlyWeatherModel {
HourlyWeatherModel.fromJson(Map<String, dynamic> json) {
sourceId = json['source_id'].toString();
precipitation = json['precipitation'];
pressure = json['pressure'];
pressure = json['pressure_msl'];
sunshine = json['sundshine'];
temperature = json['temperature'];
windDirection = json['wind_direction'];