• Willkommen im Forum „Wetterstationsforum.info - Archiv“.
 

Neuigkeiten:

Dieses Forum dient ausschließlich zu Archivzwecken.
Für Fragen nutze bitte unser aktuelles Forum, welches du unter https://wetterstationsforum.info findest.

Hauptmenü

Diagramm für Regen aus mySQL DB erstellen

Begonnen von noxx, 13.06.2013, 21:13:11

⏪ vorheriges - nächstes ⏩

noxx

Moin

brauche mal eine Idee, Anregung o.ä.

Ich speicher meine Daten aus meteohub in eine mySQL DB auf meinem Webserver.
Anbei ein Screenshot.

Nun will ich ein Balkendiagramm für die Regenmenge erstellen, mir fehlt da aber die
Idee wie ich diese Daten erfassen kann. Die Regenmenge soll stundenweise dargestellt
werden.

Bisher siehts so aus
http://www.schatthaus-wetter.de/jqplot_0.php

Temp und Wind sind soweit ok, aber der Regen.....  :oops:

Gruss

[gelöscht durch Administrator]

Fredy

Hallo Noxx

Ich berechne die Regenmenge direkt in der sql query. Etwa so:

SELECT SUM(regenfeld) FROM tabellenname GROUP BY DATE(datumfeld), HOUR(datumfeld)

grüsse, fredy
--
www.wetterbinningen.ch

noxx

Mit Sum werde ich wohl keinen Erfolg haben, da alle 10 Minuten die Gesamt Regenmenge geschrieben wird.

Er müsste irgendwie ab 0 Uhr stundenweise gruppieren und mir aus dieser Gruppe den Max-Min (Max minus Min) Wert ausgeben.

Fredy

In deiner Tabelle sehe ich ein Feld Regenrate und Regenmenge. Ich ging davon aus, dass das Feld Regenrate die 10min Summe speichert. Nach stunden gruppiert würde ein SUM(regenrate) die Summe der jeweiligen stunden ausgeben.

Was für Werte, werden den genau in deinen Feldern Regenrate und Regenmenge gespeichert ?


--
www.wetterbinningen.ch

noxx

zz speicher ich folgende werte per php alle 10 Minuten in meine db


$var7 = 'actual_rain0_rate_mm'; // Regenrate
$var8 = 'day1_rain0_total_mm'; // Regenmenge (Tag)


Die Daten werden aus diesem File geladen
http://www.schatthaus-wetter.de/all_sensors.txt

welches alle 5 Minuten von meteohub erzeugt wird.
Evtl gibt bessere Daten für die erfassung der Regenmenge pro Stunde

Bernd aus Köln

#5
In der Variable "seqhour1_rain0_total_mm" werden die Stundenwerte der letzten 24 Std. angezeigt
(neuester Wert zuerst).

Genauer gesagt: wenn du die "all-sensors.txt" um 9:30 aufrufst,
ist in der "seqhour1_rain0_total_mm" der erste Wert von 8:00 - 9:00, der zweite Wert von 07:00 - 8:00 usw.


WMR 200 & Meteohub auf Sheevaplug

Fredy

Zitat von: noxx am 14.06.2013, 07:02:50


$var7 = 'actual_rain0_rate_mm'; // Regenrate
$var8 = 'day1_rain0_total_mm'; // Regenmenge (Tag)



Ich kenne mich mit meteohub nicht aus, aber 'actual_rain0_rate_mm' scheint die aktuelle Regenmenge zu enthalten. In deinem Beispiel würde die Abfrage dann in etwa so Aussehen:

http://sqlfiddle.com/#!2/274fe/3

So kannst du auch andere Summen (woche, monat, jahr etc.) einfach ausrechnen.

Aber wenn ich dich richtig verstehe, wird die Meteohub Datei alle 5 Minuten erstellt. Aber die Datenbank nur alle 10minuten aktualisiert. Fehlt dann nicht jeder 2. Datensatz? Das Summieren würde dann natürlich nicht mehr richtig Funktionieren. (Werden so nicht auch andere allfällige Spitzenwerte ausgelassen?)

Grüsse Fredy
--
www.wetterbinningen.ch

Bernd aus Köln

Mit der Regenrate ist das so eine Sache...
Ohne Angabe des Bezugszeitraumes ist sie ziemlich nutzlos.
Rechne ich die Zeit zwischen 2 Wippenschlägen auf 1 Stunde hoch? Wäre bei jeder Station anders.
Oder rechne ich die Regenmenge von 5 Minuten auf 1 Stunde hoch?
Docbee (Entwickler von Meteohub) hatte hier mal in die Runde gefragt, welcher Algorithmus
zur Berechnung der Regenrate herangezogen werden soll. Soweit ich noch weiß, kam nichts dabei heraus.
Ich persönlich bevorzuge eine Angabe wie "Regenmenge in den letzten 60 Minuten".
In Meteohub ist dies durch die Variable "last60m_rain0_total_mm" implementiert.

@Fredy: Spitzenwerte können in Meteohub immer mit ausgegeben werden, z.B. mit "hour1_th0_tempmax_c",
das ist die max. Temp. der letzten vollen Stunde.
WMR 200 & Meteohub auf Sheevaplug

noxx

a) habe nun erstmal das einlesen in die DB auf 5 Minuten umgestellt, macht durchaus Sinn.

ich gucke mir das mal zuhause in ruhe an, irgendwie muss es ja gehen, auch mit
day1_rain0_total_mm.


Eine andere Frage am Rand. Wie macht ihr das beim Umstellung auf Winterzeit. Daten zwischen 2.00 Uhr und 3.00 Uhr sind ja dann doppelt. :confused:

Bernd aus Köln

Zitat von: noxx am 14.06.2013, 14:30:13
... irgendwie muss es ja gehen, auch mit
day1_rain0_total_mm.

Wenn schon, dann hour1_rain0_total_mm, gibt die Regenmenge der letzten vollen Stunde zurück.
Den Wert dann nur 1x pro Stunde in der DB ablegen.
Z.B. immer zu einer bestimmten Zeit abfragen und in der Stunde davor ablegen:
Um 14:10 abfragen und bei 13:30 in der DB ablegen. Ist dann die Regenmenge von 13:00 - 14:00
WMR 200 & Meteohub auf Sheevaplug