Page 4 sur 8

Re: Donnée du jour sur plusieurs années

Posté : 06 nov. 2013, 18:35
par Tudgur
webmaster a écrit :Car dans l'idée de départ tu ne voulais que les mesures de l'année précédente, mais je trouve dommage d'écraser ces valeurs une fois l'année passée.
C'est une proposition pour comparer l'année présente à l'année précédente...
Mais on pourrait effectivement faire une comparaison avec les 5 (ou 10 ?) années précédentes, ou garder toutes les années.
La question que je me pose est la suivante:
webmaster a écrit :Est que nous précalculons les cumuls et moyennes mensuelles et annuelles en incrémentant deux tables (une déjà existante et une autre à ajouter) ? Ou gardons nous uniquement les mesures journalières desquelles nous puisons les valeurs requises pour les différents calculs durant l'affichage de la page ?
Je ne sais pas ce qui est le plus facile pour toi ?
Dans cette 3ième table (puisqu'il y a déjà jours et mois), il y aurait un précalcul, du 1er du mois jusqu'à la date courante et du 1er janvier jusqu'à la date courante pour les cumuls et moyennes ?
Fais ce qui est le plus facile et qui te prendra moins de temps !

Edit : par moment, il est impossible de se connecter au forum...

Re: Donnée du jour sur plusieurs années

Posté : 06 nov. 2013, 20:16
par webmaster
Bon, et bien j'opte pour le précalcul.
Annule et remplace le code précédent:

Voir code haut de post

Re: Donnée du jour sur plusieurs années

Posté : 06 nov. 2013, 21:36
par webmaster
Annule et remplace le précédent, il y a maintenant les moyennes et cumuls annuels.

Voir code haut de post

Re: Donnée du jour sur plusieurs années

Posté : 06 nov. 2013, 22:46
par Tudgur
Voilà, c'est fait et exécuté, la troisième table est créée.
Pour la ligne créée dans la table mois, toutes les dates et heures sont à 0000-00-00 et 00:00:00, c'est normal ?
Dans les tables mois et annees, les valeurs de pressions sont de l'ordre de 13 à 15..., il doit y avoir une erreur de sélection de données.

edit :

Dans la table mois il y a maintenant 3 lignes.
2013-10-00 (créée avec l'ancien fichier insert)
2013-10-05
2013-10-06
Dans ces deux dernières, les valeurs figurant dans les colonnes mois_valeur_pression_min, mois_valeur_pression_moy et mois_valeur_pression_max sont les mêmes que celles des colonnes mois_valeur_temp_min, mois_valeur_temp_moy et mois_valeur_temp_max (11.4 et 12.0 pour les min ; 13.4 et 13.8 pour les moy ; 15.5 et 15.7 pour les max)
D'où sortent ces valeurs de températures ?

Pour la table an, c'est le même soucis (avec 0.1°C de plus pour les températures et donc les pressions...)
Je n'ai pas vérifié les autres valeurs...

Re: Donnée du jour sur plusieurs années

Posté : 07 nov. 2013, 21:12
par webmaster
Bonsoir,

J'ai retiré les différents codes postés jusqu'à aujourd'hui pour n'en laisser qu'un seul en page deux que je mettrais à jour si besoin.

Tudgur a écrit :Dans les tables mois et annees, les valeurs de pressions sont de l'ordre de 13 à 15..., il doit y avoir une erreur de sélection de données.
J'ai corrigé le problème d'erreur de pression moyenne, erreur de variable....
Tudgur a écrit :D'où sortent ces valeurs de températures ?
Alors quelques explications.
Dans la table jour sont enregistrées les extrêmes avec l'heure correspondante et les moyennes de la veille.
Dans la base mois sont enregistrées les moyennes et cumuls au fil des jours, c'est l'addition des mesures des jours concernés divisées par le nombre de jour pour les moyennes. Il n'y a pas d'heure ou date pour les moyennes. Les lignes 2013-10-00 ou 2013-11-00 sont les extrêmes des mois, avec dates et heures.
Dans la table ans c'est le même principe que la table mois, il y a les moyennes et cumuls au fil des jours.

Comprends-tu le principe ?

Re: Donnée du jour sur plusieurs années

Posté : 08 nov. 2013, 00:19
par Tudgur
Bonsoir (0h07 heure locale !!!)

Oui, j'ai bien compris le principe.
Pas d'heure ni de date pour les moyennes bien entendu.
Dans la table mois, les valeurs min et max sont donc des moyennes ? mois_val_temp_min est la moyenne des mini du mois courant ?

Comment se fait-il que la ligne du 7 ait été créée puisque nous sommes toujours le 7 en UTC ?

Dans la table jours, la ligne du 7 a été créée aussi, mais avec toutes les valeurs du 6 : les deux lignes sont identiques...
Dans la table année, la ligne du 7 a aussi été créée.

Edit du 8 au matin : dans la table jour, les valeurs de la ligne du 7 ont été modifiées.

Re: Donnée du jour sur plusieurs années

Posté : 08 nov. 2013, 12:39
par webmaster
Bonjour ,
Tudgur a écrit :Dans la table mois, les valeurs min et max sont donc des moyennes ? mois_val_temp_min est la moyenne des mini du mois courant ?
Oui, j'ai gardé la même variable pour ne pas alourdir inutilement la base. Donc sur les date au format AAAA-MM-00 c'est bien un extrême, pour le reste c'est une moyenne des extrêmes au jour J-1
Dans la même logique, je devrais ajouter dans la table ans une ligne AAAA-00-00 avec les extrêmes annuels de l'année précédente.
Tudgur a écrit :Comment se fait-il que la ligne du 7 ait été créée puisque nous sommes toujours le 7 en UTC ?
Il y a un peu plus de deux ans nous avions le même problème:
Code à mettre en haut du fichier insert_sql.php

Code : Tout sélectionner

date_default_timezone_set('UTC');
Ou alors tu lance ton script à 3H00 du matin pour ne pas avoir ce genre de problème.
Tudgur a écrit : Edit du 8 au matin : dans la table jour, les valeurs de la ligne du 7 ont été modifiées.
Tu as du relancer le script qui a enregistré cette fois ci les bonnes mesures sur la bonne ligne.
Personnellement je ne le lance qu'une seule fois à 0H05 je crois. Il est inutile de le lancer plusieurs fois puisque nous travaillons sur les mesure de la veille.

Re: Donnée du jour sur plusieurs années

Posté : 08 nov. 2013, 18:08
par Tudgur
Bonjour,
webmaster a écrit :...sur les date au format AAAA-MM-00 c'est bien un extrême, pour le reste c'est une moyenne des extrêmes au jour J-1...
Je ne suis pas très sûr d'avoir bien compris.
Ceci est-il normal :

Image

Dans la ligne du 7, les valeurs 11.5 / 13.5 / 15.7 sont des moyennes ?
Comment ont été calculées ces valeurs ? Elles ne correspondent à rien par rapport à mes mesures des 5, 6 et 7...
Il n'y aucune date au format AAAA-MM-00 !
webmaster a écrit :Il y a un peu plus de deux ans nous avions le même problème
Effectivement, et je l'ai relu il y a quelques jours !!!
webmaster a écrit :Tu as du relancer le script qui a enregistré cette fois ci les bonnes mesures sur la bonne ligne.
Oui, il est lancé tous les jours à 0h37

Re: Donnée du jour sur plusieurs années

Posté : 08 nov. 2013, 20:45
par webmaster
Tudgur a écrit :Dans la ligne du 7, les valeurs 11.5 / 13.5 / 15.7 sont des moyennes ?
Comment ont été calculées ces valeurs ? Elles ne correspondent à rien par rapport à mes mesures des 5, 6 et 7...
La moyenne mensuel du jour est l'addition de toutes les mesures divisées par leur nombre.
Donc difficile de dire si le résultat que tu affiches est bon. Il faut regarder dans la base jours les mesures additionnées.
Ici je viens de vérifier c'est bon.
Tudgur a écrit :Il n'y aucune date au format AAAA-MM-00 !
Il faut comprendre AAAA pour 2013 par exemple et MM par 10, donc 2013-10-00 comme la première ligne de ta capture qui affiche tes extrêmes du mois dernier.

Re: Donnée du jour sur plusieurs années

Posté : 09 nov. 2013, 07:58
par Tudgur
Bonjour,

Mon problème de compréhension venait du fait que la table mois commence le 5 alors que la table jour commence le 1.
Je pensais donc bêtement que les moyennes affichées dans la table mois était calculées du 5 à la veille du jour courant... Erreur !!!
Je vais donc vérifier ces moyennes et cumuls.

Edit :
A priori, dans la table mois, c'est bon.
Mais dans la table année :

Image

Il vient d'où le 13.88 pour l'ensoleillement ?

Re: Donnée du jour sur plusieurs années

Posté : 09 nov. 2013, 20:44
par webmaster
webmaster a écrit :Il vient d'où le 13.88 pour l'ensoleillement ?
C'est théoriquement l'addition des mesures enregistrées dans le fichier jours du début de l'année à hier.
Je serai tenté de penser que tu as supprimé des lignes dans ta table jour.

Je viens de contrôler ici il n'y a pas de problèmes.

Re: Donnée du jour sur plusieurs années

Posté : 09 nov. 2013, 21:42
par Tudgur
webmaster a écrit :Je serai tenté de penser que tu as supprimé des lignes dans ta table jour.
voici la table jours pour l'ensoleillement, du 31/10 au 08/11 :

Image

J'ai trouvé l'origine de l'erreur : dans la table ans, les 3 premières lignes sont fausses. les durées inférieures à 1h étaient contées en heures... par exemple, 10 min étaient comptées pour 10 heures....
Dans la ligne du 8, le total est bon.
Je vais corriger les autres lignes.

Edit du 10/11: à priori, ce matin tout est OK !!!

Re: Donnée du jour sur plusieurs années

Posté : 10 nov. 2013, 21:31
par webmaster
Bonsoir,
Cool !
J'ai ajouté les mesures extrêmes et moyennes de l'année précédente pour suivre la logique de l'ensemble du code.
La ligne sera nommé AAAA-00-00.

Re: Donnée du jour sur plusieurs années

Posté : 11 nov. 2013, 21:52
par Tudgur
Bonjour,

Difficile de faire ça quand on n'est pas chez soi...
Merci à TeamViewer !
Mais j'obtiens une erreur avec "an_heure_temp_min" (voir la dernière ligne) :

Code : Tout sélectionner

Erreur dans la requète an_date = '2012-00-00', an_val_temp_min = '-3.5', an_heure_temp_min = '07:12', an_date_temp_min = '2012-02-11', an_val_temp_moy = '12.2', an_val_temp_max = '26.0', an_heure_temp_max = '11:19', an_date_temp_max = '2012-06-02', an_val_hum_min = '36', an_heure_hum_min = '14:27', an_date_hum_min = '2012-03-24', an_val_hum_moy = '88', an_val_hum_max = '100', an_heure_hum_max = '02:22', an_date_hum_max = '2012-01-01', an_val_temp_sol_min = '-6.1', an_heure_temp_sol_min = '22:06', an_date_temp_sol_min = '2012-02-11', an_val_temp_sol_moy = '12.9', an_val_temp_sol_max = '36.7', an_heure_temp_sol_max = '12:49', an_date_temp_sol_max = '2012-09-08', an_val_pression_min = '975.8', an_heure_pression_min = '12:17', an_date_pression_min = '2012-04-25', an_val_pression_moy = '1016.7', an_val_pression_max = '1040.7', an_heure_pression_max = '21:28', an_date_pression_max = '2012-02-03', an_val_pluie = '3.3', an_val_vent_max = '49.9', an_heure_vent_max = '12:57', an_date_vent_max = '2012-04-25', an_direction_vent = '225', an_val_rafale_max = '75.6', an_heure_rafale_max = '11:12', an_date_rafale_max = '2012-01-03', an_val_rayon_max = '1320', an_heure_rayon_max = '12:48', an_date_rayon_max = '2012-07-05', an_val_uv_max = '--', an_heure_uv_max = '--', an_date_uv_max = '----', an_ensoleillement = '1559.27' : Unknown column 'an_heure_temp_min' in 'field list'
Mais quel est l'intérêt de ce rajout dans la base de données puisque l'on peut afficher ces valeurs directement avec un tag de base de WsWin ?
Voir en bas à droite de ma page comparaison, Année 2012.

Edit : dans la table mois, pourquoi as-tu choisi le terme mois_val_temp_min au lieu de mois_moy_temp_min ?
L’appellation laisse penser que c'est la valeur min du mois...
De même, mois_val_pluie au lieu de mois_cumul_pluie par exemple...
Mais je suppose que tout ceci peut se modifier.
Idem pour la table années.

Re: Donnée du jour sur plusieurs années

Posté : 12 nov. 2013, 14:47
par webmaster
Bonjour,
Tudgur a écrit :Mais j'obtiens une erreur avec "an_heure_temp_min" (voir la dernière ligne) :
Et bien regarde par l'intermédiaire de phpMyAdmin que dans la table ans, la colonne an_heure_temp_min existe bien.
Si elle n'existe pas tu peux l'ajouter manuellement en prenant pour modèle une autre colonne équivalente, ou supprimer la table ans et relancer le script.
Tudgur a écrit :Edit : dans la table mois, pourquoi as-tu choisi le terme mois_val_temp_min au lieu de mois_moy_temp_min ?
Webmaster a écrit :J'ai ajouté les mesures extrêmes et moyennes de l'année précédente pour suivre la logique de l'ensemble du code.
Cela suit la logique de la table mois, la ligne est disponible et cela peut servir plus tard pour une comparaison autre ou un graphique. Il sera toujours plus facile d'aller chercher la valeur dans une table que dans WsWin.
Tudgur a écrit :Edit : dans la table mois, pourquoi as-tu choisi le terme mois_val_temp_min au lieu de mois_moy_temp_min ?
L’appellation laisse penser que c'est la valeur min du mois...
De même, mois_val_pluie au lieu de mois_cumul_pluie par exemple...
Tout bêtement par flemme, par suite de copier coller et de remplacement automatique de mots.
Mais il y a un moment où le dénomination est bonne car la variable à deux fonctions, mais c'est plus souvent une moyenne c'est vrai.
Je vais regarder çà.