GN⁺: 풍경 이미지를 통한 날씨 예보 시각화
(github.com/lds133)-
날씨를 풍경으로 시각화하기
-
전통적인 기상 관측소는 센서 데이터를 숫자로 표시함
-
이러한 대시보드를 탐색하는 것은 특정 매개변수를 효과적으로 찾고 해석하며 시각화하는 데 많은 노력이 필요함
-
풍경 이미지를 보는 것은 자연스럽고, 스트레스를 줄이며 최소한의 노력으로 편안한 시각적 경험을 제공함
-
아래 방법은 숫자 데이터에 의존하지 않고 풍경 이미지 내에 날씨 정보를 인코딩하는 방법을 설명함
-
인코딩 원칙
-
풍경은 숲 속의 작은 집을 묘사함
-
이미지의 수평 축은 현재 순간에서 시작하여 다음 날의 조건까지 확장되는 24시간 타임라인을 나타냄
-
수직 축을 따라 분포된 다양한 풍경 요소는 날씨 이벤트와 조건을 상징함
-
현재로부터 멀리 떨어진 이벤트일수록 이미지의 오른쪽에 위치함
-
다음 정보가 풍경 이미지 내에 인코딩될 수 있음:
- 타임라인 탐색을 단순화하는 시간 표시:
- 일출 및 일몰 시간
- 정오 및 자정
- 날씨 예보 정보:
- 바람 방향 및 강도
- 온도 변동
- 최고 및 최저 온도 값
- 구름 덮개
- 강수량
- 현재 날씨 조건:
- 온도
- 기압
- 비날씨 이벤트:
- 생일
- 공휴일
- 타임라인 탐색을 단순화하는 시간 표시:
-
구현
-
이미지 생성 코드는 Python의 Pillow 라이브러리를 사용하여 작성되었으며 OpenWeather의 데이터를 기반으로 함
-
이미지는 296x128 E-Ink 디스플레이에서 사용하도록 설계됨
-
코드는 Python 3.9에서 테스트됨
-
이벤트 이미지 | 설명
- | 일출
- | 일몰
- | 구름 덮개
- | 현재 시간 위치
- | 자정
- | 정오
- | 남풍
- | 동풍
- | 서풍
- | 북풍
- | 비
-
예시
-
풍경 이미지 | 설명
- | 정오쯤이며, 맑은 하늘과 약간의 구름이 예상됨. 밤새 북풍이 불 것으로 예상됨. 현재 온도가 상승 중이며, 일몰 후 하락하여 일출 전 최저점에 도달할 것임. 이 기간 동안 바람은 북동쪽으로 바뀔 것임
- | 해가 뜨고 있으며, 뜨거운 맑은 날씨와 가벼운 남동풍이 불 것임. 일몰 후에도 온도가 높게 유지되며, 바람은 동쪽으로 바뀌어 저녁 내내 강해질 것임
- | 하루 종일 추운 비가 내릴 것임. 남풍은 밤새 북동쪽으로 바뀔 것임
-
코드 실행
-
환경 준비
- Linux
- ./makevenv.sh
- source .venv/bin/activate
- Windows
- makevenv.bat
- .venv/Scripts/Activate
- Linux
-
이미지 생성 테스트
- weather_landscape.py 파일에서 OWM_KEY 변수를 OpenWeather API 키로 업데이트
- python run_test.py
-
서버 실행
- python run_server.py
-
하드웨어
-
하드웨어 설정에는 ESP32 개발 보드와 2.9인치 E-Ink 디스플레이 모듈이 포함됨
-
현재 설정은 인터넷에서 소스를 가져와 15분마다 이미지를 업데이트함
-
이미지 생성 코드를 ESP32에서 MicroPython으로 사용할 수 있을지는 불확실함
-
GN⁺의 정리
-
이 기사는 날씨 정보를 시각적으로 더 쉽게 이해할 수 있도록 풍경 이미지로 인코딩하는 방법을 설명함
-
풍경 이미지를 통해 날씨 정보를 전달함으로써 사용자는 스트레스를 덜 받고 더 직관적으로 정보를 이해할 수 있음
-
Python과 Pillow 라이브러리를 사용하여 이미지를 생성하며, OpenWeather API를 통해 데이터를 가져옴
-
ESP32 개발 보드와 E-Ink 디스플레이를 사용하여 하드웨어 구현 가능성도 탐구함
-
비슷한 기능을 가진 프로젝트로는 WeatherFlow, Netatmo Weather Station 등이 있음
Hacker News 의견
-
작은 조정으로 이 프로젝트를 실제로 사용할 수 있을 것 같음
- 나무의 굽힘으로 바람 방향을 나타내기
- 일출과 일몰을 지평선 위의 태양으로 표시하기
- 밤하늘과 낮하늘을 다르게 음영 처리하기
- 현재 시간을 기준으로 시작하지 않고 고정된 시점에서 시작하기
-
몇 년 전 날씨에 따라 예술 작품을 선택하는 프로젝트를 시도했음
- 수동 필터를 사용하여 태그된 이미지를 확인할 수 있음
- 정확한 날씨 보고보다는 분위기를 위한 데스크탑 배경으로 사용하려 했음
- 이미지 태그는 주로 수동으로 작업했음
-
이 프로젝트가 매우 재미있음
- 집 근처 녹지의 정기적인 사진을 찍고, 구름 덮개 데이터와 날짜를 기록하여 현재 예보와 가장 유사한 이미지를 배경으로 표시하기
-
오래된 사진 프레임을 OpenAI의 DALL-E 이미지 생성기에 연결했음
- 현재 날씨 데이터를 기반으로 이미지를 생성하고 몇 시간마다 업데이트됨
-
Yr.no 앱의 주요 화면을 떠올리게 함
- 날씨를 창 밖의 모습으로 시각화함
- 하루 중 한 순간만 볼 수 있어 수평으로 스크롤해야 함
- 온도는 숫자로만 표시됨
-
비슷한 개념을 안드로이드 배경화면으로 사용 중임
- 유용한 정보를 전달하는 예술 작품 아이디어를 좋아함
-
UX 측면에서 windy.com이 최고의 날씨 보고 경험을 제공함
- 구름/비의 이동 방향을 알 수 있어 유용함
- 다른 경쟁자가 더 많아졌으면 좋겠음
-
이 아이디어가 매우 멋짐
-
Tad Williams의 Otherland 시리즈를 떠올리게 함
-
흥미로운 아이디어지만 이미지 의미가 이상하게 잘못된 부분이 있음
- 밤에 하늘이 밝지 않아야 하고, 일출 시 태양이 높이 떠 있지 않아야 함
- 직관적인 아이콘으로 일출과 일몰을 표시하는 것이 좋음
- Windy.com의 타임라인 뷰가 여러 날씨 정보를 잘 압축하여 표시함