1P by GN⁺ | ★ favorite | 댓글 1개
  • British Airways의 Airbus A350 First Officer가 개인 비행 기록을 데이터 시각화 페이지로 공개해, 조종사 경력과 운항 패턴을 한눈에 볼 수 있게 함
  • 기록은 LogTen Pro에 저장되고 SQL로 조회되며, 날짜·상업/비상업·단거리/장거리/일반항공 필터를 적용해 그래프와 로그북을 탐색할 수 있음
  • 시각화에는 국가 간 목적지 매트릭스, GitHub 스타일 비행 캘린더, 연간 비행시간, 좌석마일, 방사선 노출, CO₂ 배출, 기종별 누적 시간이 포함됨
  • 2023년 A320 단거리 운항에서 A350 장거리 운항으로 바뀌며 좌석마일, 야간 비행, 장거리 비중, 환경 지표가 함께 달라짐
  • 단순한 여행 지도가 아니라 항로·기상·우회·deadhead·방사선·탄소 배출까지 연결한 개인 운항 데이터 시각화 사례로 볼 수 있음

조종 경력과 디지털 로그북

  • 2023년부터 London Heathrow 기반의 British Airways Airbus A350 First Officer로 근무 중임
  • 2016년부터는 Heathrow와 Gatwick 기반으로 Airbus A320 계열 항공기를 운항함
  • British Airways에는 2014년 cadet scheme으로 합류했고, 스페인 Andalucia의 FTEJerez에서 Integrated ATPL 과정을 마침
  • 비행은 캐나다에서 시작했으며, Canadian Air Cadet 장학 프로그램으로 Glider Pilot License, Instructor Rating, PPL을 취득함
  • 모든 비행은 LogTen Pro에 디지털로 기록하고, SQL 조회 결과를 인포그래픽으로 변환함

페이지를 움직이는 필터와 계산 방식

  • 상단의 전역 필터로 여러 비행 통계를 동시에 조정할 수 있음
    • 날짜 범위
    • 상업/비상업 비행
    • 단거리·장거리·일반항공 비행 유형
  • 시간 지연 계산은 평균 순항 고도와 속도를 기반으로 함
    • 높은 순항 속도에 따른 특수상대론 효과는 음의 시간 지연으로 계산됨
    • 낮은 중력에 따른 일반상대론 효과는 양의 시간 지연으로 계산됨
    • 이 페이지의 계산에서는 일반상대론 효과가 더 커서 양의 시간 지연이 우세함

목적지, 캘린더, 연간 비행시간

  • Destination Matrix는 각 국가로 향한 비행 수를 바깥 링에 표시하고, 밴드는 출발 국가에서 도착 국가로 이어진 비행 수를 나타냄
    • 일부 목적지는 출발과 도착 횟수가 다르며, positioning/deadhead 구간이 원인임
    • Portugal에서 Spain으로 간 단일 구간은 Madeira에서 Tenerife로 악천후 때문에 우회한 사례임
  • Flight Calendar는 GitHub 활동 그래프처럼 하루별 비행 시간을 색상으로 보여줌
    • Covid-19 시점과 단거리에서 장거리로 전환한 시점이 시각적으로 드러남
  • 연간 비행시간은 항공에서 쓰는 “brakes off”부터 “brakes on”까지의 시간을 기준으로 기록됨
  • 연간 비행시간 약어는 조종 역할을 구분함
    • PIC: Pilot in Command
    • PICUS: Pilot in Command, Under Supervision
    • P1: 이륙과 착륙을 담당하는 Pilot Flying
    • P2: 이륙과 착륙 시 Pilot Monitoring
    • Heavy: 장거리 비행에서 추가 조종사로 탑승하며, 이륙·착륙 때는 jump seat에 앉음
  • British Airways에서는 보통 Captain과 First Officer가 P1/P2 구간을 나눠 맡음
    • Captain은 전체 구간에서 계속 지휘권을 가짐
    • First Officer도 PIC under supervision으로 의사결정과 구간 운영을 맡을 수 있음
  • BA SOP는 모든 접근을 monitored approach로 수행하도록 함
    • 하강 시작 지점에서 P2가 Pilot Flying이 되어 1000ft AGL까지 접근을 비행함
    • 1000ft AGL에서 P1이 다시 조종을 넘겨받아 착륙함

좌석마일, 방사선, 환경 영향

  • 모든 비행의 실제 승객 수를 기록하지는 않지만, 각 항공기의 좌석 수는 알고 있음
  • seat-miles는 좌석 수와 비행 거리의 곱으로, 항공사 산출량을 나타내는 표준 지표임
    • 항공사 연차보고서와 노선 분석에서는 ASM, CASM 같은 표현이 사용됨
    • 2023년 증가분은 단거리 A320 운항에서 장거리 A350 운항으로 전환한 결과임
  • 단거리 운항 시기에는 연간 “좌석” 수가 더 많았지만, 장거리 비행은 더 긴 거리·높은 속도·큰 항공기 때문에 전체 seat-miles에 훨씬 크게 기여함
  • 고도에서 비행하는 승무원은 우주 기원 전리방사선에 더 많이 노출됨
    • 특히 장거리와 고위도 비행에서 노출이 커짐
    • EU의 승무원 연간 한도는 6 mSv이며, 일반 직업상 한도인 20 mSv보다 낮음
    • 선량률은 순항 고도, 위도, 비행시간을 기준으로 CARI-7 평균값으로 추정함
  • 환경 영향 계산은 Jet A 1kg 연소당 CO₂ 3.16kg이라는 표준 근사치를 사용함
    • 2023년 이후 증가는 A350 운항 때문임
    • A350은 331석, A320은 180석이며 A350의 운항 가능 거리도 훨씬 김
    • 좌석당·마일당 수치는 항공기 규모와 운항 거리 차이 때문에 직접 비교가 덜 적합하고, seat-mile이 비교에 더 알맞음
    • 2019년 이후 BA가 더 효율적인 CFM LEAP-1A 엔진을 쓰는 A320/A321 NEO를 도입하면서 승객-마일당 배출량 감소가 보임

기종, 비행 유형, 시간대 패턴

  • 기종별 누적 시간은 ICAO Type Designator 기준의 stream chart로 표시됨
    • A320 계열에는 CEO(A320), NEO(A32N), A319, A321이 포함됨
  • 항공기 기종 순위 그래프는 연도별 총 비행시간 기준 순위 변화를 보여주는 bump chart이며, 누적 시간 그래프를 다른 방식으로 본 것임
  • Flight Type Breakdown은 단거리·장거리·일반항공 비중을 시간과 거리 기준 도넛 차트로 나눠 보여줌
    • 일반항공 비중은 작아지고 있음
  • Day vs Night Flying은 어둠 속에서 비행한 비중을 나타냄
    • 2023년 이후 장거리 A350 운항으로 바뀌면서 야간 구간 증가가 뚜렷해짐
  • Flight Time vs Distance는 대권 거리와 비행시간의 관계를 산점도로 표시함
    • 비행시간은 대체로 대권 거리와 선형으로 증가함
    • 편서풍 때문에 London에서 서쪽의 미국·캐나다로 가는 outbound 비행은 돌아오는 비행보다 지속적으로 더 오래 걸림
    • Tokyo 비행의 이상치는 기상 조건과 Ukraine conflict 때문에 더 긴 경로로 귀환해야 했던 사례임
  • Departures & Arrivals by Time of Day는 UTC 기준 24시간 시계 형태로 이륙과 착륙 분포를 보여줌
    • 단거리·장거리, inbound·outbound로 데이터를 나눠 표시함
  • Flights by Day of Week에서는 주말이 항공 조종사에게 귀한 휴식 시간이면서도, 휴가·레저 수요 때문에 가장 바쁜 비행일로 나타남
    • 항공사 내 seniority가 높아지면 요일별 비행 분포가 바뀔 것으로 예상함

3D 글로브와 인터랙티브 로그북

  • 여러 3D 글로브 시각화로 로그북의 다양한 측면을 탐색할 수 있음
  • 전체 3D 글로브는 3D globes page에서 확인할 수 있음
  • 비행별 기록은 interactive logbook에서 탐색 가능함
  • 앞으로 항공 조종사 경험과 기술 독자가 즐길 만한 인사이트를 더 올리고, 이 페이지에도 그래프를 몇 개 더 추가할 계획임

댓글과 토론

Hacker News 의견들
  • 개인 비행 기록장용 시각화가 멋짐. 원본 데이터나 표시용 데이터는 어떻게 저장되는지 궁금함
    지구본 지도는 예전에 여기나 Reddit에서 발견해 북마크해 둔 육각형 격자 글이 떠오름
    https://www.redblobgames.com/grids/hexagons/
    항공사 조종사 입장에서, 조종사-부조종사 소통을 코믹하게 다룬 HBO의 Nathan Fielder The Rehearsal 시즌 2를 봤는지도 궁금함
    봤다면 부조종사와의 소통 마찰을 그린 방식에 대해 어떻게 생각하는지, 또 개인사를 캐묻려는 의도는 아니지만 이 직업이 도움 필요성을 인정하지 않은 채 높은 기능 수준을 유지하는 쪽으로 생존자 편향/잔류 편향이 있는지 궁금함. 아니면 동료 간 대화가 막히는 묘사가 그의 관점에서 확대된 극단 사례인지도 궁금함

    • 데이터는 전부 비행 기록장 소프트웨어의 SQLite 파일에 들어 있음. 데이터를 추출한 작은 글도 썼음: https://jameshard.ing/posts/querying-logten-pilot-logbook-sq...
      The Rehearsal은 몇 클립만 봤고, Sully가 Evanescence를 듣는 장면 정도라 말할 근거가 많지는 않음. 조종사 소통은 CRM, 즉 승무원 자원 관리라는 큰 틀 아래에서 많은 시간을 들여 이야기하고 훈련하는 주제이고, 내 경험상 업계는 이 영역을 더 낫게 만들기 위해 실제로 노력 중임
    • 글에서 LogTen Pro를 쓴다고 답했고[1], SQL로 질의할 수 있음[2]. SQL 글에서는 앱에 CSV 내보내기가 있지만 실제 저장은 SQLite라 직접 접근해 질의할 수 있다고 함
      [1] https://logten.com/
      [2] https://jameshard.ing/posts/querying-logten-pilot-logbook-sq...
    • 지구본의 육각형은 Uber의 H3 라이브러리를 쓴 줄 알았음
    • 꽤 오래된 https://youtu.be/1SKDvQzcasg가 떠오름
  • 매우 멋짐. 상세한 비행 기록을 읽는 게 정말 즐거웠고, 거리와 비행 시간부터 P1, P2, PICUS 같은 역할의 뉘앙스까지 경험을 문서화한 방식이 흥미로웠음
    물리 시스템에서 방향과 벡터 상태 진화를 모델링하는 쿼터니언 기반 라이브러리 SpinStep을 개발하는 입장에서, 이 데이터에서 예상 밖의 영감을 받음. 방향, 역할, 환경 영향이 강조된 이런 시공간 로그를 회전 상태 모델링 같은 방식으로 다룰 수 있을지 생각하게 됨
    예를 들면 항공기 기수 방향과 자세 변화는 쿼터니언에 자연스럽게 대응될 수 있고, P1 ↔ P2 같은 역할 전환은 연속 시스템 안의 이산 상태 변화처럼 보이며, 바람 영향이나 비행 네트워크 패턴은 시간에 따라 자세에 영향을 주는 외부장으로 모델링할 수도 있어 보임
    이 맥락에서 SpinStep을 상상해 본 적은 없었지만, 이 로그가 설득력 있는 관점을 제공해 줬음. 구체적인 결과로 이어질지는 몰라도 영감을 줘서 고마움
    https://github.com/VoxleOne/SpinStep/blob/main/README.md
    https://github.com/VoxleOne/SpinStep/blob/main/docs/01-ratio...

    • 저장소가 약간 LLM이 작성한 글처럼 읽힘
      쿼터니언은 3차원 회전의 일부 연산에서 좋은 성질이 있지만, 만병통치약은 아님
  • 여러 영역의 전문가인 이런 사람들은 나 같은 사람에게 영감이 됨. 본업 말고 다른 일도 해 보고 싶다는 꿈을 늘 꾸는데, 언젠가는 게으름을 이겨내고 해냈으면 함

    • 가끔은 소프트웨어 개발 보수가 이렇게 예외적으로 높지 않았으면 좋겠다고 생각함. 관심 있는 다른 일이 너무 많지만, 큰 연봉 삭감을 감수해야 한다는 걸 알면 다른 전업 분야로 옮기기 어렵다
    • “첫 직장에서 형편없을 수 있었던 건 행운이었다” 같은 문장이 자주 반복됨. 선택지가 많다는 건 일종의 저주
  • 아름다움. 지구본과 멋진 애니메이션도 좋지만, 요약 통계를 보여주는 대시보드가 마음에 듦
    예전에 독일의 Fraunhofer나 Helmholtz 중 한 곳이 특정 비행편을 입력하면 전체 방사선 피폭량을 알려주는 사이트를 운영했던 것 같음. 주로 항공 승무원을 위한 것이었고 이렇게 아름답지는 않았음. 누적 피폭량을 대시보드에 추가하면 유용할 듯함

    • 좋은 아이디어임
      내가 다니는 회사도 월/년/평생 누적 선량 데이터를 제공하긴 하지만, 그렇게 세분화된 수준은 아님. 이걸 계산할 수 있는 통계적 방법이 있을지 궁금함
      대권 항로를 계산하고, 특정 시점 해당 공역의 대략적인 선량을 추정하면 될지도 모르겠음
    • Nomadlist에도 모든 여행의 방사선 피폭량이 있었던 것 같은데, 통계를 보고 충격받았음
  • 1,500억 개 ADS-B 데이터 포인트 위에 비슷한 시각화를 만들어 둠: https://adsb.exposed/
    상호작용형이라 비행한 항공기 종류 같은 어떤 차원으로도 필터링할 수 있음
    2D이지만 3D로 만드는 것도 생각해 봤음
    추신: 보여준 지도는 다소 느림. 확대하면 프레임률이 10fps 아래로 떨어짐

    • 와, 상당한 데이터 처리량
      기술적인 세부사항을 공유해 줄 수 있는지 궁금함
  • 전문 조종사이면서 이렇게 완성도 높은 소프트웨어 프로젝트까지 만들 수 있다는 게 정말 인상적임

    • 많은 조종사에게 이 일은 9시-5시 근무가 아니고, 비행 사이 시간이 꽤 길 수 있음. 옆에서 하는 취미로 이런 걸 한다고 해도 놀랍지는 않음. 비행 중에 뭔가 하고 있다고는 상상하지 않음
    • 조종사들이 비행 중에 노트북을 만질 수 있나? 비행 대부분은 착륙 시작을 기다리며 앉아 있는 시간이라고 이해하고 있었는데, 그러면 프로그래밍을 익힐 여유 시간이 많을 수도 있겠음
    • University of Toronto에서 컴퓨터과학 전공으로 졸업했음
  • 비행 기록장으로 만든 것도 마음에 들지만, 페이지에서 가장 멋진 부분은 아버지와 함께 조종석에 있는 사진이었음
    미국 항공사 조종사로서, 내 아이 중 한 명과 그렇게 할 수 있다면 평생의 특권일 것 같음

    • 나에게도 정말 커리어 최고의 순간이었음. 아버지는 몇 달 뒤 은퇴하실 예정이라, 함께하는 마지막 비행도 이미 계획해 둠
      당신도 아이들과 같은 경험을 할 수 있길 바람. 지금은 어떤 기종을 타고 있는지 궁금함
  • 통계 목록에 시간 지연도 추가하면 좋겠음. 지구에 머문 사람보다 아마 5마이크로초 정도 더 젊을 것임

    • 국제 날짜 변경선을 동쪽으로 지나가는 것도 일종의 시간 여행이라고 볼 수 있지 않나?
    • 그렇다면 난 출근 통근을 하니 피코초라도 돌려받고 싶음
  • 비행 기록장도 좋지만, split-flap 디스플레이가 정말 끝내줌 ;)
    https://jameshard.ing/projects/split-flap

    • 마음에 든다니 기쁨. 거기에 비행 중 내 항공편을 실시간으로 보여주는 화면도 있음. 그 자체로 글 하나가 될 만할지도 모름 :)
  • 이 주제에 관심이 있다면 GCMap을 소개하고 싶음
    GCMap은 IATA 공항 코드 두 개 사이에 선을 그릴 수 있고, 실제로는 쉼표로 구분해 임의 개수의 쌍을 넣을 수 있음. 무엇보다 URL 매개변수로 전달할 수 있다는 점이 좋음. 예: JFK-LHR,LHR-CDG,CDG-FRA
    http://www.gcmap.com/mapui?P=JFK-LHR,LHR-CDG,CDG-FRA
    나는 가끔 GCMap URL을 나 자신에게 이메일로 보내서 내 비행을 추적함

    • GCMap은 선택할 수 있는 지도 투영법이 많지 않음. 한 지도에 두 쌍 이상을 올리면 투영이 꽤 나빠짐. 그게 가장 큰 불만임
      Mollweide, Winkel Tripel, Robinson 같은 더 나은 투영법을 더 추가해야 함. 아니면 그냥 지구본을 제공하는 편이 나음