Re: Tuto Pluviométrie Mensuelle Comparée aux Normales 1981-2
Posté : 20 déc. 2014, 13:36
Je l'ai installé, mais je n'ai pas trouvé ou ça plante, de plus je ne sais pas trop comment ça fonctionne web developper
http://www.boock.ch/meteo/forum/
Bon j'ai regardé ton code.JP54 a écrit : J'ai bien les donnés, la normale et les écarts, mais j'ai une page blanche.
Donc j'ai un problème je ne sais pas trop à quel endroit, partie php sans doute, une virgule, une parenthèse, j'ai vérifié à priori c'est bon.
Je mets le code de mon graphique si quelqu'un peut jeter un oeil.
Bien sûr je continue à chercher, on ne s'est jamais...
. C'est une autre cause de la page blanche.
Code : Tout sélectionner
function comArr(unitsArray) {
var outarr = [];
for (var i = 0; i < time.length; i++) {
outarr[i] = [time[i], unitsArray[i]];
}
return outarr;
}
Code : Tout sélectionner
data: comArr(t_out_moy)
Code : Tout sélectionner
data: NBJGJanvier,
Code : Tout sélectionner
$sql = "SELECT substr(recdateTZ,1,4) AS Annee, sum(t_out_mini <= 0) AS NBJG FROM MiniMaxidata WHERE substr(recdateTZ,5,2)='01' GROUP BY 1";
$query = mysql_query($sql);
$i=0;
$NBJG02 = array();
while ($list = mysql_fetch_assoc($query)) {
$Annee[$i]=$list['Annee']*1;
$NBJG[$i]=$list['NBJG']*1;
if (date("m",$time[$i]/1000)==1) {$NormaleMensuelle[$i]=17.3;}
$NBJG02[] = array($Annee[$i],(float)$NBJG[$i]);
$Ecart[$i]=$NBJG[$i]-$NormaleMensuelle[$i];
$i++;
}
Code : Tout sélectionner
$sql = "SELECT substr(recdateTZ,1,4) AS Annee, sum(t_out_mini <= 0) AS NBJG FROM MiniMaxidata WHERE substr(recdateTZ,5,2)='01' GROUP BY 1";
$query = mysqli_query($conn,$sql);
$i=0;
$NBJGJanvier = array();
$NormaleMensuelleJanvier= array();
$EcartJanvier = array();
while ($list = mysqli_fetch_assoc($query)) {
$Annee[$i]=$list['Annee']*1;
$NBJG[$i]=$list['NBJG']*1;
$Normale1981_2010Janvier[$i]=17.3;
$Ecart[$i]=$NBJG[$i]-$Normale1981_2010Janvier[$i];
$NBJGJanvier[] = array($Annee[$i],(float)$NBJG[$i]);
$EcartJanvier[] = array($Annee[$i],(float)$Ecart[$i]);
$NormaleMensuelleJanvier[] = array($Annee[$i],(float)$Normale1981_2010Janvier[$i]);
$i++;
}
BonjourPascalWMR a écrit :Tuto Pluviométrie Mensuelle Comparée aux Normales 1981-2010
Le but de ce tuto, est d'afficher un graphique Highstock qui compare la pluviométrie mensuelle aux Normales 1981-2010.
A la fin de ce tuto, vous devriez obtenir un graphique ressemblant à celui-ci.
http://www.monsite-meteo.eu/meteo/PageG ... rmales.php
Ce graphique est inspiré de celui que Pierre-André avait fait il y a un moment. Cependant, il présentait quelques inconvénients.
Pour afficher les "Normales, il fallait les saisir manuellement tous les ans. C'était fastidieux et on loupait le réveillon de nouvel an pour mettre à jour les données en temps réel .
Le code PHP de la page s’allongeait tous les ans et la courbe des Normales était affichée jusqu'à la fin de l'année sans qu'il y ait de données pluie correspondantes.
Avec la méthode employée pour extraire les données de la BDD on utilisait la fonction DataGrouping de Highstock pour les afficher.
Le problème avec cette méthode, est que le nombre de données "Rain_jour" (des centaines voire plus), extraites de la BDD et le nombre de données "Normales" (12 par an) n'est pas le même.
Ceci a pour conséquence, si l'on fait un zoom sur le graphique, d'avoir des courbes qui ne veulent plus dire grand-chose car elles ne sont pas synchronisées.
J'ai donc trouvé la solution que je vous donne ici .
Et voilà. J'ai commencé par le plus simple, car le code pour afficher les même données annuellement ou pour un seul mois, comme sur cette page de mon site,contrairement à ce que l'on pourrait penser, est plus compliqué.
Mais cela vous sera expliqué dans d'autres tutos.
Bon un rayon de soleil est de retour, je vais en profiter pour aller tondre la pelouse.