ANAの国内線Wi-Fiでフライト情報を取得する
先日ANA国内線のWi-Fiを利用しようとしたら、認証はなかなか通らなかったのですが、フライト情報が取得できるREST APIを見つけたので紹介します。
機内Wi-Fiに接続した状態(メールアドレスの登録前でも取得可能なようです)で下記URLにGETリクエストを送ると、下記のようなJSONが返ってきます。 URL: http://services.inflightpanasonic.aero/inflight/services/flightdata/v1/flightdata
このAPIを見つけた契機ですが、Captive Portal方式の認証ページがうまく表示されず、ブラウザの開発者ツールを使って原因を探っていたらJavaScriptからこのAPIへ定期的にリクエストを送っていたので見つけました。
{ "td_id_decompression":"0", "td_id_weight_on_wheels":"0", "td_id_all_doors_closed":"1", "td_id_x2_pa_state":"0", "td_id_fltdata_ground_speed":"0478", "td_id_fltdata_time_to_destination":"0072", "td_id_fltdata_wind_speed":"0019", "td_id_fltdata_mach":"", "td_id_fltdata_true_heading":"0049", "td_id_fltdata_gmt":"0901", "td_id_fltdata_outside_air_temp":"8028", "td_id_fltdata_head_wind_speed":"0019", "td_id_fltdata_date":"00260618", "td_id_fltdata_distance_to_destination":"00000548", "td_id_fltdata_altitude":"00029001", "td_id_fltdata_present_position_latitude":"00029539", "td_id_fltdata_present_position_longitude":"00132254", "td_id_fltdata_destination_latitude":"00035330", "td_id_fltdata_destination_longitude":"00139455", "td_id_fltdata_destination_id":"RJTT", "td_id_fltdata_departure_id":"ROAH", "td_id_fltdata_flight_number":"ANA472 ", "td_id_fltdata_destination_baggage_id":"HND", "td_id_fltdata_departure_baggage_id":"OKA", "td_id_airframe_tail_number":"ja753a", "td_id_flight_phase":"", "td_id_gmt_offset_departure":"00009.00", "td_id_gmt_offset_destination":"00009.00", "td_id_route_id":"1", "td_id_fltdata_time_at_origin":"1801", "td_id_fltdata_time_at_destination":"1801", "td_id_fltdata_distance_from_origin":"337.16", "td_id_fltdata_estimated_arrival_time":"1913", "td_id_fltdata_time_at_takeoff":"002606180813", "td_id_fltdata_departure_latitude":"00026114", "td_id_fltdata_departure_longitude":"00127384", "td_id_pdi_fltdata_departure_iata":"", "td_id_pdi_fltdata_departure_time_scheduled":"", "td_id_pdi_fltdata_arrival_iata":"", "td_id_fltdata_wind_direction":"0039", "td_id_media_date":"20180601", "td_id_extv_channel_listing_version":"1302" }
項目の意味を推測してみました。地図画像を別途用意すれば自機の位置を表示するFlightradar24のようなページが作れそうですね。
項目名(td_id_は略) | 実際の値 | 意味 |
---|---|---|
airframe_tail_number | ja753a | 機体番号、いわゆるレジ番 |
all_doors_closed | 1 | 全ドアが閉じている(地上でもSSIDは取れるので、そのときは0になるのでしょうか) |
decompression | 0 | |
extv_channel_listing_version | 1302 | 衛星放送のチャンネルのバージョン? |
flight_phase | ||
fltdata_altitude | 00029001 | |
fltdata_date | 00260618 | フライトデータの日付, DDMMYY形式 |
fltdata_departure_baggage_id | OKA | 出発地のIATA空港コード |
fltdata_departure_id | ROAH | 出発地のICAO空港コード |
fltdata_departure_latitude | 00026114 | 出発地の緯度 |
fltdata_departure_longitude | 00127384 | 出発地の経度 |
fltdata_destination_baggage_id | HND | 到着地のIATA空港コード |
fltdata_destination_id | RJTT | 到着地のICAO空港コード |
fltdata_destination_latitude | 00035330 | 到着地の緯度 |
fltdata_destination_longitude | 00139455 | 到着地の経度 |
fltdata_distance_from_origin | 337.16 | 出発地からの距離 |
fltdata_distance_to_destination | 00000548 | 目的地への距離(マイル単位) |
fltdata_estimated_arrival_time | 1913 | 推定到着時刻(HHMM形式) |
fltdata_flight_number | ANA472 | フライト番号 |
fltdata_gmt | 0901 | フライトデータの時刻(GMT), HHMM形式 |
fltdata_ground_speed | 0478 | 対地速度(ノット単位) |
fltdata_head_wind_speed | 0019 | 対気速度 |
fltdata_mach | ||
fltdata_outside_air_temp | 8028 | 外気温(単位?) |
fltdata_present_position_latitude | 00029539 | 現在の緯度 |
fltdata_present_position_longitude | 00132254 | 現在の経度 |
fltdata_time_at_destination | 1801 | 現在時刻(到着地のタイムゾーン) |
fltdata_time_at_origin | 1801 | 現在時刻(出発地のタイムゾーン) |
fltdata_time_at_takeoff | 002606180813 | 離陸時刻(00DDMMYYHHMM形式, UTC) |
fltdata_time_to_destination | 0072 | 到着までの時間(分単位) |
fltdata_true_heading | 0049 | |
fltdata_wind_direction | 0039 | 風向 |
fltdata_wind_speed | 0019 | 風速 |
gmt_offset_departure | 00009.00 | 出発地の時差(UTC+ 000HH.MM) |
gmt_offset_destination | 00009.00 | 到着地の時差(UTC+ 000HH.MM) |
media_date | 20180601 | 動画コンテンツ等の更新日? |
pdi_fltdata_arrival_iata | ||
pdi_fltdata_departure_iata | ||
pdi_fltdata_departure_time_scheduled | ||
route_id | 1 | |
weight_on_wheels | 0 | |
x2_pa_state | 0 | 機内アナウンス実施中フラグ?アナウンス実施中はコンテンツの再生が止まるので、それに利用されている? |