피드로 돌아가기
I built Zenith: a live local-first fixed viewport planetarium
Hacker NewsHacker News
Frontend

180x 배율의 Local-first 천체 관측 시스템: PanSTARRS 데이터 기반 실시간 렌더링

I built Zenith: a live local-first fixed viewport planetarium

2026년 5월 15일6intermediate

Context

지구 자전으로 인한 별의 이동을 시각화하기 위해 30초간의 이동 경로를 화면에 담는 고배율 뷰포트 설계 필요. 기존 천체 관측의 복잡성을 제거하고 브라우저 환경에서 실시간으로 천체 데이터를 매핑하는 경량 아키텍처 지향.

Technical Solution

  • PanSTARRS1 데이터셋의 0.26 arcseconds/pixel 해상도를 활용하여 1,000px 너비에서 4.33'의 시야각을 확보한 고정 뷰포트 설계
  • 지구 자전의 회전 운동을 극소 영역의 선형 이동으로 근사하여 Leaflet.js 기반의 2D 타일링 시스템으로 단순화한 렌더링 최적화
  • 서버 컴포넌트 없는 Full Client-side 아키텍처를 통해 사용자 위치 정보의 외부 유출을 원천 차단한 Local-first 데이터 처리
  • STScI 아카이브와의 직접 연결을 통해 이미지 데이터를 스트리밍하여 서버 부하를 제거하고 데이터 전달 경로 단축
  • SIMBAD 데이터베이스 쿼리를 통한 객체 식별 정보를 픽셀 단위로 정밀하게 정렬한 오버레이 레이어 구현
  • 임계값 기반의 Noise Filter와 화이트 엣지 제거 로직을 통한 Raw 이미지의 전처리 파이프라인 구축

1. 도메인 특성상 매우 좁은 시야각(Field of View)을 가진다면 복잡한 좌표계 대신 선형 근사를 통한 최적화 검토

2. 개인정보 민감 데이터(위치 정보 등) 처리 시 서버를 거치지 않는 Pure Client-side 로직 설계로 보안 리스크 제거

3. 외부 API 데이터 소스와의 픽셀 단위 정렬을 위해 독립적인 데이터셋 간의 좌표 보정 로직 검증

원문 읽기