포켓몬 고 날씨 - pokesmon go nalssi

강풍 날씨에 그림자 뮤츠를 잡고 싶은데 밖에 바람은 많이 불고 있는데 날씨는 맑음이 뜬다거나, “말러님 좀전까지 강풍이었는데요”라는 소리를 듣거나 하다보니, 포켓몬고 날씨 정보를 어디서 가져오는지 알아내서 미리 확인하는 기능을 만들어야겠다고 생각했다.

검색을 조금 해보니 (1) accuweather를 사용한다는 것과, (2) 8시간 간격으로 그 정보를 가져온다는 것과, (3) s2 레벨 10셀을 기준으로 날씨가 정해진다는(마이너하게 11셀이라는 주장도 있음) 것을 알 수 있었다.

잘 정리가 되어있는 글: https://www.reddit.com/r/TheSilphRoad/comments/amb4ki/predicting_ingame_weather_yes_you_can/

위글을 쓴 분이 만든 pogo_weather_bot Github repository: https://github.com/thornleaf/pgo-weatherbot

위에서 말한 내용이 모두 맞다는 가정하에 다음과 같은 내용으로 코드를 작성했다.
(복잡한 내용이 아니라서 이미 운영중인 단톡방 사이트에 추가 기능 형태로 직접 만드는 것이 편할 것 같았다)

  • 우선 Accuweather에 회원가입을 하고 App을 등록해 API key를 받는다. 하루 제한이 50회로 걸려있어서 한번 테스트를 하더라도 아주 신중하게 해야했다. 한시간에 한 번씩 날씨 정보를 가져오기만 해도 절반이 날아간다.
    https://developer.accuweather.com/user/me/apps
  • Accuweather의 시간별 예보를 이용한다. 실시간으로 확인하는 것이 아니라 8시간 간격(예를 들어 1시, 9시, 17시)으로 미리 가져와서 해당 내용을 이용한다. 그러나 기준 시간이 몇시인지 모르기 때문에 일단은 매 시간 정보를 모두 가져온다.
  • S2 Level 10 cell의 중심점을 기준으로 해당 셀의 날씨 예보 정보를 가져온다. Accuweather에는 위도,경도를 Location Key로 변환해주는 API가 있다.
    https://developer.accuweather.com/accuweather-locations-api/apis/get/locations/v1/cities/geoposition/search
    여기에 내가 살고 있는 셀의 중심점 위경도를 입력해 Location Key를 받아둔다. 이건 한 번만 하면 된다.
    S2 cell은 sidewalklabs의 region coverer를 이용했다.
    http://s2.sidewalklabs.com/regioncoverer/
  • Accuweather에는 날씨를 45가지로 분류하는데, 각 accuweather 날씨가 포켓몬고 날씨와 1:1로 대응이 된다. 해당 내용은 잘 알려져 있다.
    https://docs.google.com/spreadsheets/d/1v51qbI1egh6eBTk-NTaRy3Qlx2Y2v9kDYqmvHlmntJE/edit#gid=0
    한 가지 예외가 강풍 날씨인데, wind speed + windgust speed > 55km/h인 경우 앞서 1:1 대응시킨 날씨 대신에 강풍이 덮어쓰기 되는 방식이라고 사람들이 추정하고 있다. 그리고 일부 날씨는 바람이 아무리 불어도 강풍 날씨가 될 수 없다. 일단은 위 내용이 모두 맞다는 가정하에 진행했다.

위 내용으로 일단은 매시간 일기예보를 수집하도록 코드를 만들었다. 그리고 0시-8시-16시는 패턴 #0, 1시-9시-17시는 패턴#1, 이런 식으로 8가지 패턴(수집 기준시간)에 따라 일기예보를 표시해주며, 예보가 패턴별로 차이가 있을 때 게임내에서 어느 예보가 맞는지 확인하는 작업을 진행했다.

  • 포켓몬 고 날씨 - pokesmon go nalssi
    게임내 날씨는 맑음. 패턴 #1 제외
  • 포켓몬 고 날씨 - pokesmon go nalssi
    게임내 날씨는 약간흐림. 패턴 #0, #2 둘 중 하나.
  • 포켓몬 고 날씨 - pokesmon go nalssi
    게임내 날씨는 약간흐림. #2로 낙찰!

며칠간 신경써서 관찰한 결과 2시, 10시, 18시에 날씨를 가져오는 패턴이 맞다고 결론내릴 수 있었다. 그리고 시간대별 예보가 왔다갔다 하는 애매한 날씨에 같은 10셀이지만 다른 11셀 내에 살고 있는 분들에게 물어서(레드님, 마르코님 감사합니다!) 지속적으로 게임상 날씨가 같다는 것을 확인해 일기예보 단위는 10셀이라고 결론지었다.

이렇게 셀 크기와 날씨 확인 기준시간(pulltime)을 확정지은 후에는 내가 사는 지역은 매 시간, 근처 10셀 3개는 하루에 6회 날씨를 가져오도록 코드를 변경했다. 우리 지역을 매 시간 가져오도록 한 것은 나중에 pulltime이 바뀌는 경우가 생기면 디버깅이 가능하도록 하기 위함이다.

포켓몬 고 날씨 - pokesmon go nalssi
포켓몬고 일기예보 시스템

API콜은 python으로 짜서 crontab을 이용해 매시 14분에 호출하도록 하고 있고(매시 15분 근처에 수집하는 것 같다는 레딧 댓글을 참고), 웹페이지는 PHP로 만들었다. 링크: http://bukgu.pogo.kr/accuweather

날부 그림자 뮤츠를 잡고 싶어서 이 사단이 났는데, 과연 나는 강풍 날씨에 비주기랑 싸울 수 있을 것인가….??

포켓몬 고 날씨 - pokesmon go nalssi
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

안녕하세요.

포켓몬고 날씨를 간단히 정리해보았습니다.

날씨를 잘 이용하면, 이득이 많습니다. 참고하세요.

https://youtu.be/DI9qbIThFjE

포켓몬고 팁 날씨 정리
포켓몬 고 날씨 - pokesmon go nalssi

<포켓몬고 날싸 : 총 7가지>

1. 맑음 : 불꽃, 풀, 땅

2 약간 구름 : 노말, 바위

3. 구름 : 페어리, 격투, 독

4. 비 : 물, 전기, 벌레

5. 눈 : 얼음, 강철

6. 안개 : 악, 고스트

7. 강풍 : 드래곤, 비행, 에스퍼

포켓몬 고 날씨 - pokesmon go nalssi
포켓몬고 날씨

<포켓몬고 날씨 정리>

1. 레벨 UP : 포켓몬 레벨이 평소보다 5레벨 높게 나타남

 - 야생 : 평소 최대 30레벨 ----> 날씨 부스트시 최대 35레벨

 - 레이드 : 평소 20레벨 고정, ---->날씨 부스트시 25레벨 고정

  (키우려면 날씨 부스트를 받은 레이드보스를 잡아서 키우는게 유리함)

2. 별의 모래 UP : 포획시 별의 모래 더 많이 받음(25%)

3. 기술 데미지 UP : 해당 날씨의 기술이 더 강해짐(20%)

 (체육관/레이드 배틀에서만 적용됨. 트레이너 배틀에서는 적용안됨)

포켓몬 고 날씨 - pokesmon go nalssi
포켓몬고 날씨 정리

포켓몬 고 날씨 - pokesmon go nalssi
포켓몬 고 날씨 - pokesmon go nalssi
포켓몬 고 날씨 - pokesmon go nalssi

포켓몬고 날씨 표시
포켓몬 고 날씨 - pokesmon go nalssi
포켓몬고 날씨 상성
포켓몬 고 날씨 - pokesmon go nalssi
포켓몬고 날씨 강풍 상성
포켓몬 고 날씨 - pokesmon go nalssi
포켓몬고 날씨 안개 상성
포켓몬 고 날씨 - pokesmon go nalssi
포켓몬고 날씨 눈 상성
포켓몬 고 날씨 - pokesmon go nalssi
포켓몬고 날씨 비 상성
포켓몬 고 날씨 - pokesmon go nalssi
포켓몬고 날씨 구름 상성
포켓몬 고 날씨 - pokesmon go nalssi
포켓몬고 날씨 약간구름 상성
포켓몬 고 날씨 - pokesmon go nalssi
포켓몬고 날씨 맑음 상성
포켓몬 고 날씨 - pokesmon go nalssi
포켓몬고 날씨 레이드 정리