← 모든 프로젝트

개인 · 2026

PlanesView

전 세계 항공 교통을 사실적인 지구본 위에 실시간으로 표시하고, 어떤 항공기든 조종석 시점으로 볼 수 있습니다.

지도: 전 세계 항공 교통을 사실적인 지구본 위에 실시간으로 표시
지도: 전 세계 항공 교통을 사실적인 지구본 위에 실시간으로 표시
착륙 접근 중인 항공기의 조종석에서, 주변의 다른 항공기와 함께
착륙 접근 중인 항공기의 조종석에서, 주변의 다른 항공기와 함께
PlanesView 메인 페이지
PlanesView 메인 페이지

이야기

처음 요구 사항은 "백엔드 없음"이었습니다. ADS-B 피드의 CORS 헤더를 제공자별로 측정해 보니 네 곳의 ADS-B 제공자가 웹 페이지에서의 호출을 거부했습니다. "무료, 키 없음, 계정 없음"이라는 조건을 포기하는 대신, 파일에 고정된 출처에만 닿을 수 있는 화이트리스트 방식의 최소 릴레이를 설계했습니다.

위치는 약 1초에 한 번 도착합니다. "늦은" 항공기를 한 번도 보여 주지 않으면서 초당 60프레임의 부드러운 움직임을 얻기 위해, 각 항공기를 등속 칼만 필터로 추적하고 축마다 두 개의 필터로 분해합니다(전파할 항이 16개가 아닌 4개).

지구본은 타일의 쿼드트리입니다. 타일은 결코 비어 있지 않고(조상의 텍스처를 빌립니다), 세부 묘사는 페이드로 선명해지며, 부모는 네 자식이 모두 만들어진 뒤에만 교체되고, IndexedDB 캐시는 경로를 따라 미리 데워집니다.

여기서 얻은 것

결정 전에 측정하기: 요구 사항은 한 가지가 틀렸고, 올바른 답은 엄격하게 제한된 작은 릴레이였습니다. 또한 "그럴듯하게 틀린" 수학(측지학, 투영)이 가장 많은 테스트를 필요로 한다는 것도 배웠습니다.