Nouveau Défi (Résolu par PascalWMR)

Vous créez vos graphiques à partir d'une base de données et vous avez une question, un problème, c'est ici

Modérateurs : jturlier, Météo Villarzel

Javier
Messages : 263
Enregistré le : 15 févr. 2014, 09:23
Localisation : San Sebastián, España
Contact :

Nouveau Défi (Résolu par PascalWMR)

Message par Javier » 10 janv. 2021, 12:08

Salutations à tous en cette nouvelle année 2021.
Pour la nouvelle année, de nouveaux doutes et de nouveaux défis apparaissent

Depuis longtemps, j'imagine comment représenter une carte dynamique, avec des Highcharts qui permettent de représenter de manière simple, la présence ou l'absence de soleil toutes les 5 minutes.
Autrement dit, utiliser la valeur de 1 ou 0 pour établir la présence ou l'absence de lumière solaire à un moment donné.

Pour voir le graphique en direct, vous pouvez vous rendre à cette adresse (dans la section: "Horas de Sol")

https://www.renuncio.com/meteorologia/actual

Pour ce faire, il faut évidemment avoir:
1) Un capteur de lumière solaire.
2) Une table SQL qui stocke la valeur (1: lorsque le capteur détecte la lumière du soleil, 0 lorsqu'il ne le fait pas)
Supposons que nous détections la lumière du soleil, à partir de 120 W / m2; en dessous de cette limite, la valeur attribuée sera 0 et au-dessus, elle sera 1.

Pour le moment, nous avons cette valeur dans Cumulus, dans la table "temps réel" dans le champ "IsSunny" (Type: varchar, Longueur: 1);
cependant, je suppose qu'il peut être obtenu à partir de notre table "data" avec le champ "solarradiation" (Type: double), en calculant la valeur 1 lorsque "solarradiation"> 120.

3) Les autres valeurs nécessaires sont les heures de lever et de coucher du soleil, pour établir la durée de la nuit.
4) Pour terminer le travail, il ne reste plus qu'à concevoir le type de graphique:
Celui que je veux est représenté dans une bande étroite avec de fines lignes verticales dans lesquelles les différentes valeurs ne diffèrent que par la couleur.

Les seules valeurs possibles sont: "soleil" en jaune, "nuageux" en gris et "nuit" en bleu.
Voir la figure: http://kocher.es/cajon/sol1.png
5) L'axe Y n'existe pas.
6) L'axe X montre les valeurs des heures (xx: xx).
7) Je suppose qu'il n'y aura qu'une seule variable dans notre graphique (lumière)?
8) Maintenant, la magie d'un "SELECT" devrait apparaître qui nous donne ces valeurs de manière contiguë (continue).


Évidemment, j'ai été confus au point 7) puisque 3 séries doivent apparaître qui peuvent être désactivées depuis le panneau des étiquettes:
"soleil", "nuageux et" nuit ""


C'est donc mon défi / problème pour cette année 2021, j'ai hâte d'entendre l'avis de nos spécialistes PHP / MySQL.

Salutations de Saint-Sébastien

Javier
Modifié en dernier par Javier le 25 janv. 2021, 18:55, modifié 3 fois.
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym
Image

Avatar du membre
jturlier
Administrateur du site
Messages : 393
Enregistré le : 10 déc. 2014, 10:20
Localisation : Sérignan 34410
Contact :

Re: Nouveau Défi

Message par jturlier » 10 janv. 2021, 15:56

Bonjour Javier et mes meilleurs voeux pour cette nouvelle annés !
Le point ci-dessous pose problème, car la notion "ensoleillé" ne peut être logiquement calculée ainsi à partir d'une valeur unique de 120 W.
Aujourd'hui, par exemple, nous n'avons pas eu un coin de ciel bleu avec de la neige, pourtant nous avons eu des radiations supérieures à 120. Les données sont issues de Cumulus 1.9.4. Cela signifie donc qu'il ne semble pas raisonnable d'utiliser ça. Il faudrait peut-être regarder si cette valeur ne serait pas le cumul des radiations pendant les 5 minutes entre 2 enregistrements.
Javier a écrit :
10 janv. 2021, 12:08
2) Une table SQL qui stocke la valeur (1: lorsque le capteur détecte la lumière du soleil, 0 lorsqu'il ne le fait pas)
Supposons que nous détections la lumière du soleil, à partir de 120 W / m2; en dessous de cette limite, la valeur attribuée sera 0 et au-dessus, elle sera 1.
Pour le moment, nous avons cette valeur dans Cumulus, dans la table "temps réel" dans le champ "IsSunny" (Type: varchar, Longueur: 1);
cependant, je suppose qu'il peut être obtenu à partir de notre table "data" avec le champ "solarradiation" (Type: double), en calculant la valeur 1 lorsque "solarradiation"> 120.
Si tu le souhaites, je pourrais essayer de te créer un programme qui enregistrerait la date et l'heure, les lever et coucher de soleil et le champ isSunny.
Il faudrait vérifier quel est le mode de récupération de isSunny (soit une moyenne, soit un maxi) et la récupérer avec le même pas que la valeur Realtime Interval.
Ce type de programme ne pourrait être utilisé qu'avec, naturellement, Cumulus 1.9.4.
Bonne fin de journée
Jean

Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL

Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
Image

Javier
Messages : 263
Enregistré le : 15 févr. 2014, 09:23
Localisation : San Sebastián, España
Contact :

Re: Nouveau Défi

Message par Javier » 10 janv. 2021, 20:01

Bonne nuit Jean :)

Je vois que vous n'avez pas de capteur solaire sur votre station Davis.
J'ai personnellement un détecteur de lumière solaire, construit par Alan Blake (Angleterre) et Ole Jul Larsen (Danemark). "Sunshine Recorder":

http://kocher.es/sun-recorder.php

En outre, j'ai aussi les données Cumulus référencées dans sa table "realtime", obtenues à partir des données de la station Davis avec capteur solaire et UV.

Les données du BLsnurecorder sont produites par le programme fourni avec le capteur et ont un format différent, non stockées (pour l'instant) dans une base de données.

Avec les deux méthodes, j'obtiens des graphiques de lumière du soleil très similaires (non interactifs); pratiquement identiques (par coïncidence, le ciel n'a pas été dégagé depuis 1 minute aujourd'hui).

Forum Cumulus (https://cumulus.hosiene.co.uk/viewtopic ... it=sunplot);
Le script est disponible ici: https://weather.wilmslowastro.com/scripts.php

http://kocher.es/cumulusMX/sunplot.php (à partir de la base de données)

Tableau BLsunrecorder:

http://kocher.es/Sol/SunWeb/sunplot-blake-larsen.php (avec des données de SBsunrecorder).

Autrement dit, je n'ai aucun problème avec les données car j'ai accès aux données des deux.
Comme vous pouvez le voir dans les graphiques, il est possible d'utiliser ces données pour visualiser l'existence ou non de la lumière du soleil.

En raison de la plus grande facilité (je pense) de Highcharts à gérer les données stockées dans une table, c'est pourquoi j'ai proposé la question / défi de ce matin.

Ce que je veux, c'est obtenir le graphique cumulusMX sans fournir la hauteur du soleil; c'est-à-dire pouvoir tout voir dans une "bande étroite" comme dans le lien (voir le graphique des "Heures de soleil":

https://www.renuncio.com/meteorologia/actual

Je ne sais pas si j'ai pu bien m'expliquer; le problème que j'ai est que je ne sais pas comment le faire avec Highcharts et PHP MySQL.

En tout cas, ce fut un plaisir de savoir que vous allez bien et, comme toujours, attentif à tout.

Un gros câlin de Saint-Sébastien

Javier
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym
Image

Avatar du membre
jturlier
Administrateur du site
Messages : 393
Enregistré le : 10 déc. 2014, 10:20
Localisation : Sérignan 34410
Contact :

Re: Nouveau Défi

Message par jturlier » 10 janv. 2021, 20:30

Re bonsoir Javier,
j'ai bien un capteur solaire sur ma VP2, mais pas de capteur UV.
Je vais essayer de regarder ça
Bien amicalement
Jean

Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL

Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
Image

Javier
Messages : 263
Enregistré le : 15 févr. 2014, 09:23
Localisation : San Sebastián, España
Contact :

Re: Nouveau Défi

Message par Javier » 10 janv. 2021, 20:53

heh heh :lol:

Je vous demande pardon Jean; J'ai fait cette déclaration après avoir visité votre site Web et n'avoir trouvé aucun indice de données ou de cartes solaires; évidemment je me suis précipité, car ils apparaissent sur la page NOAA en couleur (quelque chose que vous deviez voir aussi ,,, jjjj).

J'ai pensé qu'un moyen rapide de décrire le graphique est un graphique "heatmap" à une seule ligne avec seulement 3 couleurs possibles.

Merci pour l'attention
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym
Image

Avatar du membre
PascalWMR
Messages : 323
Enregistré le : 16 févr. 2014, 09:28
Localisation : CONFLANS EN JARNISY (F54800)
Contact :

Re: Nouveau Défi

Message par PascalWMR » 16 janv. 2021, 18:28

Bonjour et meilleurs vœux.

Javier, pour relever ton défi, j'ai besoin de savoir quel crépuscule je doit utiliser, c'est à dire pour la durée du jour dois-je
Utiliser les heures légale de lever et coucher du soleil
ou
Comme sur mon graphique La nébulosité en temps réel le crépuscule civil?


Je m'explique; N’ayant pas de sunrecorder, ma méthode est de comparer le rayonnement global reçu par un pyranomètre au rayonnement global théorique.
Or avec cette méthode, du fait du rayonnement diffus, comme tu peux le voir sur mon graphique de nébulosité, on peut avoir du soleil avant son lever ou coucher officiel.

Les heures de lever et coucher sont calculés lorsque le soleil est à -0.8333° sous l'horizon tandis que mes calculs tiennent compte du crépuscule civil c'est à dire lorsque le soleil est à -6° sous l'horizon.

A+
Pascal
Modifié en dernier par PascalWMR le 14 mars 2021, 16:27, modifié 1 fois.
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Image

Javier
Messages : 263
Enregistré le : 15 févr. 2014, 09:23
Localisation : San Sebastián, España
Contact :

Re: Nouveau Défi

Message par Javier » 16 janv. 2021, 23:12

Bonne nuit Pascal

Je suis très heureux de savoir que vous allez bien. :)

J'apprécie beaucoup votre intérêt, en plus de votre maîtrise des graphes dynamiques, PHP, MySQL ...

À mon humble avis, les heures d'ensoleillement (réel), dans ce cas, devraient être comptées après que les «3 crépuscules» se soient écoulés; c'est-à-dire, une fois les crépuscules astronomiques, nautiques et civils écoulés:

http://kocher.es/cumulusMX/sunplot.php

Je ne comprends, pas moi-même, :lol: l'intérêt que ce graphe suscite en moi et, je pense que c'est parce que je cherche depuis longtemps un moyen d'imiter les "bandes de papier brûlées" chaque jour, dans les vieux enregistreurs de lumière solaire Campbell Stockes (encore aujourd'hui , l'Institut météorologique de Saint-Sébastien, continue de les utiliser et de les stocker avec soin (depuis plus de 100 ans):

https://www.tiempo.com/ram/1762/el-heli ... ll-stokes/
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym
Image

Avatar du membre
PascalWMR
Messages : 323
Enregistré le : 16 févr. 2014, 09:28
Localisation : CONFLANS EN JARNISY (F54800)
Contact :

Re: Nouveau Défi

Message par PascalWMR » 17 janv. 2021, 08:35

Bonjour Javier

OK c'est parti

A+
Pascal
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Image

Javier
Messages : 263
Enregistré le : 15 févr. 2014, 09:23
Localisation : San Sebastián, España
Contact :

Re: Nouveau Défi

Message par Javier » 17 janv. 2021, 13:14

Comme je l'ai déjà souligné dans le défi, les valeurs que nous allons avoir dans le graphique ne peuvent prendre que la valeur 0 ou 1

L'une des plus grandes difficultés que je vois pour l'axe X est de représenter les données par des périodes contiguës de 0 ou 1

L'enregistreur solaire que j'ai, me fournit un fichier .dat pour chaque jour; par exemple: Sun_20210107.dat
Pour des raisons inconnues, le navigateur ou Window10 ne me permet pas de le voir (Erreur HTTP 404.3), sauf si je change l'extension en .txt:

http://kocher.es/Sol/SunWeb-data/2021/ ... 210107.dat

http://kocher.es/Sol/SunWeb/sol_web.txt

Le format des données permet de voir les périodes de "soleil = 1 ou soleil = 0":

LAT 43.31163
LON 02.01536
TZ 1
DST Faux
SRS 08:40:07 17:48:58 (heures de jour possibles)
TOT 05:05:52 00:00:00 (total des heures: minutes: secondes avec soleil = 1)
SUN 09:26:01 09:32:17 (Période avec soleil = 1)
SUN 09:37:35 14:18:54 (Période avec soleil = 1)
SUN 14:19:28 14:33:04 (Période avec soleil = 1
SUN 14:33:12 14:33:13 Période avec soleil = 1)
SUN 14:33:20 14:33:20 (Période avec soleil = 1)
SUN 14:37:29 14:37:48 (Période avec soleil = 1)
SUN 14:38:01 14:40:23 (Période avec soleil = 1)
SUN 14:41:55 14:43:46 (Période avec soleil = 1)
NRC 17:48:58 17:48:58 (Fin des enregistrements avec soleil possible = 1)

Autrement dit, en utilisant une base de données, nous devons obtenir un format pour l'axe X, similaire à celui décrit.

Seuls 3 types de couleurs seront visibles pour chacune des trois séries: (nuit, ensoleillé, nuageux)
Davis Vantage Pro2 +, Windows 10, Windows 7 (64), Graphweather 3.0.15, Weatherlink 6.0.3, template Pierre-André, template Jachym
Image

Avatar du membre
PascalWMR
Messages : 323
Enregistré le : 16 févr. 2014, 09:28
Localisation : CONFLANS EN JARNISY (F54800)
Contact :

Re: Nouveau Défi

Message par PascalWMR » 17 janv. 2021, 17:14

Re

Voila, c'est ça que vous voulez Nébulosité style bande Héliographe ;) ;)

Ce graphique est fait en comparant le Rayonnement Global reçu par le pyranomètre de la station au seuil Nuageux du facteur Kc de Kasten et Czeplak.

Pour chaque enregistrement de la table data, on calcule la valeur seuil Nuageux du facteur Kc théorique et si l'enregistrement solarradiation de la table data est supérieur à ce seuil, il fait soleil. Sinon c'est nuageux.
Ça c'est quand le jour est levé
Pour les autres heures, il faut savoir s'il fait nuit si c'est le crépuscule astronomique, nautique ou civil.
Cela se fait en calculant la hauteur du soleil.

Je me suis permis également d'y introduire les différents crépuscules en plus de la nuit.

Il n'est pas totalement fini j'ai un souci avec les tstamp.
Tout les calculs doivent se faire en UTC mais sur le graphique, je veux que se soit en heures locale.
C'est pour cette raison que les graphiques commencent soit à 01h00 ou 02h00 selon que l'on est en heure d'hiver ou en heure d'été.

That All Folks

A+
Pascal
Modifié en dernier par PascalWMR le 14 mars 2021, 16:27, modifié 1 fois.
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Image

Répondre