Flightradar24やFlightAwareで飛行機を追跡するのが好きな方は結構いると思いますが、あれらは基本的に2Dマップ上での表示ですよね。最近、ADS-B(Automatic Dependent Surveillance–Broadcast)のデータを使って、航空機の動きを3Dでリアルタイム可視化するオープンソースプロジェクトが注目を集めています。
ADS-Bとは何か
ADS-Bは、航空機が自分の位置情報(GPSベース)を周囲にブロードキャストする仕組みです。1090MHz帯の電波で送信されるため、適切な受信機があれば誰でもこのデータを受信できます。
送信されるデータには、緯度・経度に加えて高度、速度、機体識別情報などが含まれています。つまり、3D表示に必要な情報は最初から揃っているわけです。従来の2D表示は、むしろ情報を捨てていたとも言えますね。
adsb-3dプロジェクトの概要
GitHub上で公開されている「adsb-3d」は、ADS-Bデータをブラウザ上で3Dリアルタイム表示するツールです。7種類のビジュアルテーマが用意されており、WebGLベースのインタラクティブな操作が可能になっています。
対応するADS-B受信ソフトウェアは、tar1090、readsb、dump1090、ultrafeederなど主要なものをカバーしています。/data/aircraft.jsonエンドポイントを公開しているフィードであれば接続できるため、自分のローカル受信機はもちろん、外部のフィードにも対応可能です。
必要な機材と始め方
3Dフライトトラッキングを始めるには、まずADS-B受信環境が必要です。最も手軽なのは、Raspberry PiとRTL-SDRドングル(1,000〜3,000円程度)の組み合わせですね。
セットアップの流れとしては、以下のようになります。
- Raspberry PiにPiAwareやreadsb等をインストール
- RTL-SDRドングルとアンテナを接続して1090MHzを受信
- adsb-3dをクローンしてWebサーバーを起動
- 受信機のエンドポイントを設定して接続
窓際にアンテナを置くだけで、半径200〜300km圏内の航空機を受信できることが多いです。空港の近くにお住まいなら、離着陸のパターンが3Dで見えてかなり面白いと思います。
2D vs 3D:何が変わるのか
2Dマップでは、同じ地点の上空を飛んでいる複数の航空機が重なって表示されてしまいます。3D表示にすると、高度差が一目瞭然になり、上昇・降下の軌道や管制空域の構造が直感的に理解できるようになります。
航空管制の勉強をしている方や、航空宇宙テクノロジーに興味がある方にとっては、非常に有用な可視化ツールだと感じました。
プライバシーとセキュリティの観点
ADS-Bデータは暗号化されておらず、誰でも受信できる公開情報です。ただし、一部の軍用機や政府機は意図的にADS-Bをオフにしたり、偽の位置情報を送信する場合があります。
プライバシーの観点からは、個人所有の小型機の動きが追跡可能になることへの懸念もあります。ADS-B Exchangeのようなプラットフォームでは、機体オーナーからのブロックリクエストに対応する仕組みを設けていますね。
まとめ
ADS-B 3Dフライトトラッキングは、既に公開されている航空データを立体的に可視化する面白いプロジェクトです。Raspberry Piと安価なSDRドングルがあれば始められるので、電子工作や航空に興味がある方は試してみてはいかがでしょうか。adsb-3dのソースコードはGitHubで公開されています。