Coding History/Team Project

팀플) 혜성 데이터의 사용 고민.

BlackBirdIT 2024. 10. 23. 09:35

지금 뽑아놓은 데이터는 나름 의미가 있다.

매년 관측 가능한 유성우:

  1. 21P/Giacobini-Zinner (드라코니드 유성우) - 매년 10월 초.
  2. 109P/Swift-Tuttle (페르세우스 유성우) - 매년 8월 중순.
  3. 1P/Halley (오리온자리 유성우) - 매년 10월 중순.
  4. 1P/Halley (에타 아쿠아리드 유성우) - 매년 5월 초.

    매년 관측되지 않는 유성우:

  5. 55P/Tempel-Tuttle (레오니드 유성우) - 11월 중순, 주기적으로 강한 유성우 발생.
  6. 2P/Encke (타우 헤르쿨리드 유성우) - 혜성 접근 시기에 강한 유성우.
  7. 8P/Tuttle (우르시드 유성우) - 혜성의 접근 주기에 따라 강도 차이.
  8. 73P/Schwassmann-Wachmann (타우 헤르쿨리드 유성우) - 5월 말에서 6월 초, 혜성 접근 시기에 따라 유성우 발생.

해당하는 7개의 혜성만 주로 다룰 생각이고, 이 혜성 데이터를 조금 더 세분화해서 쓰면 유성우 로직은 굳이 따로 만들 필요없이 유성우 데이터를 함께 추출할 수 있다.

요청시에는 1년치 데이터를 요청하고 계산하면 되는데, 이게 시간이 약간 걸린다. 계산할게 많으니까. 그럼 이 동안을 프론트에서는 애니메이션으로 적절히 처리하면 좋을 것 같다. 그리고 캐싱도 적절히 사용하면 리소스에 대한 부담감을 줄일 수 있을 것 같다!

그럼 이제 남은 것은 진짜 혜성을 관측할 수 있을지 없을지 까지 알아내는 로직, 그리고 결과에 유성우를 관측할 가능성이 있다는 메세지를 담으면 혜성 또한 끝이 날 것 같다.

해야할 것

Halley혜성은 두가지의 유성우 이벤트를 갖는다. 따라서 4월 말에서 5월 초의 요청과 9월 말에서 10월 초의 요청으로 나누어서 요청을 받을 수 있게끔 조건을 달아주어야할듯. 해당하는 월에 따라 유성우의 이름도 바뀌어야함.

또, Giacobini-Zinner, Swift-Tuttle에서는 9월 말에서 10월초의 요청과 8월 한단간의 요청으로 고정해두어야한다.

나머지 주기적이지 않은 유성우의 경우엔 1년간의 데이터 요청으로 계산하고 추측한다. 이에는 정확하지 않을 수 있다는 것을 고지해야함.

이렇게 고치고 나면 진짜 혜성에 대한 로직은 완성이고 이제 api 마무리 후에 어떻게 배포하고 사용할지 고민해봐야될듯?


그럼 시작해보자고,

우선은 태양의 신축각과 고도에 대한 차이를 알 필요가 있었다. 지금 만든 로직은 어디까지나 혜성 자체에 대한 가시성 판단이였기 때문에 결과가 뜨는데에 태양의 신축각에 대해서 아주 민감했다. 하지만 유성우는 고도만 부합해도 보일 수 있다.

현재 고치지 않은 로직에서 과거의 기록, 2018년도에 한국에서의 Giacobini-Zinner의 데이터. 지금 로직을 고치지 않아서 태양 신축각 때문에 아무 결과가 뜨지 않았는데,

여기 보면 과거의 기록이 있다.

따라서 유성우에 대한 데이터는 있을 수 있다는 것,

그럼 어떻게 해야될까? 고도가 타당한 결과가 있다면 유성우 관측성 가능성이 있다는 로직이 필요하다.

이렇게 쓰고 보니까 유성우에 대한 로직은 필요없을 줄 알았는데 필요하긴하구나..

일단 로직은 대충 완성시켜놨고, 결과가 도출되지 않을 시에도 유성우 정보는 뜰 수 있게 만들어는 뒀다.

그러다가 문든 든 생각이 혜성마다 조건이 다 다를 것이라는 것이다. 그래서 이걸 변수화 시켜서 사용해주는게 맞을 것 같다.


오 아이디어가 떠올랐다. 혜성 데이터 요청시에 혜성의 결과와 상관없이 유성우 로직을 따로 계산해서 표시해주면 어떨까?

를 이제 해봤는데, 어떻게 수정해도 Hally 혜성과 연관된 유성우의 평가는 조금 이상하다. 이거 혜성 하나가 두개의 유성우를 가져서 그냥 얘는 6개월로 쪼개서 두번 요청하는 로직으로 바꿔봤다.


아 나 이제서야 뭔가 어떻게 해야될지 감이 잡힌다.

접근 자체를 잘못하고 있었다. 혜성의 가시성과, 혜성의 대접근을 기준으로 계속 유성우 기준을 평가하니까 결과가 이상하게 나오던 것. 혜성에 대한 대접근은 그냥 대접근으로 남기고 아예 따로 유성우데 대해서 접근을 해야한다.

그럼 다음 글에서 수정해야겠다.

우선은 여태까지 했던 기록.

휴,, 이거 언제 초기화 시키냐..