Bloc code php besoin d'aide array

bonjour,

je cherche a faire de la prévision de prod solaire mais je suis encore loin du résultat? J’en profite pour apprendre le php en fait, ceci est donc mon premier code ou presque.

je télécharge la prévision nuageuse heure par heure sur meteorama puis je l’affiche :

$scenario->setlog("essai affichage de données 3");
foreach($tableau_couv_nuageuse as $key => $essai){
  	//for ($i=0;$i<=2;$i=$i+1) {        
  $scenario->setlog($key.' '.$essai [0].' '.$essai [1]);
    //}
}

j’obtiens :


[2022-01-09 06:52:10][SCENARIO] essai affichage de données 3
[2022-01-09 06:52:10][SCENARIO] 1641708000 7 89
[2022-01-09 06:52:10][SCENARIO] 1641711600 8 100
[2022-01-09 06:52:10][SCENARIO] 1641715200 9 98
[2022-01-09 06:52:10][SCENARIO] 1641718800 10 100
[2022-01-09 06:52:10][SCENARIO] 1641722400 11 100
[2022-01-09 06:52:10][SCENARIO] 1641726000 12 100
[2022-01-09 06:52:10][SCENARIO] 1641729600 13 87
[2022-01-09 06:52:10][SCENARIO] 1641733200 14 100
[2022-01-09 06:52:10][SCENARIO] 1641736800 15 99
[2022-01-09 06:52:10][SCENARIO] 1641740400 16 100

ce qui signifie 89% de couverture nuageuse de 7h (timestamp 1641708000 )à 8h (timestamp 1641711600 ) aujourdhui

un autre code emprunté a @lunarok calcule l’azimut et la hauteur du soleil a la fréquence voulue puis je l’affiche :

$scenario->setlog("essai affichage de données 2");
foreach($tableau_az_alt as $key => $essai){
  	//for ($i=0;$i<=2;$i=$i+1) {        
  $scenario->setlog($key.' '.$essai [0].' '.$essai [1].' '.$essai [2]);
    //}
}

et j’obtiens :


[2022-01-09 06:52:10][SCENARIO] essai affichage de données 2
[2022-01-09 06:52:10][SCENARIO] 1641709575 07:26:15 111.845 -9.389
[2022-01-09 06:52:10][SCENARIO] 1641713175 08:26:15 122.41 -0.305
[2022-01-09 06:52:10][SCENARIO] 1641716775 09:26:15 133.764 7.293
[2022-01-09 06:52:10][SCENARIO] 1641720375 10:26:15 146.217 13.811
[2022-01-09 06:52:10][SCENARIO] 1641723975 11:26:15 159.849 18.434
[2022-01-09 06:52:10][SCENARIO] 1641727575 12:26:15 174.393 20.714
[2022-01-09 06:52:10][SCENARIO] 1641731175 13:26:15 189.227 20.398
[2022-01-09 06:52:10][SCENARIO] 1641734775 14:26:15 203.599 17.522
[2022-01-09 06:52:10][SCENARIO] 1641738375 15:26:15 216.96 12.397
[2022-01-09 06:52:10][SCENARIO] 1641741975 16:26:15 229.135 5.51
[2022-01-09 06:52:10][SCENARIO] 1641745575 17:26:15 240.272 -2.406

je souhaite complèter ce second array par une donnée du premier en fonction du timestamp
la 1ere ligne de donnee2 devrait avoir 89 en donnée supplémentaire puisque 07:26:15 est compris entre 7 et 8h.
par la suite, il y aura plus de lignes dans chaque heure.

l’idée est d’avoir a n’importe quel timestamp une ligne de la forme :
timestamp/heure humaine/azimut/altitude/couverture nuageuse

merci de votre aide

Bonjour, et bravo tu progresse

dans l’idée serait de ne pas faire 2 array

mais une fonction a la quelle tu donne le timestamp et qui te retourne azimut/altitude.
que tu utilise / appel avec les résultats de ton 1er array !

bon dimanche

https://www.php.net/manual/fr/functions.user-defined.php

bonjour, ne me brosse pas dans le sens du poil, tu vas me faire casser des neurones juste après !! lol

je suis en train d’essayer un truc inverse, c’est a dire choir une heure arbitrairement (toutes les 2 min a partir du lever par exemple), calculer hauteur et azimut puis relevé la couverture prévue a ce moment là

ca prend forme et effectivement, j’avais mal démarré. je publie dès que j’ai des résultats mais il va falloir que je purge mon code, ca devient un bordel avec tous les essais…

hors sujet : je n’arrive pas a trouver une formule pour calculer l’angle d’incidence sur les px qui serait formé par l’azimut, la hauteur, l’orientation des px et leur inclinaison … si des fois …

1 « J'aime »