Si les données sont exportées sur une base SQL, il est toujours possible de faire une moyenne glissante sur plusieurs minutes, heures ou jours en créant une view ( le plus simple pour l'exploitation ultérieure) et de traiter cette source de données ds GW.
Désolé pour le langage ésotérique comme dirait Coulet !
Jean
Un petit exemple (MySql ou DB2 ou postgresSQL ...) ci-dessous pour les amateurs, avec une moyenne glissante sur 10 jours pour des mini maxi et moyenne à partir de recdates (timestamps formatés AAAAMMJJHHMMSS ) :
-- CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `resjour10` AS select `r`.`recdate` AS `recdate`, (select format(avg(`r1`.`tmini`),1) AS `format(avg(tmini),1)` from `resjour` `r1` where ((`r1`.`recdate` <= `r`.`recdate`) and (`r1`.`recdate` >= (`r`.`recdate` - 10)))) AS `tmini10`, (select format(avg(`r2`.`tmaxi`),1) AS `format(avg(tmaxi),1)` from `resjour` `r2` where ((`r2`.`recdate` <= `r`.`recdate`) and (`r2`.`recdate` >= (`r`.`recdate` - 10)))) AS `tmaxi10`, (select format(avg(`r3`.`tmoy`),1) AS `format(avg(tmoy),1)` from `resjour` `r3` where ((`r3`.`recdate` <= `r`.`recdate`) and (`r3`.`recdate` >= (`r`.`recdate` - 10)))) AS `tmoy10`, (select format(avg(`r4`.`pmoy`),1) AS `format(avg(pmoy),1)` from `resjour` `r4` where ((`r4`.`recdate` <= `r`.`recdate`) and (`r4`.`recdate` >= (`r`.`recdate` - 10)))) AS `pmoy10`, (select format(avg(`r1`.`hmini`),1) AS `format(avg(hmini),1)` from `resjour` `r1` where ((`r1`.`recdate` <= `r`.`recdate`) and (`r1`.`recdate` >= (`r`.`recdate` - 10)))) AS `hmini10`, (select format(avg(`r2`.`hmaxi`),1) AS `format(avg(hmaxi),1)` from `resjour` `r2` where ((`r2`.`recdate` <= `r`.`recdate`) and (`r2`.`recdate` >= (`r`.`recdate` - 10)))) AS `hmaxi10`, (select format(avg(`r3`.`hmoy`),1) AS `format(avg(hmoy),1)` from `resjour` `r3` where ((`r3`.`recdate` <= `r`.`recdate`) and (`r3`.`recdate` >= (`r`.`recdate` - 10)))) AS `hmoy10`,
(select format(avg(`r11`.`tmini`),1) AS `format(avg(tmini),1)` from `resjour` `r11` where ((`r11`.`recdate` <= `r`.`recdate`) and (`r11`.`recdate` >= (`r`.`recdate` - 3)))) AS `tmini3`, (select format(avg(`r12`.`tmaxi`),1) AS `format(avg(tmaxi),1)` from `resjour` `r12` where ((`r12`.`recdate` <= `r`.`recdate`) and (`r12`.`recdate` >= (`r`.`recdate` - 3)))) AS `tmaxi3`, (select format(avg(`r13`.`tmoy`),1) AS `format(avg(tmoy),1)` from `resjour` `r13` where ((`r13`.`recdate` <= `r`.`recdate`) and (`r13`.`recdate` >= (`r`.`recdate` - 3)))) AS `tmoy3`, (select format(avg(`r14`.`pmoy`),1) AS `format(avg(pmoy),1)` from `resjour` `r14` where ((`r14`.`recdate` <= `r`.`recdate`) and (`r14`.`recdate` >= (`r`.`recdate` - 3)))) AS `pmoy3`, (select format(avg(`r1`.`hmini`),1) AS `format(avg(hmini),1)` from `resjour` `r1` where ((`r1`.`recdate` <= `r`.`recdate`) and (`r1`.`recdate` >= (`r`.`recdate` - 3)))) AS `hmini3`, (select format(avg(`r2`.`hmaxi`),1) AS `format(avg(hmaxi),1)` from `resjour` `r2` where ((`r2`.`recdate` <= `r`.`recdate`) and (`r2`.`recdate` >= (`r`.`recdate` - 3)))) AS `hmaxi3`, (select format(avg(`r3`.`hmoy`),1) AS `format(avg(hmoy),1)` from `resjour` `r3` where ((`r3`.`recdate` <= `r`.`recdate`) and (`r3`.`recdate` >= (`r`.`recdate` - 3)))) AS `hmoy3`
from `resjour` `r` group by 1
_________________ Jean Station : VP2 Pro Console Vue + anémomètre à Ultra-sons Logiciels : Cumulus 1.9.4 + Cumulus2SQL Serveur local : Apache + MySQL +PHP PC : W10 Support Audio : FR
http://meteoserignan.ddns.net
"Aide-toi d'abord toi-même et les autres t'aideront ... peut-être"
Dernière édition par jturlier le Ven Fév 02, 2007 1:49 pm, édité 1 fois.
|