Forum GraphWeather

Forum d'aide GraphWeather
Nous sommes actuellement le Ven Mars 29, 2024 12:14 am

Le fuseau horaire est UTC+1 heure




Publier un nouveau sujet Répondre au sujet  [ 7 message(s) ] 
Auteur Message
 Sujet du message:
MessagePublié: Ven Mai 18, 2007 11:35 am 
Hors-ligne
Membre

Inscription : Mar Mai 01, 2007 6:25 pm
Message(s) : 57
Salut à tous,

J'avais un rain_total de plus de 480mm, en fait, je n'avais jamais réinitialisé cette donnée dans ma ws2300.
Pour exploiter les jauges de Yves, j'ai voulu utiliser rain_total en vue de le remettre à zéro tous les mois pour obtenir la mesure sur le mois.
J'ai donc mis mon rain_total à zero grace à un fichier cron (open2300 powah :) ).

C'est la catastrophe. Les données sont traitées en négatif et je me retrouve avec du -468mm. Exemple:

http://www.diliak.net/meteo/graphweathe ... 07&delta=1

Je pense qu'il faut revoir complètement la façon de calculer le niveau de pluie pour éviter de travailler avec le rain_total; rain_total étant amené à être remis à zéro. N'étant pas un pro du php ...

Je précise que je récupère les données dans une base sql.

_________________
Pat.
Il faut être con pour vivre avec les cons. J'ai essayé, on peut.
San Antonio.
La météo à Villeurbanne


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: Ven Mai 18, 2007 11:04 pm 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : Lun Mars 20, 2006 11:16 am
Message(s) : 3356
Localisation : Montréal
Salut,

Il faudrait regarder où le cumule des précipitations est calculé.

Code :
$total_rainfall=$y7data[count($y7data)-1]-$y7data[0];
for($i=0;$i<count($y7data)-1;$i++)
{
   $y7data[$i]=$y7data[$i+1]-$y7data[$i];
}
$y7data[count($y7data)-1]=$y7data[count($y7data)-2]; //last value

Un essai de correction...en fait de réécriture complète de la boucle car elle était vraiment moche :

Code :
$total_rainfall=0;
for($i=count($y7data)-1;$i!=1;$i--)
{
   $y7data[$i]=$y7data[$i]-$y7data[$i-1];
        if ($y7data[$i]<0) $y7data[$i]=0;    // Le cas ou il y a eu une remise à zéro
        $total_rainfall += $y7data[$i];        // On cumule le relatif
}
$y7data[0]=0; // Valeur inconnue

Antoine.


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: Sam Mai 19, 2007 10:09 am 
Hors-ligne
Membre

Inscription : Mar Mai 01, 2007 6:25 pm
Message(s) : 57
Je teste de suite Titoine ;)

Bon, ça a l'air effectivement mieux mais c'est pas encore ça.
N'y connaissant pas grand chose, je vois que le calcul fait une sorte de différence par rapport aux données stockées. C'est pour ça que dans le premier code en remettant à zero on partait dans les négatifs.
Maintenant ce n'est plus le cas mais si on prend des données sur plusieurs jours, le calcul va tenir compte du rain_total antérieur. La preuve en image :

http://www.diliak.net/meteo/graphweathe ... 7&delta=20

Le calcul n'est pas si simple que ça :P

De plus, si je vais à une date antérieure aux données, je n'ai plus le "jpgraph error".

Si on prend sur une journée, on retrouve un pic du rain_total antérieur à la remise à zero.

http://www.diliak.net/meteo/graphweathe ... 07&delta=1
http://www.diliak.net/meteo/graphweathe ... 07&delta=1
http://www.diliak.net/meteo/graphweathe ... 07&delta=1

_________________
Pat.
Il faut être con pour vivre avec les cons. J'ai essayé, on peut.
San Antonio.
La météo à Villeurbanne


Dernière édition par DiliaK le Sam Mai 19, 2007 10:36 am, édité 1 fois.

Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: Sam Mai 19, 2007 2:02 pm 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : Lun Mars 20, 2006 11:16 am
Message(s) : 3356
Localisation : Montréal
En fait il faudrait ajouter un test, je ne sais pas si ca vient de la mais on ne sait jamais, en plus j'ai fais une erreur dans les indices tssss :D :

Code :
$total_rainfall=0;
for($i=count($y7data)-1;$i>0;$i--)
{
   $y7data[$i]=$y7data[$i]-$y7data[$i-1];
   if ($y7data[$i]<0) $y7data[$i]=0;    // Le cas ou il y a eu une remise à zéro
   $total_rainfall += $y7data[$i];        // On cumule le relatif
}
if(count($y7data)>=1) $y7data[0]=0; // Valeur inconnue


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: Sam Mai 19, 2007 10:45 pm 
Hors-ligne
Membre

Inscription : Mar Mai 01, 2007 6:25 pm
Message(s) : 57
Je teste ça demain matin ;)

Bon, alors il n'y a plus les résidus comme précédemment. Par contre si on prend sur plusieurs jours avant une remise à zéro, ça cumule quand même le rain_total. Et à priori quand on prend à cheval sur une fin de mois, ça crée deux courbes :

http://www.diliak.net/meteo/graphweathe ... 7&delta=20
http://www.diliak.net/meteo/graphweathe ... 7&delta=20

_________________
Pat.
Il faut être con pour vivre avec les cons. J'ai essayé, on peut.
San Antonio.
La météo à Villeurbanne


Dernière édition par DiliaK le Dim Mai 20, 2007 10:21 am, édité 1 fois.

Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: Lun Mai 21, 2007 6:17 pm 
Hors-ligne
Membre

Inscription : Mar Mai 01, 2007 6:25 pm
Message(s) : 57
Bon, à priori ça fonctionne mais si on sélectionne trop de jours, le script perd la boule et il apparait des données parasites; comme par exemple le rain_total d'avant la remise à zéro.
Comment "ralentir" le calcul ? :P

_________________
Pat.
Il faut être con pour vivre avec les cons. J'ai essayé, on peut.
San Antonio.
La météo à Villeurbanne


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: Lun Mai 21, 2007 8:30 pm 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : Lun Mars 20, 2006 11:16 am
Message(s) : 3356
Localisation : Montréal
Sur 20 jours, le script doit utiliser la base intermediaire car sinon le graph est trop long a générer. Il faudrait que tu regardes les valeurs des précipitations absolues dans la base de données des moyennes voir si elles sont cohérentes.


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 7 message(s) ] 

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 4 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Recherche de:
Aller vers :  
cron
POWERED_BY
Traduction et support en françaisHébergement de site