フライトレーダーのデータをエクセルに取り込んで活用
航空マニア御用達のアプリ「Flightradar24」
気になる飛行機をアラートで設定しているけど機体番号や飛行場など大雑把な設定しかできない。もっと細かい設定はできないか?
エクセルに任せい!
フライトレーダーのJSONデータを使ってフライトレーダーのカスタムアラートより柔軟で高度な空域監視できるエクセルマクロでつくってみた。必要なのはエクセルとメモ帳だけ。ADS-Bデータを受信するアンテナはいらん。今回は報告書というより俺のメモ。
一番重要な航空機データはフライトレーダーのWebサイトからゲット。質も量も最高なビッグデータだ。
処理自体は単純でテキストをエクセルに取りこんでデータを整形したらセルごとに区切れば航空機データが一目瞭然。あとは条件に合致したらお知らせしてくれるようにするだけだ。
エクセル管制用の建設方法
FR24サーバからJSONデータを取得するバッチファイルをメモ帳で作成。
取得したい経度緯度の範囲を設定して航空機データを取得してテキストファイルにする。timeout処理で適当な秒ごとにループさせてデータ更新させとく。
FR24からJSONデータの入手は参考サイトの情報を元に自分にあったURLを打ち込んでゲットしよう。(参考サイト:JSON - Flightradar24 から飛行中の航空機情報を取得!)
取得したJSONデータはこんな感じ。
エクセルに取り込んだらこんな感じで改行処理、区切り位置の処理をするとそれっぽいデータが見えてくる。背景をブラック、文字色をグリーンにするとレーダー画面っぽい雰囲気に。
1行ずつ条件とマッチングさせてお目当のデータがあれば通知。最終行まで比較したら処理をホールド。データが更新されたらまた比較を繰り返すだけ。
- このデータってなんなの?
飛んでる飛行機の今いる場所、方向、高さ、速さ、機種、機体番号、出発地と到着地などのデータ。日本のアチコチで飛行機から受信したデータをFR24サーバがまとめたのがこのビッグデータ。FR24は、このデータを見える化してるのだ。 - どんなことができるの?
1行が1機の航空機データになる。条件をつくってマッチしたデータをみつけたらメールやツイッターで通知するように設計すればFR24をずっと監視しなくてもいい - 条件マッチとは?
場所(lat/lng)、方向(trk)、高さ(alt)、速さ(spd)、機種(mdl)、機体番号(reg)、出発地(dep)、到着地(arr)などを組み合わせて条件を設定する。たとえば、
・「羽田発ドバイ行」 dep=HND & arr=DXB
・「大型機が飛んでたら」 mdl=A388 or B744 or B748 or A124 or IL76
・プーチン閣下の政府専用機 reg=RA-96018
って感じ。マクロで作ればアプリで設定できない柔軟な条件が設定できるようになる。
「緯度34.0~35.0/経度138.0-139.0で10,000ft以下を北方向に飛行しているB789」というマニアな条件設定もできる。
34 < lat <35 & 130 < lon < 139 & alt < 10000 & trk=360 & mdl=B789
- ご連絡の手段は?
お手紙と電話のアナログな連絡手段は未対応、
メッセージポップアップ、メール通知、ツイッター投稿の三大デジタル通知をサポート - 俺の条件
エクセルタワー!横田基地に着陸するっぽいヒコーキを通知してくれ!
FR24は横田飛行場のコード(OKO)が出てくれないこともあるので標準のアラートだと力不足。エクセル管制塔ならきめ細かい条件設定で空域監視が可能になる。
・目的地が横田基地 arr=OKO
・高度20000ft以下の行先不明機(アトラス、カリッタ、ウェスタン、オムニ、ATI)
arr="" & 3cd=(GTI or CKS or WGN or OAE or ATN) & alt < 20000
・横田基地の周辺空域で高度3,000ft以下の航空機。ただしノーベンバーは通知いらん。
**.** lat < **.** & ***.** < llng < ***.** & alt < 3000 not (reg ="N*") - エクセル管制塔のできないことは?
FR24で表示されない政府専用機、自衛隊機、米軍機などは通知できない。
逆を言えばADS-BデータさえあればFR24で検知できない航空機の接近もわかるようになるのだ。
作成するポイント
バッチファイル
- 緯度経度の範囲はほどほどで。広げすぎするとデータ量が大きくなって激遅
- JSONはローカルに保存しないと激遅。
- データ収集は、3分に1回程度。急いで速く回してもそんなにデータは変わんない。
エクセルマクロ
- データ収集のサイクルより遅くまわす。更新してないのに処理しても意味なし。
- マクロのコードは配列、変数で高速化
- いちど通知をした機体はメモして除外。通知ダブリを除外しないとメールがきまくる
エクセル管制塔のまとめ
エクセルのVBAでフライトレーダーよりも高機能なエクセル管制塔が建設できた。
特別塗装機、世界の政府専用機などのデータと比較すれば自前で飛来情報がわかる。さらに自分でアンテナ立ててADS-Bデータを受信すれば政府専用機や軍用機、自衛隊機の接近も識別できちゃう。
立ち上げとけば飛来状況を通知してくれるエクセル管制塔は工夫次第でいろんなことができそうだ。