3 Punkte von GN⁺ 2024-09-21 | 1 Kommentare | Auf WhatsApp teilen
  • Weather as Landscape ist ein Projekt, das statt eines zahlenzentrierten Wetter-Dashboards die 24-Stunden-Vorhersage und den aktuellen Zustand in einem Landschaftsbild darstellt, damit man sie natürlicher erfassen kann
  • Die horizontale Achse des Bildes ist eine 24-Stunden-Zeitleiste von jetzt bis zum nächsten Tag; das Haus markiert den aktuellen Standort, und je weiter das Wetter in der Zukunft liegt, desto weiter rechts wird es platziert
  • Landschaftselemente kodieren Sonnenaufgang und Sonnenuntergang, Mittag und Mitternacht, Windrichtung und -stärke, Temperaturverlauf, Höchst- und Tiefsttemperaturen, Wolken, Niederschlag, aktuelle Temperatur und Luftdruck sowie sogar Nicht-Wetter-Ereignisse wie Geburtstage und Feiertage
  • Die Implementierung nutzt Python 3.9, Pillow und OpenWeather-Daten; das Bild ist für ein 296x128-E-Ink-Display konzipiert
  • ESP32 und ein 2,9-Zoll-E-Ink-Modul sind so aufgebaut, dass sie das Bild aus dem Internet abrufen und alle 15 Minuten aktualisieren; ob sich der Code zur Bilderzeugung an MicroPython auf dem ESP32 anpassen lässt, ist noch unklar

Wetter als Landschaft statt als Zahlen

  • Traditionelle Wetterstationen zeigen Sensorwerte oft als Zahlendaten an, wodurch Nutzer bestimmte Parameter suchen, interpretieren und visualisieren müssen
  • Landschaftsbilder wirken für das menschliche Auge natürlich, und das Betrachten von Landschaftselementen reduziert Stress und bietet mit minimalem Aufwand ein angenehmeres visuelles Erlebnis
  • Weather as Landscape zeigt einen Ansatz, bei dem Wetterinformationen in einem Landschaftsbild kodiert werden, ohne oder nur mit minimaler Abhängigkeit von Zahlen

Kodierungsansatz

  • Die Landschaft ist um ein kleines Haus im Wald herum aufgebaut
  • Die horizontale Achse des Bildes ist eine 24-Stunden-Zeitleiste
    • Das Haus links markiert den aktuellen Zeitpunkt
    • Je weiter rechts, desto näher liegen die Bedingungen am nächsten Tag
    • Je weiter ein Ereignis von der Gegenwart entfernt ist, desto weiter rechts befindet es sich im Bild
  • Mehrere über die vertikale Achse verteilte Landschaftselemente stehen für Wetterereignisse und -bedingungen

Informationen, die in der Landschaft enthalten sein können

  • Zeitmarker, die bei der zeitlichen Orientierung helfen
    • Sonnenaufgang und Sonnenuntergang
    • Mittag und Mitternacht
  • Informationen zur Wettervorhersage
    • Windrichtung und -stärke
    • Temperaturverlauf
    • Höchst- und Tiefsttemperaturen
    • Bewölkung
    • Niederschlag
  • Aktuelle Wetterlage
    • Temperatur
    • Luftdruck
  • Nicht-Wetter-Ereignisse
    • Geburtstage
    • Feiertage

Visuelle Elemente und Bedeutung

  • Das Projekt setzt die Landschaft aus mehreren Ereignisbildern zusammen
    • Sonne: Sonnenaufgang
    • Mond: Sonnenuntergang
    • Wolken: Bewölkung
    • Haus: Position der aktuellen Zeit
    • Blumen: Mitternacht und Mittag
    • Baum-Sprites: Südwind, Ostwind, Westwind, Nordwind
    • Regen und Schnee: Niederschlagsform
    • Luftdruck-Icon: hoher Luftdruck, normaler Luftdruck, niedriger Luftdruck
    • Feiertags-Icon: Nicht-Wetter-Ereignis, zum Beispiel der Geburtstag einer Person
  • Je größer der Baum ist, desto stärker ist die erwartete Windstärke
  • Wenn im Wald unterschiedliche Baumtypen gemischt sind, bedeutet das Wind aus einer Zwischenrichtung

Beispielinterpretation

  • Das erste Beispiel liegt etwa um die Mittagszeit; es wird klarer Himmel mit etwas Bewölkung erwartet
    • Über Nacht entsteht mäßiger Nordwind
    • Die aktuelle Temperatur steigt, beginnt nach Sonnenuntergang aber zu fallen
    • Die Tiefsttemperatur wird vor Sonnenaufgang erreicht
    • In diesem Zeitraum wird erwartet, dass der Wind auf Nordost dreht
  • Das zweite Beispiel zeigt gerade Sonnenaufgang sowie einen heißen, klaren Tag mit schwachem Südostwind
    • Die Temperatur bleibt auch nach Sonnenuntergang weiter hoch
    • Der Wind dreht nach Osten und wird den ganzen Abend über stärker
  • Das dritte Beispiel zeigt kaltes und regnerisches Wetter über Tag und Nacht hinweg
    • Südwind dreht über Nacht auf Nordwestwind
    • Es weist darauf hin, dass am nächsten Tag jemand Geburtstag hat

Ausführen und erzeugte Bilder

  • Linux-Umgebung vorbereiten
    • ./makevenv.sh
    • source .venv/bin/activate
  • Windows-Umgebung vorbereiten
    • makevenv.bat
    • .venv/Scripts/Activate
  • Bilderzeugung testen
    • In die Variable OWM_KEY in secrets.py muss ein OpenWeather-API-Key eingetragen werden
    • Bei Bedarf können die Koordinaten in secrets.py auf den Standort des Nutzers geändert werden
    • Nach dem Ausführen von python run_test.py sind die erzeugten Bilder im Ordner tmp zu finden
  • Server ausführen
    • python run_server.py
    • Wenn man die Server-Seite im Browser aufruft, sieht man die Anzahl der erzeugten Bilder

Nutzung mit E-Ink und Smartphone

  • Die Hardware umfasst ein ESP32 development board und ein 2.9inch E-Ink display module
  • Die aktuelle E-Ink-Konfiguration zeigt ein aus dem Internet abgerufenes Bild an und aktualisiert es alle 15 Minuten
  • Ob sich der Code zur Bilderzeugung so ändern lässt, dass er mit MicroPython auf dem ESP32 genutzt werden kann, ist derzeit unklar
  • Weitere Informationen stehen in esp32/README.md
  • Während des Tests werden mehrere Bilder erzeugt
    • Schwarz-Weiß-Bilder sind für das E-Ink-Modul gedacht
    • Farbbilder können auf dem Homescreen eines Smartphones platziert werden
  • Unter Android lässt sich mit Web Image Widget ein Widget zur Anzeige von Internetbildern erstellen
    • Das Server-Skript des Repositorys ausführen
    • Ein Widget hinzufügen, das auf eines der erzeugten Bilder verweist

1 Kommentare

 
GN⁺ 2024-09-21
Kommentare auf Hacker News
  • Vor ein paar Jahren habe ich an einem Projekt herumgebastelt, das Bilder je nach Wetter auswählt: https://bazzargh.github.io/weather/
    Wenn man auf manual filter umstellt und ein paar Filter setzt, sieht man, wie die getaggten Bilder erscheinen. Ich hatte das eher als Stimmungsgeber für einen Bilderrahmen oder Desktop-Hintergrund gedacht, nicht als präzise Wettervorhersage.
    Alle Bild-Tags sind hier: https://github.com/bazzargh/bazzargh.github.io/blob/master/w...
    Die meisten habe ich manuell vergeben: erst ein Bild ausgesucht, das mir gefiel, dann geschaut, wo Lücken in den Tags waren, und Bilder gesucht, die diese füllen.

    • Chrome markiert diese Seite als Phishing.
  • Spannend. Ich habe einen alten Bilderrahmen mit OpenAIs DALL-E-Bildgenerator verbunden, sodass er anhand der aktuellen Wetterdaten Bilder erzeugt; er wird alle paar Stunden aktualisiert.
    Das aktuell angezeigte Bild ist dieses: https://ibb.co/8K5jZ3B

  • Zusätzlich zur README-Beschreibung möchte ich eine konkrete Nutzung dieses Projekts teilen. Ich habe den Bildschirm auf dem Schreibtisch stehen, und es macht überraschend viel Spaß, zuzusehen, wie sich das Bild im Lauf des Tages ständig verändert.
    Zum Beispiel erscheint Regen von rechts und verschwindet ein paar Stunden später wieder, oder ein Baum beginnt zu wachsen. Währenddessen bewegen sich Sonne und Mond stetig vorwärts und zeigen den Übergang zwischen Tag und Nacht an.
    Ein weiterer interessanter Punkt ist, dass diese Darstellung wie eine Binäruhr wirkt. Die Leute vermuten, dass etwas Bedeutung hat, können es aber nicht sofort entschlüsseln, und das schlichte Design bringt sie dazu, es selbst herausfinden zu wollen.

  • Wirklich interessant. Das macht Lust, eine Kamera aufzustellen, die regelmäßig eine Grünfläche in der Nähe meines Hauses fotografiert.
    Wenn man zusammen mit dem Bild Bewölkungsdaten und einen Datumsstempel speichert und dann das Bild, das der aktuellen Vorhersage am ähnlichsten ist, als Laptop-Hintergrund zeigt, wäre das wohl schön. Es würde zwar nicht so viele Informationen vermitteln wie dieses Projekt, könnte aber ziemlich befriedigend sein.

  • Niedlich, und mit ein wenig Anpassung würde ich es wohl tatsächlich nutzen. Es gibt Raum, die Interpretierbarkeit zu verbessern: Die Richtung, in die sich die Bäume biegen, könnte die Windrichtung anzeigen; Nord- und Südwind müsste man kreativ lösen, etwa ob sie nach unten oder nach außen gebogen sind, und die Stärke des Winds könnte über den Grad der Biegung oder über Größe und Dichte der Bäume dargestellt werden.
    Sonnenauf- und -untergang würde ich nicht über Sonne und Mond darstellen, sondern buchstäblich über die Sonne am Horizont; der Nachthimmel sollte eine andere Schattierung als der Tag bekommen. Als Startpunkt würde ich nicht „aktuelle Uhrzeit“, sondern einen festen Zeitpunkt wie Morgen oder Mitternacht wählen und die Position des Hauses für „jetzt“ verwenden.

    • Die Idee selbst lässt sich kreativ in viele Richtungen erweitern, aber der kleine Schwarz-Weiß-Bildschirm setzte Grenzen. Es gibt keine Möglichkeit zu zeigen, wie sich Bäume im Wind biegen oder eine Schnecke kriecht.
      Trotzdem bleibt am Himmel Platz für spaßige Elemente, etwa einen Storch zum Geburtstag oder Santas Schlitten in der Feiertagssaison. Ich warte darauf, dass größere farbige E-Ink-Displays günstiger werden.
    • Stimme größtenteils zu. Nur bei Punkt 4 fände ich es niedlich, wenn sich statt des Hauses irgendein Tier bewegen würde.
      Und eine Perspektive wie isometrische Projektion könnte vielleicht helfen, die Windrichtung zu visualisieren.
    • Mit Schatten, besonders Länge und Richtung, ließe sich zusammen mit der Schattierung von Himmel und Boden wahrscheinlich die Tageszeit spürbar machen.
  • Ich nutze seit einiger Zeit ein ähnliches Konzept als Android-Hintergrund[1].
    Mir gefällt die Idee von Artwork, das tatsächlich nützliche Informationen vermittelt.
    [1]: https://play.google.com/store/apps/details?id=kaka.wallpaper...

    • Ich benutze dieses Live-Wallpaper seit Jahren und mochte es immer.
  • Das erinnert mich an den Hauptbildschirm der Yr.no-App. Sie visualisiert das Wetter, indem sie wie eine Illustration zeigt, wie es zu verschiedenen Tageszeiten draußen vor dem Fenster aussehen wird.
    Schon anhand der Animation lässt sich Niederschlagsmenge und -art sowie Wind recht gut intuitiv erfassen. Allerdings sieht man immer nur einen Moment auf einmal, sodass man horizontal scrollen muss, um den Tag zu sehen, und die Temperatur wird nur als Zahl angezeigt.
    https://apps.apple.com/no/app/yr/id490989206?l=nb
    https://play.google.com/store/apps/details?id=no.nrk.yr&pcam...

  • Großartige Arbeit. Wenn der Fokus aber auf User Experience liegt, bietet windy.com aus meiner Sicht die beste Erfahrung bei der Vermittlung von Wetter.
    An Vorhersagen wie „30 % Schauerwahrscheinlichkeit um 20 Uhr“ bin ich zum Beispiel kaum interessiert; wichtiger ist, in welchem Muster sich Wolken oder Regen bewegen. So kann man etwa entscheiden, ob man in die Richtung mit dem besten Sonnenlicht fährt.
    Ich frage mich, ob es noch andere Anbieter gibt, die ähnlich wie windy.com arbeiten. Meine bisherige Erfahrung ist hervorragend und es gibt kaum dunkle UX-Patterns, aber mehr Wettbewerb in diesem Bereich wäre schön.

    • Ich habe eine Roadtrip-Wetter-App gebaut, die die Vorhersage berechnet, wenn man auf einer Fahrt das schlimmste Wetter vermeiden möchte. Sie ist praktisch, um zu entscheiden, ob man abends losfährt oder erst am nächsten Morgen.
      Die Zeitstempel basieren auf Google-Routen, daher kommt man damit Stand 2024 einer möglichst genauen Vorhersage ziemlich nahe.
      Ich verstehe das Gefühl, dass Vorhersagen wie „30 % Schauerwahrscheinlichkeit um 20 Uhr“ wenig hilfreich sind, aber mittelfristige Vorhersagen liegen derzeit im Wesentlichen auf diesem Niveau.
      Android oder iOS: https://weatherthetrip.com/download
    • Weather Strip (iOS): https://apps.apple.com/us/app/weather-strip/id1528594026
    • Ich mag Meteoblue sehr. Es bietet verschiedene Visualisierungen von Vorhersage-Ensembles.
      In puncto User Experience ist es nicht wie Windy, aber es vermittelt Modellunsicherheit und die Übereinstimmung zwischen Modellen ziemlich gut.
    • Anfang des Jahres habe ich windy.com genutzt, um einen Ort in Texas auszuwählen, an dem man die totale Sonnenfinsternis sehen konnte. Es passte perfekt: Wir sahen die Finsternis gut, und danach zogen Wolken auf.
    • Zoom Earth ähnelt Windy.com.
      https://zoom.earth/
  • Eine interessante Idee, aber an einigen Stellen wirkt die Bedeutung der Bilder seltsam verschoben. Vor allem sollte ein Nachthimmel nicht hell sein, und bei Sonnenaufgang sollte die Sonne nicht hoch am Himmel stehen.
    Wenn man kontraintuitive Regeln lernen muss wie „Wenn irgendwo am Himmel die Sonne zu sehen ist, bedeutet das Sonnenaufgang“ oder „Nacht wird nicht durch Dunkelheit, sondern durch etwas anderes dargestellt“, dann verfehlt es meiner Ansicht nach den Kernzweck.
    Viele Wetter-Apps haben eine Zeitachse von links nach rechts und markieren Sonnenauf- und -untergang mit intuitiven Icons. Die Zeitachsenansicht von Windy.com bringt Himmelszustand, Tag/Nacht, Mondphase, Temperatur, Niederschlag sowie Windgeschwindigkeit und -richtung gut in einer knappen horizontalen Zeitachse unter.

  • Ich hatte natürlich LLM + bildgenerierende KI erwartet, die die Wettervorhersage in surrealistische Bilder verwandelt, war dann aber angenehm überrascht, dass es ein System ist, in dem echte Menschen Designentscheidungen getroffen und sorgfältig ausgewählte visuelle Elemente deterministisch auf Daten gemappt haben. Auf merkwürdige Weise erfrischend.