날씨앱을 만들고 있습니다.

알림
|
X

페이지 정보

작성자 리코리안 211.♡.110.92
작성일 2024.04.30 13:53
564 조회
3 추천
쓰기

본문

안녕하세요

제주에서 앱 개발하는 리코리안입니다.


제주로 이주하고 나서 야외활동을 많이 하다보니 입맛에 맞는 날씨 앱이 없어서

플러터 공부를 하는데 동기부여 겸 해서 날씨 앱을 만들어 보고 있습니다.


기본 아이디어는 여러 날씨 api 를 가져와서 적절한 로직을 돌려서

날씨 값들 (온도, 기상 상태, 미세먼지 등등)을 잘 뽑아서 사용자에게 필요한 정보를 보여준다 입니다.


암튼... 아이디어는 그렇고. (어차피 날씨 앱이 거기서 거기..)


일단 여러 기상 api 가 있지만 한국에서는 기상청 만한게 없는거 같아서

기상청 정보를 가져오는데 아 기상청 정보 쓰기 어렵네요 -_-);



1. 현재 날씨

- 현재 날씨를 가져오려면 gps 좌표가 아닌 기상청에서 사요하는 xy 좌표계를 가지고 현재 날씨를 가져올 수 있습니다.

가져온 결과물은 숫자 범위가 아니라 그대로 프린트해서 쓸만한 텍스트 값이나오거나, ('흐리고 비' 같은..) 유추하기 힘든 json key 값에 담겨서 값이 나옵니다. (UUU, VVV 등...)


2. 예보

예보는 단기 예보와 중기 예보가 있는데

둘다 json 정리가 ... 괴랄합니다. 노가다를 좀 많이 해야 합니다.


중기 예보는 xy 좌표 대신에 지역명을 사용하고 있는데, '영동', '영서' 같은 지역명을 사용합니다.

내 위치가 어딘지 찾아서 이게 영동인지 영서인지 판단을 해야 합니다.


3. 대기질 - 현재

대기질 정보는 기상청이 아니라 에어코리아 에서 가져옵니다.

다른 곳이라 쓰는 법이 또 다릅니다.


여긴 gps 도 xy 좌표도 아닌 tm 좌표계라는걸 씁니다.

내 위치를 gps 로 가져와서 tm 좌표계로 변경해서 (보통 다음 / 공공api 에 있는 gps -> tm 좌표계 변환 api 를 사용) 

tm 좌표계를 가지고 내 위치에서 가장 가까운 관측소를 가져온다음에

관측소 이름을 가지고 다시 현재 대기질을 가져올 수 있습니다.


4. 대기질 - 예보

대기질 예보는 단기 (오늘 ~ +3일까지)와 중기 (+3~+6일까지) 가져올 수 있는데

단기는 pm2.5, pm10, o3 에 대해서만, 중기는 그냥 공기질 값에 대해서 가져올 수 있습니다.


여기는 또 '영동/영서' 같은 지역명으로 가져오는데 추가로 '경기남부/경기북부'가 존재합니다 -_-);

경기도인경우 내가 경기남부인지 경기북부인지 체크를 또 해줘야 합니다. (수작업 개발해야...)



대충 여기까지 구현하는데 다른 것도 하면서 구현했더니 2주쯤 걸린거 같네요.

dart 도 아직 어색한데 사용하기 어려운 기상청 / 에어코리아 api 다루려니 시간이 오래걸렸네요 ㅠ



암튼 여기까지 값은 가져왔는데 이걸 어떻게 정리할지는 고민이네요 ㅎㅎ;

아이디어는 있으나 막상 값을 가져오니 잘 안맞네요. ㅎㅎ;;



괜찮은 날씨 앱이 의외로 적은 이유를 알겠더라구요. -_-);

(해외 api 는 정확도가 좀 문제가 있고, 국내는 쓰기가 어렵...)



동기부여를 위해 글 남겨봤습니다 :)



// 미세미세 같은 앱은 오전/오후/저녁 3타임으로 미세먼지 예보 값을 보여주던데... 

이건 에어코리아에 없는 정보 같은데 어떻게 구현했는지 궁금하네요 ㅎㅎ

댓글 6

breezymind님의 댓글

작성자 breezymind (202.♡.191.158)
작성일 04.30 14:33
반갑습니다. 저도 1인 개발자가 희망사항입니다 ~

리코리안님의 댓글의 댓글

대댓글 작성자 리코리안 (211.♡.110.92)
작성일 05.01 11:20
@breezymind님에게 답글 충분히 준비되면 시작하세요 ! ㅎㅎ 3년째인데 아직도 까먹고 살고 있네요. 성장하고 있어서 버팁니다 ㅎㅎ;

plaintext님의 댓글

작성자 plaintext (119.♡.120.4)
작성일 04.30 19:28
재미난 작업하시고 후기까지 남겨주셔서
재밌게 읽었어요 감사합니다

여담으로 오늘 모 기관 api 요청하고
일부 키가 안 맞길래 뭐지했는데
키 뒤에 공백이 있더라구요....ㅎㅎㅎ
특징이 핵심 결과인거보니
개발자가 뭔가 확인하려고 하다가
운영에 반영한듯 싶더라구요..
api 는 만드는 사람이 센스가 있어야
좋은거 같습니다 ㅠ

리코리안님의 댓글의 댓글

대댓글 작성자 리코리안 (211.♡.110.92)
작성일 05.01 11:21
@plaintext님에게 답글 기상청/에어코리아 홈페이지에서 쓰이는 딱 그대로 정보만 주고 있어서 ... api 와 서비스 커플링 상태가 장난아닙니다. 기상청/에어코리아 입장에서 뭔가 바꾸려면 api 새로 만들어야 하거나 아니면 그냥 끼워맞추든 개발해야만 할거 같더라구요.;

DDLL님의 댓글

작성자 DDLL (211.♡.71.228)
작성일 05.01 00:14
말씀하신 내용을 보니까 날씨 데이터에는 지형 데이터도 고려해야 하고,, 처리하는게 쉽지 않아보이네요.
손에 익지 않은 환경에서 구현단계까지 진행하셨다니 대단하십니다

리코리안님의 댓글의 댓글

대댓글 작성자 리코리안 (211.♡.110.92)
작성일 05.01 11:22
@DDLL님에게 답글 업이니까 하는거죠. 회사다니면서 취미로 하는거였으면 때려쳤을거 같습니다 ㅠ
돈내고 쓰는 openweathermap 같은건 정말 현재 gps 좌표 넘기면 잘 정리된 json 딱 내려와서 엄청 편한데 한국은 잘 안맞으니 어쩔 수 없네요 ㅠㅠ
쓰기
홈으로 전체메뉴 마이메뉴 새글/새댓글
전체 검색