September 20th, 2024

Visualizing Weather Forecasts Through Landscape Imagery

The "Weather as Landscape" project visualizes weather forecasts using landscape imagery, encoding weather data and time markers. It is implemented in Python for an E-Ink display and requires an ESP32 board.

Read original articleLink Icon
CuriosityAppreciationInspiration
Visualizing Weather Forecasts Through Landscape Imagery

The "Weather as Landscape" GitHub repository presents a novel approach to visualizing weather forecasts through landscape imagery, aiming to make weather information more intuitive and calming compared to traditional numerical displays. The project encodes weather data within a landscape image, where the horizontal axis represents a 24-hour timeline, and various landscape elements symbolize different weather conditions. Key features include time markers for sunrise, sunset, and other significant times, as well as detailed weather forecasts such as wind direction, temperature, cloud cover, and precipitation. The implementation is done in Python using the Pillow library, with data sourced from OpenWeather, and is tailored for a 296x128 E-Ink display. Users can run the code on both Linux and Windows, with instructions provided for setup, including the need to update the OpenWeather API key. The project requires an ESP32 development board and a 2.9-inch E-Ink display module. Example outputs showcase various landscape images that depict different weather scenarios, including sunny and rainy conditions.

- The project visualizes weather forecasts using landscape imagery.

- It encodes various weather details and time markers within the landscape.

- Implementation is done in Python, utilizing the Pillow library and OpenWeather data.

- The project is designed for a specific E-Ink display and requires an ESP32 board.

- Example outputs illustrate different weather conditions through visual representation.

AI: What people are saying
The comments on the "Weather as Landscape" project reveal a mix of appreciation and suggestions for improvement.
  • Many users express admiration for the project's creative approach to visualizing weather data.
  • Several commenters share their own similar projects or ideas, indicating a growing interest in weather visualization.
  • Feedback includes suggestions for enhancing user experience, such as clearer iconography and more intuitive representations of weather conditions.
  • Some users find the current visualizations confusing without proper explanations of the symbols used.
  • There is a desire for broader applications, such as mobile apps or offline functionality.
Link Icon 34 comments
By @bazzargh - 7 months
I noodled with a project a couple of years ago to pick art based on the weather https://bazzargh.github.io/weather/

put it on 'manual filter' and try setting some of the filters, you can see the tagged images it comes up with. I wasn't really interested in this being an accurate weather report, I was thinking more of using it in a photoframe or as a desktop background for mood.

the image tags are all in here https://github.com/bazzargh/bazzargh.github.io/blob/master/w...

and were largely done manually, I started by picking paintings I liked, then looking for gaps in the tags and trying to find paintings to cover those.

By @LeoPanthera - 7 months
Ha, this is great. I hooked up an old photo frame to OpenAI's DALL-E image generator, which is told to make an image based on the current weather data right now. It updates every few hours.

This is what it's showing right now: https://ibb.co/8K5jZ3B

By @lds133 - 7 months
Thanks everyone for the valuable feedback. In addition to the description in the readme, I'd like to share my specific use case for the project, which may not be immediately obvious.

I have the screen set up on my desk, and the image evolves throughout the day. Watching these changes is surprisingly enjoyable. For example, rain might appear from the right side and disappear after a few hours, or trees might start to grow. Meanwhile, the sun and moon steadily move forward, marking the transition between day and night.

Another fun aspect is how the setup resembles a binary clock. People often suspect it represents something meaningful but don’t always know how to interpret it. Still, the simplicity of the design invites them to try and figure it out.

By @qnleigh - 7 months
This is super-fun. Kinda makes me want to do the following: set up a camera to take regular photos of a greenspace near my house. Record couldcover data and date stamps alongside the images, and then then show the most similar image to the current forecast as a background, maybe on my laptop. Wouldn't convey as much information as this project, but it could be very satisfying.
By @lxe - 7 months
Cute, and with small adjustments, I'd be legitimately using this. There are just better ways to interpret things:

1. Make the bending trees signify wind direction. Have to get creative with north and south, but a tree bent down vs out can do, and the bend or size and clustering of trees should signify magnitude of the wind.

2. Put sunrise and sunset as literally sun over the horizon, not the sun and moon.

3. Make the night sky shaded differently than day

4. Don't start at "current time" but rather a fixed point, either morning or midnight, and specify the "now" via the location of the house

By @Ajedi32 - 7 months
I've been using a similar concept for my Android wallpaper for a while now[1].

I love the idea of artwork that actually conveys useful information.

[1]: https://play.google.com/store/apps/details?id=kaka.wallpaper...

By @vages - 7 months
Reminds me of the main view in the Yr.no app, which visualises the weather as a picture of how things would look outside a window at different times of the day. It is actually quite easy to get a feel for the amount (and type) of precipitation, as well as the wind, from the animations.

However, you only get to see one moment at a time, requiring you to scroll horizontally through the day, and the temperature is only shown as a number.

https://apps.apple.com/no/app/yr/id490989206?l=nb

https://play.google.com/store/apps/details?id=no.nrk.yr&pcam...

By @nelblu - 7 months
Great work! That said if we are focusing on the UX, windy.com has got the best weather reporting experience.

Ex: I am almost never interested in "30% chance of shower at 08:00pm" type of forecast. I am more interested in the trend in which the clouds/rains are moving. This helps me figure out which direction I can drive to get the best sunshine or whatever else.

Is there anyone else who is doing it the way windy.com is doing? I really love them, and so far their experience is great (almost no dark UX patterns), that said I would love to see some more competition in this space.

By @jp57 - 7 months
It's an interesting idea, but some of the image semantics seem weirdly wrong. In particular, the sky shouldn't be light at night, and the sun shouldn't be high at sunrise.

If you have to learn counterintuitive things like "the appearance of the sun anywhere in the sky indicates sunrise", and "nighttime is indicated by, well, idk what exactly, but it's not darkness", it kind of fails at it's main purpose, I think.

EDIT: I'll add that many weather apps have a left-to-right timeline of some sort, and indicate sunrise and sunset with intuitive iconography.

EDIT2: The Windy.com timeline view shows sky condition, day/night, moon phase, temperature, precipitation, and wind speed and direction in a nice compact left-to-right timeline. (click the summary in the upper left)

By @sieste - 7 months
I fully expected an llm hooked up to an image gen ai that turns weather forecast into hyper realistic images, and was pleasantly surprised to see a good old deterministic mapping of data onto carefully chosen visuals in a system where an actual human made actual design choices. how strange!
By @drag00n - 7 months
Very cool, I also developed this idea with Zima weather dashboard (https://zima.farawaytech.com) There is also sunset/sunrise, and different weather types
By @3abiton - 7 months
This is one of the best microcontroller projects I've encoutered recently! Amazing work!
By @kelseyfrog - 7 months
Love it! It's like the Chernoff face[1] of weather forecasts.

https://en.wikipedia.org/wiki/Chernoff_face

By @Quimoniz - 7 months
Neat!

I am throwing in my Plotly.js-based weather display, based on OpenWeatherMap and hand-drawn graphics: https://github.com/quimoniz/ophelia?tab=readme-ov-file#-ophe...

(by default it also displays the Hacker News newsfeed)

By @xd1936 - 7 months
Love love love love this. This would be great for kids. I pitched a very similar "weather for kids" visualizer product idea on the very first episode of my podcast.

https://spitball.show/@podcast/episodes/1

By @pcl - 7 months
Chamonix does something like this for their weather forecasts. It works really well! Lots of info available at a glance, especially once you get accustomed to the format.

https://en.chamonix.com/weather

By @leobg - 7 months
These are gorgeous. What a great idea.
By @danny8000 - 7 months
How much effort to create a weather app for ios or andriod that works like this? Maybe so something for the nest home max or echo show? I love the idea, but what is the easiest way to get this onto the most number of devices?
By @rickcarlino - 7 months
Love the monochrome artwork, great work on this project.
By @tamimio - 7 months
Looks great, would love if it was fully offline and interface with sensors directly
By @unknown2342 - 7 months
Very nice and inspiring idea I will try to implement it and my project
By @darrylcodes - 7 months
This is really cool! I would use this daily if it were an app
By @hinkley - 7 months
Reminds me a little bit of Tad Williams’ Otherland series.
By @yaj54 - 7 months
It's like a line-scan camera for the weather.
By @kohlerm - 7 months
Really nice"
By @jerjerjer - 7 months
From readme:

> Traditional weather stations often display sensor readings as raw numerical data. Navigating these dashboards can be overwhelming and stressful, as it requires significant effort to locate, interpret, and visualize specific parameters effectively.

Simply fascinating. The reverse holds true for me. Numbers provide easily identifiable and recognizable references, while sample images look incomprehensible to me. Without accompanying descriptions, I'd never guess what the author is getting at (except in the broadest of strokes). To each their own, of course.

By @SebastianKra - 7 months
If you'd like to see this implemented in a practical way, check out Weather Strip.

It's a master class in information density while also being intuitive and readable.

https://www.weatherstrip.app/

By @lb1lf - 7 months
In a somewhat related vein, the wonderful Ootside[0] website gives you the weather with a Scottish twist.

Mostly, the weather around where I live is described as 'Mostly shite'.

[0] https://ootsi.de/

By @bobabob - 7 months
It looks lovely but it's absolutely incomprehensible beyond "maybe it'll rain" and "maybe i'll be sunny". Without the explanation of what the symbols meant I'd never guess.
By @pilooch - 7 months
Can't wait for the stable diffusion version :)