Affichage du sens du vent

Bonsoir,

Plutot que d’afficher le sens du vent avec l’orientation en degré, j’ai souhaité faire une traduction en « Nord » « Sud Sud Ouest »…
J’ai donc réalisé ce javascript qui transforme l’angle en texte. Je le mets à disposition pour ceux qui veulent l’utiliser.

(datasources["Météo"]["wind_direction"]>=348.75||datasources["Météo"]["wind_direction"]<11.25)?"Nord":
(datasources["Météo"]["wind_direction"]>=11.25&&datasources["Météo"]["wind_direction"]<33.75)?"Nord Nord Est":
(datasources["Météo"]["wind_direction"]>=33.75&&datasources["Météo"]["wind_direction"]<56.25)?"Nord Est":
(datasources["Météo"]["wind_direction"]>=56.25&&datasources["Météo"]["wind_direction"]<78.75)?"Est Nord Est":
(datasources["Météo"]["wind_direction"]>=78.75&&datasources["Météo"]["wind_direction"]<101.25)?"Est":
(datasources["Météo"]["wind_direction"]>=101.25&&datasources["Météo"]["wind_direction"]<123.75)?"Est Sud Est":
(datasources["Météo"]["wind_direction"]>=123.75&&datasources["Météo"]["wind_direction"]<146.25)?"Sud Est":
(datasources["Météo"]["wind_direction"]>=146.25&&datasources["Météo"]["wind_direction"]<168.75)?"Sud Sud Est":
(datasources["Météo"]["wind_direction"]>=168.75&&datasources["Météo"]["wind_direction"]<191.25)?"Sud":
(datasources["Météo"]["wind_direction"]>=191.25&&datasources["Météo"]["wind_direction"]<213.75)?"Sud Sud Ouest":
(datasources["Météo"]["wind_direction"]>=213.75&&datasources["Météo"]["wind_direction"]<236.25)?"Sud Ouest":
(datasources["Météo"]["wind_direction"]>=236.25&&datasources["Météo"]["wind_direction"]<258.75)?"Ouest Sud Ouest":
(datasources["Météo"]["wind_direction"]>=258.75&&datasources["Météo"]["wind_direction"]<281.25)?"Ouest":
(datasources["Météo"]["wind_direction"]>=281.25&&datasources["Météo"]["wind_direction"]<303.75)?"Ouest Nord Ouest":
(datasources["Météo"]["wind_direction"]>=303.75&&datasources["Météo"]["wind_direction"]<326.25)?"Nord Ouest":
(datasources["Météo"]["wind_direction"]>=326.25&&datasources["Météo"]["wind_direction"]<348.75)?"Nord Nord Ouest"

Si vous constatez une anomalie, indiquez-le moi.

Bien à vous

3 J'aimes

Un peu plus fort encore…
Le glyphicon « boussole » n’étant pas accessible dans l’interface de l’IPX, j’ai réalisé ce script à mettre dans un widget HTML pour avoir cette icone (à défaut d’une rose des vents qui ne semble pas exister…) en plus du sens du vent en texte. Pour ceux qui veulent… :wink:

var vent = "Nord";
vent = (datasources["Météo"]["wind_direction"]>=11.25&&datasources["Météo"]["wind_direction"]<33.75)?"Nord Nord Est":
(datasources["Météo"]["wind_direction"]>=33.75&&datasources["Météo"]["wind_direction"]<56.25)?"Nord Est":
(datasources["Météo"]["wind_direction"]>=56.25&&datasources["Météo"]["wind_direction"]<78.75)?"Est Nord Est":
(datasources["Météo"]["wind_direction"]>=78.75&&datasources["Météo"]["wind_direction"]<101.25)?"Est":
(datasources["Météo"]["wind_direction"]>=101.25&&datasources["Météo"]["wind_direction"]<123.75)?"Est Sud Est":
(datasources["Météo"]["wind_direction"]>=123.75&&datasources["Météo"]["wind_direction"]<146.25)?"Sud Est":
(datasources["Météo"]["wind_direction"]>=146.25&&datasources["Météo"]["wind_direction"]<168.75)?"Sud Sud Est":
(datasources["Météo"]["wind_direction"]>=168.75&&datasources["Météo"]["wind_direction"]<191.25)?"Sud":
(datasources["Météo"]["wind_direction"]>=191.25&&datasources["Météo"]["wind_direction"]<213.75)?"Sud Sud Ouest":
(datasources["Météo"]["wind_direction"]>=213.75&&datasources["Météo"]["wind_direction"]<236.25)?"Sud Ouest":
(datasources["Météo"]["wind_direction"]>=236.25&&datasources["Météo"]["wind_direction"]<258.75)?"Ouest Sud Ouest":
(datasources["Météo"]["wind_direction"]>=258.75&&datasources["Météo"]["wind_direction"]<281.25)?"Ouest":
(datasources["Météo"]["wind_direction"]>=281.25&&datasources["Météo"]["wind_direction"]<303.75)?"Ouest Nord Ouest":
(datasources["Météo"]["wind_direction"]>=303.75&&datasources["Météo"]["wind_direction"]<326.25)?"Nord Ouest":
(datasources["Météo"]["wind_direction"]>=326.25&&datasources["Météo"]["wind_direction"]<348.75)?"Nord Nord Ouest":
(datasources["Météo"]["wind_direction"]);

return `
<center>
  <table width='90%' border = "0">
    <tr>
      <td align=left valign=middle width='25%'><span class="glyphicons glyphicons-compass x2"></span></td>
      <td align=left valign=middle><div class="tw-value" style="font-size: 20px; max-width: 100%;">${vent}</div></td>
    </tr>
  </table>
</center>
`;

Le résultat est plutôt sympa à mon goût :

4 J'aimes

Je me permet une petite amélioration en terme de lisibilité du code :wink:

var BEARINGS = ["Nord", "Nord Nord Est", "Nord Est", "Est Nord Est", "Est", "Est Sud Est", "Sud Est", "Sud Sud Est", "Sud", "Sud Sud Ouest", "Sud Ouest", "Ouest Sud Ouest", "Ouest", "Ouest Nord Ouest", "Nord Ouest", "Nord Nord Ouest"];

function degreeToBearing(degree) {
  return BEARINGS[Math.floor((degree + 11.25) % 360 / 22.5)];
}

var vent = degreeToBearing(datasources["Météo"]["wind_direction"]);

return `
<center>
  <table width='90%' border = "0">
    <tr>
      <td align=left valign=middle width='25%'><span class="glyphicons glyphicons-compass x2"></span></td>
      <td align=left valign=middle><div class="tw-value" style="font-size: 20px; max-width: 100%;">${vent}</div></td>
    </tr>
  </table>
</center>
`;
6 J'aimes

Merci @ZogStriP

Quand les pros du code s’en mêlent, ça devient tout de suite plus efficace ! :slight_smile:

J’étais déjà content de moi avec avec mon code, mais le tien est vraiment :+1:.

J’implémente de ce pas…

3 J'aimes

Bonjour,
Je suis tombé avec intérêt sur ce post.
J’ai fait un copier coller à la place de
datasources[« METEO »][« wind_direction »] qui me donne bien la direction du vent
Mais je n’obtiens que du texte.
J’avoue que je suis totalement novice dans ce domaine
Je vous envoie la copie d’écran de ce que j’ai fait.
Pouvez vous me dire ce qui ne va pas.
Merci d’avance
XB21

Apparement je ne peux pas joindre de fichier en tant que nouvel utilisateur (???)

Bonjour,

Il y a une explication plus complète dans le wiki/meteo

https://gce.ovh/wiki/index.php?title=La_météo

Cdlt

3 J'aimes

Bonjour
Vérifiez si la source de données nommée MÉTÉO existe bien sûr le dashboard.
Cdt

2 J'aimes

Whaa, c’est cool ! Merci.
J’ai implémenté la première partie du tuto, c’est impec. Je n’allais pas au bon endroit.
J’ai également implémenté la deuxième partie du tuto " JavaScript: pour aller plus loin", c’est tout bon.
Merci pour votre réactivité. C’est top.
@+

Autre question complémentaire.
Depuis les tops de 2017 que j’ai lu à ce sujet confirmez vous qu’on ne peux toujours pas exploiter dans les scénario les données météo ainsi affichées ?
@ vous lire

Oui, les sources de données ne sont visibles que dans votre navigateur.
Le moteur de scénario n’en a aucune « connaissance ».

1 J'aime