From 03e13b10d877733528d75f20a3f1d706088f7b9b Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Sun, 10 Feb 2019 04:33:46 +0100 Subject: [PATCH] [weather dataengine] bbc,envcan,noaa: fix day/night calculation for observe "time" engine ignores the timezone in the passed DateTime variable, only looks at the one given in the first argument --- dataengines/weather/ions/bbcukmet/ion_bbcukmet.cpp | 3 ++- dataengines/weather/ions/envcan/ion_envcan.cpp | 3 ++- dataengines/weather/ions/noaa/ion_noaa.cpp | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dataengines/weather/ions/bbcukmet/ion_bbcukmet.cpp b/dataengines/weather/ions/bbcukmet/ion_bbcukmet.cpp index 2a59e8b55..02e89b26f 100644 --- a/dataengines/weather/ions/bbcukmet/ion_bbcukmet.cpp +++ b/dataengines/weather/ions/bbcukmet/ion_bbcukmet.cpp @@ -747,7 +747,8 @@ bool UKMETIon::readObservationXMLData(const QString& source, QXmlStreamReader& x (data.observationDateTime.isValid() && (!qIsNaN(data.stationLatitude) && !qIsNaN(data.stationLongitude))); if (canCalculateElevation) { - data.solarDataTimeEngineSourceName = QStringLiteral("Local|Solar|Latitude=%1|Longitude=%2|DateTime=%3") + data.solarDataTimeEngineSourceName = QStringLiteral("%1|Solar|Latitude=%2|Longitude=%3|DateTime=%4") + .arg(QString::fromUtf8(data.observationDateTime.timeZone().id())) .arg(data.stationLatitude) .arg(data.stationLongitude) .arg(data.observationDateTime.toString(Qt::ISODate)); diff --git a/dataengines/weather/ions/envcan/ion_envcan.cpp b/dataengines/weather/ions/envcan/ion_envcan.cpp index 81ab2703e..78001c220 100644 --- a/dataengines/weather/ions/envcan/ion_envcan.cpp +++ b/dataengines/weather/ions/envcan/ion_envcan.cpp @@ -739,7 +739,8 @@ bool EnvCanadaIon::readXMLData(const QString& source, QXmlStreamReader& xml) (data.observationDateTime.isValid() && (!qIsNaN(data.stationLatitude) && !qIsNaN(data.stationLongitude))); if (canCalculateElevation) { - data.solarDataTimeEngineSourceName = QStringLiteral("Local|Solar|Latitude=%1|Longitude=%2|DateTime=%3") + data.solarDataTimeEngineSourceName = QStringLiteral("%1|Solar|Latitude=%2|Longitude=%3|DateTime=%4") + .arg(QString::fromUtf8(data.observationDateTime.timeZone().id())) .arg(data.stationLatitude) .arg(data.stationLongitude) .arg(data.observationDateTime.toString(Qt::ISODate)); diff --git a/dataengines/weather/ions/noaa/ion_noaa.cpp b/dataengines/weather/ions/noaa/ion_noaa.cpp index bdd7dba90..fa77fd611 100644 --- a/dataengines/weather/ions/noaa/ion_noaa.cpp +++ b/dataengines/weather/ions/noaa/ion_noaa.cpp @@ -491,7 +491,8 @@ bool NOAAIon::readXMLData(const QString& source, QXmlStreamReader& xml) (data.observationDateTime.isValid() && (!qIsNaN(data.stationLatitude) && !qIsNaN(data.stationLongitude))); if (canCalculateElevation) { - data.solarDataTimeEngineSourceName = QStringLiteral("Local|Solar|Latitude=%1|Longitude=%2|DateTime=%3") + data.solarDataTimeEngineSourceName = QStringLiteral("%1|Solar|Latitude=%2|Longitude=%3|DateTime=%4") + .arg(QString::fromUtf8(data.observationDateTime.timeZone().id())) .arg(data.stationLatitude) .arg(data.stationLongitude) .arg(data.observationDateTime.toString(Qt::ISODate));