Der-Kieler hat geschrieben: ↑10.06.2020, 17:43
Zum Verrückt werden
Mir ist immer noch nicht ganz klar wie man anhand des Bewölkungsgrades in % (welcher alle X-Stunden oder Minuten bei Scriptausführung aktualisiert wird) und der Tageszeit (Zeit in Stunden zwischen Sonnenauf / Untergang) eine einigermaßen vernünftige Sonnenscheindauer berechnen will.
Das ist doch für die Katz!
Desweiteren bin ich kein Freund von
MichaelN hat geschrieben: ↑10.06.2020, 08:50
ungetestet
...en Scriptbeispielen die Nutzern mit wenig(er) Kenntnissen möglicherweise zum Verzweifeln bringen.
Wenn ich es richtig verstanden habe möchtest du die Prozentuale Bewölkung einfach von der theoretischen Sonnenscheindauer (Sonnenauf - Sonnenuntergang) abziehen.
Als Beispiel Berlin.
Theoretische Sonnenscheindauer: 17h
Aktueller Bewölkungsgrad: 99%
Ergibt eine errechnete Sonnenscheindauer von 0,17h
Also totaler Müll.
Sript dazu... getestet:
Code: Alles auswählen
real owWolken = dom.GetObject (ID_SYSTEM_VARIABLES).Get ("ow Bewölkung").Value();
var sunset = system.SunsetTime().ToInteger();
var sunrise = system.SunriseTime().ToInteger();
!- Differenz zwischen Sonnenauf- und -untergang ermitteln
var suntime = sunset - sunrise;
WriteLine("Differenz Sonnenauf / Untergang: " # suntime # " Stunden");
WriteLine("Bewölkungsgrad: " # owWolken.ToString(0) # "%");
!- Berechnung Sonnenstunden
real owSonnenstunden = (((100.0 - owWolken)/100.0)*suntime);
WriteLine("Berechnete Sonnenstunden: " # owSonnenstunden.ToString(2) # " h");
Ergebnis:
Code: Alles auswählen
------------------------------- Scriptausgabe -------------------------------
Differenz Sonnenauf / Untergang: 17 Stunden
Bewölkungsgrad: 99%
Berechnete Sonnenstunden: 0.17 h
Grüße
Baxxy