Launch & Satellite Tracking

RL3D

전 세계 로켓 발사를 지도에 표시하고 위성을 실시간으로 움직이는 Windows 데스크톱 앱. 통과 예측·지상궤적·상승 궤적 근사·낮밤 터미네이터까지 외부 API 없이 직접 계산한다.

PythonpywebviewMapLibre GLsatellite.jsPyInstaller

구조

Launch Library 2발사 일정·결과
Celestrak위성 TLE
파이썬호출·정규화·디스크 캐시
브릿지window.pywebview.api
웹 UI지도 · SGP4 실시간

네트워크와 캐싱은 파이썬이 맡고 JS 는 받은 JSON 을 그린다. 무거운 요청을 JS 에서 직접 하지 않는다.

무엇을 하는가

발사 정보는 Launch Library 2, 위성 궤도는 Celestrak TLE 에서 받는다. 위성 위치는 SGP4 로 매 초 계산해 지도에 찍는다.

관측 위치는 도시 이름 검색 · 좌표 입력 · 지도 클릭 중 아무 방법으로나 정한다(도시 목록은 앱에 번들돼 외부 요청이 없다). 그 자리 기준 향후 24시간의 통과를 시각·방위·최대고도까지 직접 계산한다.

API 한도가 시간당 약 15회라 캐싱이 설계의 출발점이다. 발사 15분 · TLE 2시간 TTL 로 시간당 약 8요청에 맞춘다. 실패하면 오래된 캐시라도 반환해 화면이 비지 않게 한다.

주요 기능

발사 지도예정/성공/실패 마커 · 상세 · 검색 · 타임라인
발사 순서표추진제 주입 → 리프토프 → MECO → 착륙, 지금 어느 단계인지까지
상승 궤적 근사발사장 좌표와 목표 궤도로 방위각을 풀어 점선으로 — 가정을 화면에 숫자로 적는다
발사 밀도어디서 몇 번 쏘았나 — 색 눈금이 데이터에 맞춰 다시 잡힌다
위성 추적SGP4 실시간 · 그룹 선택 · 궤도 대역 필터
통과 예측관측 위치 기준 24시간 — 시각·방위·최대고도
지상궤적날짜변경선에서 끊어 그린다
터미네이터태양 위치로 야간 반구 음영
시간대 전환현지 ↔ UTC — 화면의 모든 시각이 한 스위치를 따른다
오프라인 대응번들 라이브러리 + 캐시 · 타일만 온라인

화면

발사 지도와 위성 실시간 추적 — 궤적선·터미네이터
발사 지도와 위성 실시간 추적 — 궤적선·터미네이터

개발 노트

화면 대부분이 지도라, 틀리는 방식도 «아무것도 안 보인다» 쪽으로 몰렸다. 기능 소개가 아니라 판단 기록이라 «이건 아직 안 쟀다» 도 그대로 적는다. 각 노트 끝에 근거 커밋이 걸려 있다.

다른 프로젝트