• 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ü

OpenData nutzen

Begonnen von enager, 22.01.2018, 21:01:28

⏪ vorheriges - nächstes ⏩

enager

Dieses Thema stand ursprünglich in DWD- Grundversorgung - Script Weather-Basic-Care 1.0 (We-Ba-Ca 1.0).



Guten Abend,

ich habe es mal gewagt und am Wochenende die Datenauswertung von Grundauf neu geschrieben. Gebenüber dem alten GDS sind nun deutlich mehr Stationen auf den Karten verzeichnet. Die Programmierung lief diesmal deutlich unkomplizierter, da die Daten als CSV-Daeien vorliegen. Die alte Software hat sich die Daten aus einer HTML-Seite herausgefiltert. Die Filterung des HTML-Codes war wesentlich aufwendiger zu programmieren, als ein Semikolon als Trennzeichen zu vereinbaren.

Kurz und knapp, hier geht es zur Übersicht der neuen DWD-Messwertkarten:
http://wetterstation-hohenwalde.info.w016fc40.kasserver.com/wetterdaten/dwd-data/start.htm Jede Station ist hier mit einem Monatsdiagramm verlinkt. Drauf klicken lohnt also. Allerdings ist die Software erst seit heute Abend am laufen und entsprechend liegen auch erst seit heute Abend Messwerte vor.
Liebe Grüße vom Stefan aus Frankfurt (Oder)

Wetterstation: http://www.wetterstation-hohenwalde.info/
Blog: http://www.howablog.info

odi

Tolle Sache, besten Dank fürs Teilen.

Grüße
Ole

enager

Guten Morgen,

erst einmal vielen Dank für die Teilung des Themas. Als Klaus geschrieben hat, dass mein Beitrag nicht wirklich zum Thema passt, ist mir das auch selbst erst richtig aufgefallen. Beim Schreiben des Beitrags habe ich nur "DWD - Grundversorgung" gelesen und sah diesen Thread daher als geeignet an. Erst nach Klaus seinem Kommentar, fiel mir auf, dass hinter dem gelesenen Titel noch "- Script Weather-Basic-Care 1.0 (We-Ba-Ca 1.0)" folgte.

Nun denn, machen wir etwas aus diesem Thread. Da sicher viele andere hier im Forum sich auch der DWD-Daten bedienen und daraus teils tolle Scripte und Programme geschaffen haben, dachte ich daran, dass jeder hier sein Projekt vorstellen kann. Bei Sorgen und Problemen mit den Projekten, gibt es hier sicher irgendwo jemanden, der weiter helfen kann.

Mein Projekt basiert nicht auf PHP oder einer anderen Scriptsprache, sondern wurde unter Lazarus programmiert und wird auf meinem Banana-Pi Minicomputer daheim ausgeführt. Es holt sich die CSV-Dateien von 207 ausgewählten DWD-Stationen liest dort die oberste Zeile mit den aktuellsten Messwerten aus und schiebt diese Messwerte in ein Diagramm, in welchem schon die anderen Messwerte der vorangegangenen Stunden und Tage abgelegt sind. Zeitgleich werden diese Messdaten in die Deutschlandkarten eingetragen. Nachfolgend noch Upload des Diagramms auf die Homepage und danach ist die nächste Station dran. Wieder FTP-Download der CSV-Datei, eintragen ins Diagramm, eintragen in die Deutschlandkarten, Upload des Diagramms. Das geht runde 5 Minuten so, dann ist der kleine Banana-Pi mit allen Stationen durch und die Deutschlandkarte mit allen Stationswerten gefüllt. Entsprechend gehen dann auch die Deutschlandkarten hoch auf die Homepage. Danach ist warten angesagt. Warten bis es wieder XX:50:50 Uhr (HH:MM:SS) ist und die nächsten Datensätze abgefragt werden können. Zeitgleich lesen andere Lazarus-Programme fortwährend die Stationsdaten aus, empfangen Satellitenbilder, fragen die Webcam ab, erstellen zu jeder vollen Stunde Webcam-Zeitraffervideos und so weiter. Ich bin immer wieder erstaunt, was ich dem kleinen Banana-Pi so alles aufbürden kann, ohne das es Probleme gibt.

Das soweit zu dem hier vorgestelltem Projekt. Für Anregungen und Kritiken bin ich jederzeit offen. Schließlich macht die Sache nur Sinn, wenn die Datenauswertung auch korrekt abläuft und sich in den Diagrammen keine Fehler eingeschlichen haben. Gestern Abend zum Beispiel habe ich die Software noch einmal umgeschrieben. Da in den CSV-Dateien nicht vorhandene Messwerte mit einem "---" dargestellt werden, habe ich die Striche von der Software einfach ignorieren lassen. Dabei habe ich allerdings nicht an negative Temperaturen gedacht. Durch die Nichtübernahme des Minus, hatte die Zugspitze in meinen Diagrammen plötzlich +10,x°C. Dies wurde nun behoben, in dem die Software ausschließlich "---" raus filtert. Einzelne Striche gehen jetzt durch und damit bleiben negativen Temperaturen auch ihr Minus erhalten.

So, das wars jetzt aber wirklich erst einmal dazu. Ich könnte Buchautor werden, bei dem was ich immer alles schreibe  :D.

@odi: Vielen Dank. Freut mich, wenns gefällt  ;).
Liebe Grüße vom Stefan aus Frankfurt (Oder)

Wetterstation: http://www.wetterstation-hohenwalde.info/
Blog: http://www.howablog.info

falk

Ich hole mir die Daten unter ftp://ftp-cdc.dwd.de/pub/CDC/observations_germany/climate/10_minutes/

Für die Wetterseite nutze ich hierfür erst nur die Sonnenscheindauer. Da die nächste DWD-Station nur wenige Kilometer entfernt ist, sind die Daten für mich hochinteressant.

https://buwx.de/index.php/chart/heatmaps

Die anderen Messdaten dienen der Kontrolle meiner Sensoren. Insbesondere der Niederschlag lässt sich jetzt um diese Jahreszeit gut vergleichen.


+---------------------+----------+------+-----------+
| date                | dwd_rain | rain | diff_rain |
+---------------------+----------+------+-----------+
| 2018-01-24 01:00:00 |      0.0 |  0.0 |       0.0 |
| 2018-01-23 01:00:00 |      0.0 |  0.0 |       0.0 |
| 2018-01-22 01:00:00 |     11.9 | 13.4 |      -1.5 |
| 2018-01-21 01:00:00 |      0.4 |  0.6 |      -0.4 |
| 2018-01-20 01:00:00 |      9.1 |  9.2 |      -0.1 |
| 2018-01-19 01:00:00 |      3.0 |  3.6 |      -0.6 |
| 2018-01-18 01:00:00 |      6.2 |  5.8 |       0.4 |
| 2018-01-17 01:00:00 |      3.3 |  2.8 |       0.5 |
| 2018-01-16 01:00:00 |     11.0 |  9.4 |       1.6 |
| 2018-01-15 01:00:00 |      1.6 |  1.4 |       0.2 |
| 2018-01-14 01:00:00 |      0.0 |  0.0 |       0.0 |
| 2018-01-13 01:00:00 |      0.0 |  0.0 |       0.0 |
| 2018-01-12 01:00:00 |      0.0 |  0.0 |       0.0 |
| 2018-01-11 01:00:00 |      0.0 |  0.2 |      -0.2 |
| 2018-01-10 01:00:00 |      0.0 |  0.0 |       0.0 |
| 2018-01-09 01:00:00 |      0.0 |  0.0 |       0.0 |
| 2018-01-08 01:00:00 |      0.0 |  0.0 |       0.0 |
| 2018-01-07 01:00:00 |      0.0 |  0.2 |      -0.2 |
| 2018-01-06 01:00:00 |      0.7 |  2.0 |      -1.3 |
| 2018-01-05 01:00:00 |      5.6 |  5.8 |      -0.2 |
| 2018-01-04 01:00:00 |     12.9 | 12.6 |       0.3 |
| 2018-01-03 01:00:00 |      9.2 |  6.0 |       3.2 |
| 2018-01-02 01:00:00 |      2.2 |  2.2 |       0.0 |
| 2018-01-01 01:00:00 |      0.4 |  0.4 |       0.0 |
| 2017-12-31 01:00:00 |      0.0 |  0.2 |      -0.2 |
+---------------------+----------+------+-----------+



LE-Wetter

@enager

Respekt wie du die Seite erstellt hast und schreibst das so daher, als ob das jeder in 10 Minuten auf seinem Rechner hinbekommen könnte  :D Da steckt aber schon eine Menge Wissen und Können dahinter  :top: Beim ersten Schauen hatte ich nur die vielen Überlagerungen der Städtenamen gesehen, da aber die Karte ja deutlich zu vergrößern geht, ist das auch gelöst - auch die grafische Umsetzung der einzelnen Stationen - Klasse.  :top:

Wieviel Datenvolumen verbrauchst du pro Tag?
Liebe Grüße von LE-Wetter

WS 888, Mete-On1 und WD4000 und
alte Barometer, Blitzortung, Radioaktivität
https://www.leipzig-wetter.de
www.regionalwetter-sa.de
www.wetternetz-sachsen.de
www.wetterhistorie-leipzig.de

enager

#5
@LE-Wetter:

So das riesen Ding war es auch nicht. Auf jeden Fall wesentlich einfacher, als die Version davor, als meine Software sich die Daten aus einer HTML-Datei raus gesaugt hat. Da musste sie noch den ganzen HTML-Code raus filtern. In der jetzigen Version gilt es lediglich darauf zu achten, dass das Semikolon als Trennzeichen zu verstehen ist und ein Datensatz mit --- als nicht gemeldeter Wert zu verstehen ist. Der ganze Rest wird in Variablen eingelesen und in die Diagramme und Landkarten eingefügt.

Die eigentliche Arbeit macht hier der Rechner des Betrachters. In den Dateien sind lediglich die Messwerte hinterlegt, der Rechner des Betrachters generiert auf Basis der Scriptanweisungen und Styleinformationen in den verlinkten CSS-Dateien, die Diagramme und Landkarten. Daher schwirren hier pro Diagramm/Landkarte nur einige Kilobyte oder weniger, durchs Internet. Da sind die Webcam-Zeitraffervideos und auch die Satellitenbilder deutlich größer. Ist eben AmCharts. Bietet gegenüber Grafiken den großen Vorteil, dass die User sich einen interessanten Diagrammeil heranzoomen können. Zudem hängt ein Cursor am Mauszeiger, welcher die Messwerte an der Mausposition oben links im Diagrammtitel anzeigt. Somit kann keiner sagen, er könne die Messwerte nicht genau aus dem Diagramm ablesen. Denn das macht das Script schon.

Ich habe eben mal geschaut, was mein Hoster so zu meinem Traffic sagt. Im Monat Januar habe ich bislang einen Gesamttraffic von 37.742 MB hingelegt. FTP-Traffic sind davon 22.259 MB und HTTP-Traffic beläuft sich auf 15.483 MB. Aber das muss deren Server abkönnen. Nicht umsonst dürfen die sich jeden Mont 5€ von meinem Konto abholen.


Nachtrag:

Ich habe mal noch 3 Screenshots vom Banana-Pi hochgeladen. Hier ist die unter Lazarus erstellte Software zu sehen. Gerade der dritte Screenshot dürfte interessant sein, da er das Programm für die Erstellung der DWD-Diagramme und Deutschlandkarten zeigt. Screenshot 1 hingegen zeigt die Software, welche die Daten meiner Wetterstation einliest und auswertet und damit auch meine Stationsdiagramme generiert. Ganz unten, das lange, schmale Programm steuert die Webcamaufzeichnung. Und im Screenshot 2 ist das Programm zu sehen, welches die Satellitenaufnahme über den DVB-T Stick (RTL2832u) steuert.

Lazarus macht sich klasse. Ist eine schöne, einfache, objektorientierte Programmiersprache in Basic-Syntax. Genau genommen ist Lazarus eine nahezu hundertprozentige Kopie von Delphi. Nur Lazarus ist im Gegensatz zu Delphi kostenfrei und gibt es sowohl für Windows, als auch für Linuxsysteme. Selbst für den Raspberry-Pi und ähnliche Minicomputer wurden ältere Lazarusversionen inzwischen konvertiert. Somit steht Lazarus auch für den Raspberry-Pi zur Verfügung.

Noch ein Update  :D :


Da das Forum die Dateianhänge in der Größe reduziert udn somit nicht mehr alle Details erkennbar sind, habe ich sie auf meine Homepage hochgeladen.
Screenshot1
Screenshot2
Screenshot3
Liebe Grüße vom Stefan aus Frankfurt (Oder)

Wetterstation: http://www.wetterstation-hohenwalde.info/
Blog: http://www.howablog.info

TheWeather

Hallo enager,

ich denke auch,
ZitatIn der jetzigen Version gilt es lediglich darauf zu achten, dass das Semikolon als Trennzeichen zu verstehen ist und ein Datensatz mit --- als nicht gemeldeter Wert zu verstehen ist.
dass es wesentlich einfacher ist, aus einer .csv (selbst einer .zip mit vorgeschaltetem Entcoder) an die Werte zu gelangen, als es durch Parsen eines HTML-Textes mit allen Ungereimtheiten, die sich bei einem Autor einschleichen könnten, zu entschlüsseln.

In C++ liest man eine Liste (z.B. aus einer Datei) ein, bestimmt den Delimiter (hier z.B. das ";") und hat den kompletten Inhalt in einer Textliste, nach Inhalten getrennt und die Einzeltexte oder Daten leicht durch Indizees in das Programm einzubauen verfügbar. So übel finde ich das Konzept "Open Data" des DWD nun nicht. Man muss sich halt erst mal damit vertraut machen und wie bei jedem neuen ("reformierten") Konzept, gibt es auch hier neue Hürden zu nehmen.

Solange das Konzept "DWD Open Data" keine Daten ausschließt, welche früher mal verfügbar waren, braucht es nur eine gewisse Umstellung der Auswertung und eventuell auch das Neuauffinden der entsprechenden, neuen Quellen.

Meines Erachtens bleibt Alles im grünen Bereich ...

Gruß Hans
2xTFA Nexus, Sinus, Duo, EOS Max, Klima-Logger, Mebus TE923

Die Titanic wurde von Profis gebaut, die Arche Noah von einem Amateur. ...

enager

Zitatich denke auch, dass es wesentlich einfacher ist, aus einer .csv (selbst einer .zip mit vorgeschaltetem Entcoder) an die Werte zu gelangen, als es durch Parsen eines HTML-Textes mit allen Ungereimtheiten, die sich bei einem Autor einschleichen könnten, zu entschlüsseln.

Dem schließe ich mich an. Unter Linux ist es absolut kein Thema mal schnell per Konsolenbefehl eine Datei automatisiert entpacken zu lassen und sie dann der weiteren Verarbeitung zuzuführen. Von PHP habe ich jetzt keine wirkliche Ahnung, aber als ich meine Homepage vom alten Hoster zum jetzigen verschoben habe, merkte ich, dass auch PHP und MqSQL kein Poblem mit ZIP-Dateien haben. Diesen Beispielen nach liege ich mit meiner Vermutung richtig. ZIP ist für PHP absolut kein Thema. Eine kleine Befehlszeile und schon kann PHP etwas mit den Daten in einer ZIP-Datei anfangen, auswerten und gegebenenfalls in eine Datenbank schreiben.

Also aus meiner Sicht, haben sich die Leute beim DWD da wirklich Gedanken gemacht, wie sie ihre Daten den Hobby-Programmierern besser zugänglich und verarbeitbar machen können. Zumal jetzt nicht einmal mehr ein Login notwendig ist. Erspart eine Fehlerquelle, nämlich falsche Zugansdaten. Alles in allem stehe ich dem neuen Opendata-Projekt des DWD inzwischen nach eigener Erfahrung positiv gegenüber.
Liebe Grüße vom Stefan aus Frankfurt (Oder)

Wetterstation: http://www.wetterstation-hohenwalde.info/
Blog: http://www.howablog.info

Wetterfrosch1971

Hallo,

irgendwie ist das für mich alles ein Buch mit 7 Siegeln.

kann mir vielleicht jemand erklären, wie ich z.B. an die aktuellen Messwerte der DWD-Station Feldberg/Schwarzwald komme?

Ich komme einfach mit den Dateien aus diesen "Optadata" nicht zurecht, wo sehe ich denn, von welcher DWD Station die Werte sind und wie kann ich diese dann auf meinem Webspace verarbeiten (benötige von der Station Feldberg die aktuelle Temperatur und die Luftfeuchte).

Danke für die Hilfe.
Gruß Frank

enager

Hallo Frank,

ich habe eben mal in meiner Karte nachgeschaut. Hier das Diagramm. Wie Du am Dateinamen der Station erkennen kannst (10908.htm) hat die Station "Feldberg/Schwarzwald" die Stations-ID 10908. Nach dieser schaust Du nun unter opendata.dwd.de Und schwupps, da ist sie schon: https://opendata.dwd.de/weather/weather_reports/poi/10908-BEOB.csv

Auf diesem neuen Server läuft einfach alles über die Stations-ID. Wenn Du diese kennst, findest Du jede DWD-Station in dem verlinkten Verzeichnis.

Liebe Grüße, Stefan.
Liebe Grüße vom Stefan aus Frankfurt (Oder)

Wetterstation: http://www.wetterstation-hohenwalde.info/
Blog: http://www.howablog.info