TECH 으로 돌아가기
TECH HACKER NEWS 1주 전 6분 읽기 21 READS

머리 위 위성 3만 개를 실시간으로 보여주는 지도, 어떻게 만들어졌을까요

머리 위 위성 3만 개를 실시간으로 보여주는 지도, 어떻게 만들어졌을까요

지금 이 순간에도 우리 머리 위로는 수만 개의 인공위성이 초속 7km가 넘는 속도로 날아다니고 있어요. 말로만 들으면 실감이 잘 안 나는데, 이걸 눈으로 직접 확인하게 해주는 사이트가 있습니다. satellitemap.space는 스타링크를 포함해 지구 궤도를 도는 약 3만 개의 위성과 궤도 물체를 브라우저에서 실시간 지도로 보여주는 서비스인데요. 접속하면 지구 위에 점들이 촘촘하게 박혀서 움직이는 모습이 펼쳐지는데, 처음 보면 '궤도가 이렇게까지 붐비는구나' 하고 놀라게 되거든요. 특히 갓 발사된 스타링크 위성들이 기차처럼 줄지어 이동하는 이른바 '위성 트레인'을 구경하는 재미가 쏠쏠해요. 밤하늘에서 빛나는 점들이 일렬로 지나갔다는 목격담의 정체가 바로 이거예요.

위성 위치를 어떻게 아는 걸까요

그런데 이런 사이트는 3만 개나 되는 위성의 위치를 대체 어떻게 아는 걸까요? 핵심은 TLE(Two-Line Element)라는 데이터예요. 이게 뭐냐면, 위성 하나의 궤도 정보를 딱 두 줄짜리 텍스트로 압축해 놓은 표준 포맷이에요. 미국 우주군이 지상 레이더와 망원경으로 궤도 위 물체들을 추적해 이 데이터를 계속 갱신하고, CelesTrak 같은 사이트를 통해 누구나 무료로 내려받을 수 있게 공개돼 있어요. TLE 안에는 궤도 경사각, 이심률, 하루에 지구를 몇 바퀴 도는지 같은 값들이 들어 있는데요. 여기에 SGP4라는 궤도 전파 알고리즘을 적용하면 '지금 이 순간 이 위성이 어디쯤 있는지'를 몇 킬로미터 오차 안에서 계산해낼 수 있어요.

여기서 재미있는 건 아키텍처예요. 이런 실시간 위성 지도는 보통 서버가 위성 좌표를 쉬지 않고 쏴주는 방식이 아니라, 브라우저가 TLE 데이터를 한 번 받아온 뒤 각 위성의 현재 위치를 클라이언트에서 직접 계산하는 방식으로 만들어져요. 궤도라는 게 물리 법칙을 따르니까, 초기값만 알면 지금 위치는 수식으로 구할 수 있거든요. 자바스크립트 생태계에는 satellite.js라는 SGP4 구현 라이브러리가 있어서 이 계산을 브라우저에서 돌릴 수 있고, 3만 개나 되는 점을 부드럽게 그려내는 건 WebGL이 담당해요. 점 하나하나를 DOM 요소로 그렸다면 브라우저가 진작 멈췄을 텐데, GPU에게 같은 모양을 한꺼번에 그리게 하는 인스턴싱 기법 덕분에 가능한 일이죠.

궤도는 지금 포화 직전이에요

이 지도가 보여주는 진짜 메시지는 '지구 저궤도가 정말 붐빈다'는 사실이에요. 스타링크는 이미 수천 기가 넘는 위성으로 전 세계에 위성 인터넷을 서비스하고 있고, 아마존의 프로젝트 카이퍼, 영국의 원웹, 중국의 대형 군집위성 프로젝트들까지 앞다퉈 위성을 쏘아 올리는 중이거든요. 문제는 궤도가 무한하지 않다는 거예요. 위성끼리 충돌하면 수천 개의 파편이 생기고, 그 파편이 또 다른 위성을 부수는 연쇄 반응으로 이어질 수 있는데, 이걸 케슬러 신드롬이라고 불러요. 최악의 경우 특정 궤도를 아예 못 쓰게 될 수도 있다는 시나리오죠. 그래서 위성 운영사들은 충돌 회피 기동을 일상적으로 수행하고 있고, 궤도 교통 관리가 하나의 산업으로 떠오르고 있어요. 천문학계에서는 위성들이 밤하늘 관측을 방해한다는 문제 제기도 꾸준하고요.

직접 만들어볼 수도 있어요

한국 개발자 입장에서 이 사이트가 반가운 건, 여기 쓰인 재료가 전부 공개돼 있다는 점이에요. TLE 데이터는 무료로 받을 수 있고, satellite.js로 궤도 계산을 하고, Three.js나 CesiumJS 같은 라이브러리로 3D 지구본 위에 그리면 나만의 위성 추적기를 만들 수 있거든요. 사이드 프로젝트 소재로 이만한 게 없어요. 수만 개 객체를 렌더링하다 보면 자연스럽게 GPU 인스턴싱이나 웹워커로 계산 분리하기 같은 성능 최적화를 공부하게 되고, 결과물이 시각적으로 화려해서 포트폴리오로도 좋고요. 우리나라도 초소형 군집위성 사업을 진행하고 있어서, 우주 데이터를 다뤄본 경험은 앞으로 가치가 더 올라갈 거예요.

마무리

정리하면, satellitemap.space는 공개 궤도 데이터와 웹 기술만으로 '지금 하늘에서 벌어지는 일'을 누구나 볼 수 있게 만든 좋은 사례예요. 여러분은 밤하늘의 스타링크 트레인을 실제로 본 적 있으신가요? 그리고 브라우저에서 3만 개 객체를 그려야 한다면 어떤 최적화부터 시도하실지도 궁금하네요.


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://satellitemap.space/
SHARE
처리 중...