Page 1 sur 5

Graphique jours de gel

Posté : 11 mars 2014, 18:22
par JP54
Bonjour,
Est ce possible de créé des graphiques qui comptabiliseraient les jours de pluie et le jours de gel avec l'une des deux tables de la base de donnés.

Re: Graphique jours de gel

Posté : 11 mars 2014, 19:30
par Météo Villarzel
Bonne question :lol:
c'est certainement possible, en php les possibilités sont presque infinies,
if outdoortemperature < 0 = 1 (si la température est inférieure à 0 on mets 1) ou un truc dans le genre

<?php
if ($outdoortemperature > $0) {
echo "outdoortemperature est plus grand que 0";
} elseif ($outdoortemperature == $0) {
echo "outdoortemperature est égal à 0";
} else {
echo "outdoortemperature est plus petit que 0";
}
?>

bon là il faut rechercher dans la doc PHP, à moins qu'une bonne âme passe par là pour nous donner la solution, à mon avis c'est pas compliqué, mais c'est comme écrire en chinois si tu ne l'a jamais appris, ça prends plus de temps.

A+

Re: Graphique jours de gel

Posté : 11 mars 2014, 22:49
par JP54
J'en ai encore quelque une des question dans ce genre, mais je les garde pour plus tard. :D On va déjà essayer de régler celle là.
C'est déjà une bonne chose que ce soit possible. Mais je ne suis pas un expert en PHP et que je n'écris pas non plus le Chinois donc c'est pas gagné.
En faite en ce moment mon livre de chevet c'est "le PHP pour les nuls" :lol:

Plus sérieusement, je vais cherché si je trouve une partie de la solution et comme le dis Pierre André si une âme charitable passa par là...

Re: Graphique jours de gel

Posté : 11 mars 2014, 22:59
par Météo Villarzel
Il y a un excellent tuto ici
http://fr.openclassrooms.com/informatiq ... p-et-mysql

je n'ai pas encore commencé, mais quand j'ai vu la durée du cours (2mois) :roll:

On verra peut-être à la retraite.

Re: Graphique jours de gel

Posté : 12 mars 2014, 06:36
par JP54
En effet, 2 mois ça fait beaucoup, mais ce tuto va peut-être nous aider car il a l'air fort intéressant.
Un lien pour vous donnez une idée de ce que je voudrais, ce graphique est rempli manuellement
http://www.meteo-jarny.com/graphique-cl ... l-2014.php
Si on peux l'automatisé, ça serait vraiment bien

Re: Graphique jours de gel

Posté : 05 avr. 2014, 09:29
par helmain
Bonjour JP54,
Bien sûr que l'on peut automatiser ce graphique !
Mais je n'ai pas bien vu, et ça ne figure pas dans ta signature, utilises-tu Data2Sql de Jean TURLIER ?? :?:
Si non, te sers-tu d'une BDD pour en enregistrer les données de ta station ? :?:

Tu me réponds rapidement et rapidement tu auras un script pour automatiser ton graphique.

Pour ceux qui ont des trucs à demander, il serait bon que vous indiquiez clairement comment fonctionne votre site
- Data2Sql, MySql, PgSql, etc...
Si vous vous contentez de dire je veux faire ça mais je n'y arrive pas, c'est un peu vague pour vous dépanner.
Mettez tout ce que vous avez dans votre signature, comme l'a fait Pierre-André, au moins on gagnera du temps !!


Bonne journée à tous,
Jean-Michel

Re: Graphique jours de gel

Posté : 05 avr. 2014, 11:56
par JP54
Bonjour Jean Michel,
J'utilise Data2SQL, c'est un oubli j'ai modifié ma signature :oops:
Je ne me suis pas trop penché sur le problème, je n'ai pas eu trop le temps, mais je compte mis remettre rapidement

Re: Graphique jours de gel

Posté : 08 avr. 2014, 20:37
par helmain
Bonjour JP54,

J'ai pris le temps de regarder comment ajouter automatiquement les jours de gel à ton graphique.
Dans un premier temps, j'ai remarqué que ton script ne respectait pas vraiment l'API HighCharts, d'où aucun fonctionnement des options HighCharts que tu as virées. :evil:
Si des ingénieurs en informatique se sont donnés la peine de les créer, c'est sans doute parce qu'elles avaient une certaine fonctionnalité. :idea:
Ensuite mauvaise nouvelle, j'ai tourné le machin dans tous les sens, mais impossible d'ajouter le cumul annuel dans une quatorzième colonne.
Utilisant un type "Datetime" sur xAxis, on se retrouve avec 12 colonnes, mais bon je n'ai pas dit mon dernier mot.
Pour automatiser, il faut exécuter une requête sql à chaque appel de la page contenant le graphique.
Voici cette requête :

"SELECT substr(recdatetz, 5, 2),count(*) FROM MiniMaxidata
WHERE tstamp > '$start'
AND tstamp <= '$stop'
AND t_out_mini <= 0
group by 1
union
SELECT substr(recdatetz, 5, 2),null FROM MiniMaxidata
WHERE tstamp > '$start'
AND tstamp <= '$stop'
AND substr(recdatetz, 5, 2) not in (SELECT substr(recdatetz, 5, 2)
FROM MiniMaxidata
WHERE tstamp > '$start'
AND tstamp <= '$stop'
AND t_out_mini <= 0)
group by 1
order by 1";

Explications :
Dans un premier temps, avant la requête, j'ai défini un $start et un $stop soit le 1er janvier zéro heure de l'année en cours et le 1er janvier zéro heure de l'année prochaine
Dans la première partie de la requête, je vais chercher mois par mois le nombre de jours avec un t_out_mini négatif dans la table MaxiMinidata.
Pour obtenir le mois je me sers de la rubrique recdatetz sur laquelle j'effectue un "substr", c'est à dire que je ne garde que les deux chiffres commençant en cinquième position.
Par exemple pour le 1er janvier 2014 à 15h30 le recdatetz = 201401011530
Pour associer les nombres de jours aux mois, j'effectue un "group by" en fin de la première partie de requête.
Pour la seconde partie de la requête, après "union", j'effectue une recherche sur tous les mois, n'ayant pas eu une température négative, et pour les mois trouvés, je force le nombre de jours à zéro.
Là aussi, j'effectue un "group by" en fin de requête, puis un "order by"général de façon à ce que le résultat soit chronologique.

Le hic c'est que nous sommes en avril, et que la table ne contient pas de résultats pour les 8 mois à venir, le graphique ne comportait donc que 4 colonnes.
J'ai donc créé 12 timestamp "bidons" afin que le graphique comporte bien douze mois dès maintenant.
Pour tester, n'ayant eu qu'un seul jour en mars avec une température négative à côté de Disney, j'ai calé mes start et stop sur l'année 2013, mais avec tes normales à toi.
J'ai également viré tes min et max sur yAxis, ils sont inutiles et empêchent le graphique de s'adapter à son cadre.
En effet, en fonction de la valeur des données l'échelle se modifie automatiquement, ça évite d'avoir un trait gris en bas pour le premier jour de gel de janvier ! :idea:
Ca donne le résultat suivant : http://toutletempslaniaque.net/minigraphs/jours_gel.php
Par ailleurs, j'ai vu que tu indiquais "en dur" l'année dans le titre de ton graphique, je t'ai modifié le truc, au premier janvier 2015, le titre sera avec l'année 2015 sans que tu touches à quoi que ce soit. :mrgreen:
Est-ce que ca te va ?
Merci de me répondre par MP.

Bonne soirée
Jean-Michel

Re: Graphique jours de gel

Posté : 08 avr. 2014, 23:05
par Météo Villarzel
Alors là, chapeau bas helmain, c'est la grande classe, il faut vraiment que je me mette à ce fichu PHP, je vais faire une demande de retraite anticipée dès demain a mon chef :lol:

Bonne soirée

A+

Re: Graphique jours de gel

Posté : 09 avr. 2014, 13:58
par JP54
Comme le dis Pierre André, c''est la grande classe.
Bravo