où l'on cause feuilles de style et variables ...

Une question, un bug ?
Répondre
jdny
Membre
Messages : 44
Inscription : dim. janv. 21, 2007 8:56 am

Message par jdny »

Est-il possible d'extraire du fichier history.txt d'autres valeurs que $CURRENT, $MIN, $MAX, etc., (par exemple la valeur située 3 lignes au dessus de $CURRENT) et de faire des calculs sur plusieurs variables ?

c'est pas très clair, hein ?

bon, pourquoi cette question à la noix ?
voilà, comme j'incrémente le fichier history.txt qu'une fois toutes les 5 mn, certaines courbes, comme la vitesse du vent par exemple, sont en dents de scie, du fait des variations assez importantes (un coup on tombe pile sur une rafale, le coup d'après on tombe dans un moment de pétole, etc.)
En affichant une valeur moyenne calculée a partir des 3 ou 5 dernières valeurs, on aurait une courbe plus lissée.

bon, bref, comment qu'on fait ?

j'ai cherché sur le web, mais j'ai pas trouvé de site expliquant ce langage.
y'a bien ce site : http://artichow.org/ , mais ça vole déja trop haut pour moi et je ne suis pas sûr qu'il s'agisse de la mème chose qu'ici.

sur ce, bonne nuit.
Dernière modification par jdny le mer. janv. 24, 2007 11:35 pm, modifié 1 fois.
Avatar de l’utilisateur
TiToine
Site Admin
Messages : 3356
Inscription : lun. mars 20, 2006 11:16 am
Localisation : Montréal
Contact :

Message par TiToine »

Salut,

Non ca n'est pas possible pour l'instant, mais je peux ajouter cette fonction par la suite. J'avais buté la dessus pour rééchantilloner la courbe, la il s'agirait de fiter la courbe avec des b-splines pour avoir une courbe parfaitement lissée. Je prends note de ta demande.

Antoine.
Avatar de l’utilisateur
jturlier
Membre
Messages : 3149
Inscription : mar. août 22, 2006 8:38 am
Localisation : 34410 Sérignan - Languedoc
Contact :

Message par jturlier »

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
Dernière modification par jturlier le ven. févr. 02, 2007 1:49 pm, modifié 1 fois.
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
Image
"Aide-toi d'abord toi-même et les autres t'aideront ... peut-être"
jdny
Membre
Messages : 44
Inscription : dim. janv. 21, 2007 8:56 am

Message par jdny »

merci ...

... quelques fois on pose un question parce qu'on se trouve devant un obstacle, et la réponse ne vous permet pas de franchir l'obstacle immédiatement, mais vous donne une idée plus précise de la dimension de l'obstacle à franchir !
Répondre