Kategorie: Programmierung

  • OpenData – Gasspeicher in Deutschland – Teil 1: GIE-AGSI

    OpenData – Gasspeicher in Deutschland – Teil 1: GIE-AGSI

    Der Sommer geht zu Ende und die Zeitungen bringen die ersten Meldungen über die Füllstände der deutschen Gasspeicher. Allerdings sind die Darstellungen nicht eindeutig: Sie reichen von „Alles klar, der Winter kann kommen“ bis zu „Wir werden alle erfrieren“. Was stimmt denn jetzt? Zum Glück müssen wir uns nicht auf meinungsbehaftete Berichte und vorgefilterte Daten…

  • OpenData – Gasspeicher in Deutschland – Teil 2: 2026

    OpenData – Gasspeicher in Deutschland – Teil 2: 2026

    2026 – Das Jahr mit wenig Gas. Wahrscheinlich. Schlagzeilen wie „Gasspeicher so leer wie nie: Wird das Gas im Winter knapp? (Radio FFH)“ oder „Experte schlägt Alarm: Füllstand deutscher Gasspeicher auf „historischem Tiefstand“ (Berliner Morgenpost)“ konnte man im Spätsommer überall lesen. Wir aber brauchen keine Experten, wir haben die Daten selber. Festzustellen, dass 2026 der…

  • OpenData – Gasspeicher in Deutschland – Teil 3: Daten und Politik

    OpenData – Gasspeicher in Deutschland – Teil 3: Daten und Politik

    Bisher haben wir mit relativ einfachen Mitteln schon interessante Diagramme erstellt. Aber ohne einen Zusammenhang sind sie nicht sehr aussagekräftig. Dazu muss man die Daten mit den Entscheidungen der Politik und den daraus resultierenden Handlungen der Wirtschaft in Korrelation bringen. Das führt aber zu komplexen Diagrammen, die nicht mehr mit wenigen Zeilen Programmcode erstellt werden…

  • OpenData – Gasspeicher in Deutschland – Teil 4: Updates

    OpenData – Gasspeicher in Deutschland – Teil 4: Updates

    Um in den Diagrammen immer die neusten Daten darzustellen, muss gasspeicher_history.json inkrementell mit der GIE-AGSI-API für deutsche Gasspeicherdaten aktualisiert werden. Die Kernidee: die bestehende Historie bleibt unangetastet, es werden ausschließlich fehlende Tage ergänzt und dedupliziert. 1 – Konfiguration Zunächst werden drei Konstanten definiert: 2 – Bestandsaufnahme Die Existenzprüfung ist notwendig, damit der Erstlauf (noch keine…

  • Wettervorhersagen mit Daten des DWD – Teil [1/4]: Übersicht

    Wettervorhersagen mit Daten des DWD – Teil [1/4]: Übersicht

    Das Problem mit kommerziellen Wetter-APIs Wetter-Daten braucht man überraschend häufig. Irgendein Projekt, eine kleine App, ein Skript, das einem morgens die Jacken-Entscheidung abnimmt. Und fast immer landet man früher oder später bei derselben Frage: Welche API nutze ich? Die Antwort, die man überall findet, ist OpenWeatherMap. Manchmal auch Weather.com, AccuWeather oder den eingestellten DarkSky-Dienst von…

  • Wettervorhersagen mit Daten des DWD – Teil [2/4]: Die richtige Wetterstation finden

    Wettervorhersagen mit Daten des DWD – Teil [2/4]: Die richtige Wetterstation finden

    Wer mit MOSMIX-Daten arbeiten will, steht vor einer grundlegenden Frage: Welche Station ist die nächste zu einem gegebenen Ort? Wenn ein Nutzer „München“ eingibt, welche der 2.698 MOSMIX-Stationen liefert die treffendste Vorhersage? Das Problem ist, dass das DWD keinen maschinenlesbaren Katalog aller Stationen mit Koordinaten bereitstellt, um die richtige Wetterstation finden. Man muss sich die…

  • Wettervorhersagen mit Daten des DWD – Teil [3/4]: MOSMIX verstehen

    Wettervorhersagen mit Daten des DWD – Teil [3/4]: MOSMIX verstehen

    Wer mit DWD-Daten arbeiten will, muss sich mit KMZ (Keyhole Markup Language Zipped)-Dateien auseinandersetzen. Eine Binärdatei, die eine XML-Datei mit Hunderten von Zeitreihen enthält, in einem Schema, das man aus keiner npm-Paketbeschreibung errät. Dieser Artikel erklärt das MOSMIX-Format, warum es so aufgebaut ist, was es enthält und welche Fähigkeiten ein Programm braucht, das darauf zugreifen…

  • Wettervorhersagen mit Daten des DWD – Teil [4/4]: Die ganze Applikation

    Wettervorhersagen mit Daten des DWD – Teil [4/4]: Die ganze Applikation

    Nach der ganzen Theorie werden in diesem Artikel noch einmal alle Schritte zusammengefasst, damit man einen besseren Überblick über die notwendigen Elemente hat. Um den Code übersichtlich zu halten, wurden Eingabeüberprüfung, große Teile der Fehlerbehandlung und das Caching ausgelassen. Am Ende das Beitrags kann man zum einen ein Rumpfprogramm herunterladen, dass nur die westenlichen Elemente…

  • NodeJS: async.queue zeigt standardmäßig keine Fehlermeldungen an

    NodeJS: async.queue zeigt standardmäßig keine Fehlermeldungen an

    Derzeit erstelle ich einen benutzerdefinierten Web-Crawler und die einfachste Methode zur Implementierung von parallelen Funktionen ist die Verwendung des npm-Pakets „async“. Während des Programmierens stieß ich auf das Problem, dass das Programm nicht richtig funktionierte, aber das Terminal keine Fehler anzeigte. Also habe ich die Warteschlangenfunktion außerhalb von async getestet und sie hat wie erwartet…

  • Wochenend-Projekt: Jump to Header

    Wochenend-Projekt: Jump to Header

    Vor einiger Zeit ist mir der Browser „Nyxt“ über den Weg gelaufen. Ein Feature fand ich besonders praktisch, nämlich die Möglichkeit, die Überschriften (<H1> bis <H6″>) in einem Sidepanel anzuzeigen. Chrome verfügt seit einiger Zeit ebenfalls über einen Sidepanel. In diesem könnte man doch das gleiche Feature anzeigen. Eine kurze Suche im Webstore ergab, dass…