Algemeen forum ontrent de ontwikkelng, design en hosting van weergerelateerde websites (dit laatste om een beetje on topic te blijven)
Door AenG
#28446
Wie kan mij helpen aan een php script die de windkracht van km/h omzet naar beaufort met één decimaal achter de komma.

In het Saratoga-ajaxscript staat nu deze functie. Die wil ik dus vervangen.




gr Geert
Bijlagen
Knipsel-d7b9f9033037442bb1cf9cb1e0d91bd7.JPG
Knipsel-d7b9f9033037442bb1cf9cb1e0d91bd7.JPG (35.9 KiB) 3144 keer bekeken
Door tjabine
#28450
Hoi Geert, ik heb hem gewoon aangepast naar km/h

Code: Selecteer alles

function ajax_get_beaufort_number ( wind ) {
// return a number for the beaufort scale based on wind km/h
 if (wind < 0.1 ) {return("0"); }
  if (wind < 6 ) {return("1"); }
  if (wind < 12 ) {return("2"); }
  if (wind < 19 ) {return("3"); }
  if (wind < 28 ) {return("4"); }
  if (wind < 38 ) {return("5"); }
  if (wind < 49 ) {return("6"); }
  if (wind < 61 ) {return("7"); }
  if (wind < 74 ) {return("8"); }
  if (wind < 88 ) {return("9"); }
  if (wind < 102) {return("10"); }
  if (wind < 117) {return("11"); }
  if (wind >= 117 ) {return("12"); }
  return("0");
Door AenG
#28453
Mijn script werkt wel, en ik zie ook netjes de waarde in beaufort staan.
Maar de huidige oplossing werkt te onnauwkeurig voor mij.

Ik wil graag een script gebruiken waarmee de actuele km/h waarde wordt omgerekend naar beaufort.

Als er dus een waarde gemeten wordt van bv 2.6km/h dan wil ik op mijn website 1.8 bft zien staan.
Door Overijse
#28457
Hey Geert,

Zou het niet lukken met meer lijntje toe te voegen. vb :

Code: Selecteer alles
if (wind < 7 ) {return ("2"); }
if (wind < 8 ) {return ("2.25"); }
if (wind < 9 ) {return ("2.5"); }
if (wind < 10 ) {return ("2.75"); }
if (wind < 11 ) {return ("3"); }



Grtz
Kris
Door tjabine
#28459
Is dat niet heel raar? omdat te laten zien.
Het kan natuurlijk wel, gewoon het script aanpassen.
bv,
Code: Selecteer alles
 if (wind < 0.1 ) {return("0"); }
  if (wind < 2 ) {return("0.4"); }
  if (wind < 4 ) {return("0.8"); }
enz enz enz
  if (wind < 6 ) {return("1"); }
  if (wind < 12 ) {return("2"); }
  if (wind < 19 ) {return("3"); }
  if (wind < 28 ) {return("4"); }
  if (wind < 38 ) {return("5"); }
  if (wind < 49 ) {return("6"); }
  if (wind < 61 ) {return("7"); }
  if (wind < 74 ) {return("8"); }
  if (wind < 88 ) {return("9"); }
  if (wind < 102) {return("10"); }
  if (wind < 117) {return("11"); }
  if (wind >= 117 ) {return("12"); }
  return("0");
Door AenG
#28461
Overijse schrijft:
Hey Geert,

Zou het niet lukken met meer lijntje toe te voegen. vb :

Code: Selecteer alles
if (wind < 7 ) {return ("2"); }
if (wind < 8 ) {return ("2.25"); }
if (wind < 9 ) {return ("2.5"); }
if (wind < 10 ) {return ("2.75"); }
if (wind < 11 ) {return ("3"); }



Grtz
Kris


Daar heb ik ook al aan zitten denken. Maar dan zouden de beaufortwaarden 2.1 en 2.2 nooit voor kunnen komen.
Om het op deze manier op te lossen moet je wel een heel lang lijstje maken.
Door AenG
#28463
tjabine schrijft:
Is dat niet heel raar? omdat te laten zien.
Het kan natuurlijk wel, gewoon het script aanpassen.
bv,
Code: Selecteer alles
 if (wind < 0.1 ) {return("0"); }
  if (wind < 2 ) {return("0.4"); }
  if (wind < 4 ) {return("0.8"); }
enz enz enz
  if (wind < 6 ) {return("1"); }
  if (wind < 12 ) {return("2"); }
  if (wind < 19 ) {return("3"); }
  if (wind < 28 ) {return("4"); }
  if (wind < 38 ) {return("5"); }
  if (wind < 49 ) {return("6"); }
  if (wind < 61 ) {return("7"); }
  if (wind < 74 ) {return("8"); }
  if (wind < 88 ) {return("9"); }
  if (wind < 102) {return("10"); }
  if (wind < 117) {return("11"); }
  if (wind >= 117 ) {return("12"); }
  return("0");


Mijn meteohub genereerd zelf al een decimale beaufortwaarde, dus daar was het geen probleem.
Het Ajax-script biedt deze mogelijkheid niet, daarom wil ik dit script aanpassen.

Nu kun je er natuurlijk voor kiezen om geen decimale beaufortwaarden te gebruiken. Maar ik vind persoonlijk de overgangen van 1 naar 2 en 3 beaufort te groot.

Verder laat ik op mijn website niet de windkracht in km/h zien omdat naar mijn idee dit de gemiddelde bezoeker niet veel zegt. Deze waarden wil ik in een uitklapmenu plaatsen voor kijkers die hierin speciaal geinteresseerd zijn.
Door nolversteeg
#28478
Vallo Meteovrienden
ik hoop dat dit als een scriptje overkomt ,maar meer kan je van baufort niet maken
Code: Selecteer alles
<?php


$ok = false;
if ($wind10Avg <= 1.9 )  {$windSpeedbft="0 Bft. Stil";$ok = true;}
if ($wind10Avg >= 2.0  && $wind10Avg <= 5.9) {$windSpeedbft="1 Bft. Zwak";$ok = true;}
if ($wind10Avg >= 6.0  && $wind10Avg <= 11.9){$windSpeedbft="2 Bft. Zwak";$ok = true;}
if ($wind10Avg >= 12.0 && $wind10Avg <= 19.9){$windSpeedbft="3 Bft. Matig";$ok = true;}
if ($wind10Avg >= 20.0 && $wind10Avg <= 28.9){$windSpeedbft="4 Bft. Matig";$ok = true;}
if ($wind10Avg >= 29.0 && $wind10Avg <= 38.9){$windSpeedbft="5 Bft. Vrij Krachtig";$ok = true;}
if ($wind10Avg >= 39.0 && $wind10Avg <= 49.9){$windSpeedbft="6 Bft. Krachtig";$ok = true;}
if ($wind10Avg >= 50.0 && $wind10Avg <= 61.9){$windSpeedbft="7 Bft. Hard";$ok = true;}
if ($wind10Avg >= 62.0 && $wind10Avg <= 74.9){$windSpeedbft="8 Bft. Stormachtig";$ok = true;}
if ($wind10Avg >= 75.0 && $wind10Avg <= 88.9){$windSpeedbft="9 Bft. Storm";$ok = true;}
if ($wind10Avg >= 89.0 && $wind10Avg <= 102.9){$windSpeedbft="10 Bft. Zware Storm";$ok = true;}
if ($wind10Avg >= 103.0 && $wind10Avg <= 116.9){$windSpeedbft="11 Bft. Orkaanachtig";$ok = true;}
if ($wind10Avg >= 117.0 ) {$windSpeedbft="12 Bft. Orkaan";$ok = true; }
if (!$ok) exit;
 
?>


Groeten Nol Versteeg
meteo Eersel