5 つの軸、1 つのレコード型

空を飛ぶもの、海を行くもの、地上から発信するもの、軌道を回るもの、ネットワークから届くもの。 通信方式もデータ形式も異なる 5 種類の観測データを、AAE は 1 つの共通レコード型に正規化してから地図に載せる(すべての観測点はこの型を通る)。 だからどの軸のデータも、あらゆる中心・あらゆる図法に同じ規則で重ねられる。 現在は 5 軸。6 本目の軸を足すときも、地図を描画する側のコードには一切手を加えない。

15 軸

軸何の位置か届き方描くもの
航空機AviationADS-B による航空機の位置・高度・針路REST(定期的に取得)点・進行方向・コールサイン(呼出符号)
船舶MaritimeAIS による船舶の位置・針路・速度WebSocket(ストリーム受信)点・進行方向・船名
地上局TerrestrialAPRS による地上移動局・気象局などの発信位置TCP テキスト(ストリーム受信)点・局名
衛星Orbital軌道要素(OMM)から SGP4 で計算したその時刻の位置HTTPS(軌道要素を取得し、位置は手元で計算。要素があればオフラインでも動作)点・進行方向・衛星名・選択した衛星の軌道線
サイバーCyberファイアウォールが記録した通信の発信元 IP を GeoIP で経緯度に変換した位置UDP syslog(ストリーム受信)点・発信元の国と都市(ログの種別に応じた 4 色)
航空機・船舶・地上局は取得した観測データをファイルに保存でき、オフラインでも同じ経路で地図上に再現できる(時系列の再生ではなく、記録時点の最新位置を 1 枚の静止画として描画する)。
マドリード中心の正距方位図法に、航空機(橙の三角)・船舶(緑)・地上局(桃)の位置を重ねた図。凡例に ADS-B・AIS・APRS と路線の線種が並ぶ。
3 つの軸(航空機・船舶・地上局)の 2026 年 10 月 16 日のある時点の位置を、等距離円と航空路の上に重ねたもの。 軸ごとに点の色や記号が違うだけで、描画の経路はすべて同じである。 航空機: OpenSky Network / 船舶: aisstream.io / 地上局: APRS-IS / 海岸線: GSHHG
東京を中心にした正距方位図法に、準天頂衛星 6 機の 24 時間分の地上軌跡を重ねた図。3 機が日本から豪州にかけて 8 の字を描き、2 機は赤道上の点、1 機は南東の短い線になる。

軌道要素(OMM)から SGP4 で計算した 24 時間分の地上軌跡。衛星のその時刻の位置は他の軸と同じレコード型・同じ処理経路で平面へ投影され、軌跡の線は経緯線と同じベクタ線の経路で描画している。 軌道(慣性系)との対比は下の作例を参照。

軌道要素: CelesTrak(2026-10-17 01:08 UTC 時点)/ 海岸線: GSHHG

21 つのレコード型に正規化する

データを受け取る受信部は軸ごとに異なる。しかし受信部を出た瞬間から、どの軸のデータも同じ形になる。

受信部(軸ごと) レコード型(共通) 共通の処理 航空機 船舶 地上局 衛星 サイバー 次の軸 1 つのレコード型 種別(kind) 時刻 経度・緯度(+高度) 属性(名前・針路・速度 …) 球面回転で任意中心へ 20 図法へ順方向投影 属性の表・検索・絞り込み 記録と再生 色・大きさ・ラベル 右側の処理はどれも軸の違いを意識しない。軸を 1 本足しても右側の処理は増えない。

これは仕組みのページで述べた N + M の構図そのものである。 入力 N(軸=データ源)と出力 M(図法・画像・動画・外部連携)を直接つなげば N × M 本の実装が必要になるが、 間に共通のレコード型を挟むことで N + M 本の実装で済む。

レコード型は「中間表現」である

コンパイラが多様なプログラミング言語を 1 つの中間表現(IR)に変換してから各 CPU 向けの機械語を出力するように、 AAE は多様な観測データを 1 つのレコード型に変換してから各出力先へ送る。 言語が増えても CPU 側は変わらず、CPU が増えても言語側は変わらない——その関係をそのまま地理空間データに適用したものである。 レコード型自身は投影法も画面のピクセル座標も持たない。保持するのは「地球上のどこに、いつ、何があるか」という球面上の事実だけであり、 それをどの中心・どの図法で描くかは出力側がその都度決定する。

項目中身誰が決めるか
識別子観測対象を一意に追跡するための ID(機体・船舶・局・衛星・発信元 IP)受信部
位置経度・緯度(球面上の座標。投影後の平面座標は持たない)受信部
種別どの軸に属するか(航空機・船舶・地上局・衛星・サイバー)受信部
時刻観測時刻(データに無い場合は受信時刻)受信部
表示名コールサイン・船名・局名・衛星名など、地図上の点に添えるラベル受信部
向き・速さ進行方向と速度(該当しない軸では空欄)受信部
付随する属性軸固有の追加情報(高度・国名・ネットワーク名など。属性一覧表の列になる辞書データ)受信部
側N / M例
入力 N軸(観測源)ADS-B・AIS・APRS・OMM/SGP4・syslog+GeoIP。保存したファイルからの読み込みも同じ入口を通る
中間表現1 つの共通レコード型上の表の構造。この型を通るデータだけを「軸」と呼ぶ
出力 M描画・書き出し・他システム画面表示(任意の中心 × 20 図法)・静止画出力・動画生成・属性一覧表・(サイバー軸のみ)人が確認したうえでのファイアウォールへの遮断設定の書き戻し
中間表現が固定されているため、入力側を追加するときに出力側の実装を知る必要がなく、出力側を追加するときに入力側の実装を知る必要もない。 個人開発であっても、この明確な境界があることで「新しい軸の追加」と「新しい図法の追加」を完全に切り離して進められる。

3軸を足すには

6 本目の軸は、受信部を 1 本書き、データの生成と表示の定義に 1 行ずつ足せば地図上に点が出る。色・記号・表示切替を他の軸と揃える変更も 4 ファイル・十数行で完結する。投影・中心・図法・LOD のコードには一切触れない。

やること触る場所触らない場所
受信部を書くその軸のデータ取得処理(プロトコル解析・時刻と経緯度への変換・レコード型への格納)投影計算・中心制御・図法・LOD・レイヤー合成・座標の対応表(LUT)
種別を登録するデータの生成と表示の一覧に 1 行ずつ追加
見た目を揃える既定の色・記号・表示切替の定義(他の軸と同じ形式に)
属性の列を決める一覧表に出す列(名前・針路など)の定義。記録と再生に含める場合は読込処理の追加
軸が 1 本から 5 本に増える間、投影側のコードは軸のために一度も変わっていない。軸を増やすこと自体は設計上の決断であり、明確な用途が生じるまで増やさない。

4軸と層は別のもの

AAE において「軸(Axis)」と「層(Layer)」は明確に区別される。「軸」は観測データの種別であり、共通レコード型を通る不変の構造である。 一方、「層」は描画のチャネルであり、必要に応じていくつでも重ねられる。 海流や気流の格子データ、国土地理院タイル、OpenStreetMap の道路網、経緯線、都市名ラベルなどはすべて層であって軸ではない。両者の違いはデータの形状(点か面か)ではなく、刻々と流入し、古くなれば消えていく個別の観測イベントかどうかにある。

軸層
中身時刻つきの個別の観測点。一定時間が経過して古くなれば消える面・線・格子・ラスタ画像・固定の点(都市など)。静的な基図や場(フィールド)のデータ
数現在は 5 本(固定ではないが、増やすのは設計上の決断)任意(描画や検証のために一時的な層を自由に作れる)
例航空機・船舶・地上局・衛星・サイバーイベント海岸線・河川・地図タイル・海流・気流・経緯線・大圏航路・都市名
共通の処理経路共通のレコード型として処理される正距円筒図法のラスタ画像、または座標列(ベクタ)として処理される

5サイバー軸について

5 本目の軸だけ、観測の対象が物理的な移動体ではない。ファイアウォールが記録した通信ログの発信元 IP アドレスを GeoIP で経緯度に変換し、他の 4 軸と同じ点として地図に載せる。対象は違っても、レコード型は同じである。

段内容AAE の立場
observe観るログを受け取り、発信元 IP を地理座標に変換して地図上に配置する可視化する
assess評価する発信元の国・ネットワーク(AS)・通信頻度などの属性を一覧表にまとめる判断材料を並べる
control制御するファイアウォールでの通信遮断などの操作人が確認して指示したときだけ設定を書き戻す。自動遮断は行わない(遮断ルールは指定時間で自動解除される)
地図に置いた点は「どこから通信が届いたか」の可視化であって、遮断の判断そのものではない。詳しい仕組みは後日、別のページで扱う。

6作例

観測点のデータは背景の基図から独立して平面へ投影するため、世界全図でも東京中心でも同じ経路で重なる。

メルカトル図法の世界地図に航空機の位置が橙の点で重ねられている。欧州と北米東部に密集している。
ある時点における航空機の位置(6,645 機)をメルカトル図法の世界全図に重ねたもの。点の密度がそのまま世界の航空交通の分布を表している。 航空機の位置情報: OpenSky Network(2026-10-15 09:51 UTC の記録)/ 海岸線: GSHHG
東京を中心にした正距方位図法の衛星画像に、準天頂衛星 6 機の軌道面を地表に写した 6 本のリングを重ねた図。3 本は赤道に対して傾き、3 本は赤道にほぼ重なる。

基準時刻の軌道面を地表に写した線。地球の自転を止めた(慣性系の)視点では、各衛星の軌道は地球を 1 周する大円に見える。 準天頂軌道の 3 機は赤道に対して傾いた軌道面、静止軌道の 3 機は赤道面にほぼ重なる。

同じ図に、準天頂衛星 6 機の 24 時間分の地上軌跡を重ねた図。3 機が日本から豪州にかけて 8 の字を描き、2 機は赤道上の点、1 機は南東の短い線になる。

同じ軌道要素から、自転を含めて 24 時間分の衛星直下点を地表にたどった線。 準天頂軌道の 3 機は日本から豪州にかけてほぼ同じ 8 の字を時間をずらして描き、静止軌道の 2 機は赤道上の定点、QZS-7 は短い線になる。

左は地球の自転を止めた視点、右は自転を含めた 24 時間。同じ軌道要素・同じ計算で、違いは自転を止めるか含めるかだけである。 上の 5 軸の節の白地図と同じ計算結果が、衛星画像の上にそのまま乗る。 軌道要素: CelesTrak(2026-10-22 04:48 UTC 時点)/ 衛星画像: NASA Blue Marble
77 秒。東京を中心にした正距方位図法に、準天頂衛星 6 機の地上軌跡を基準時刻から 24 時間ぶん伸ばしていく(1 秒 = 24 分)。 準天頂軌道の 3 機は日本から豪州にかけて同じ 8 の字を約 8 時間ずつずらしてなぞり、静止軌道の 2 機は赤道上の定点、QZS-7 は短い線になる。24 時間で各機は出発点に戻り、8 の字が閉じる。解説は字幕(日本語 / English)を参照。 軌道要素: CelesTrak(2026-10-22 04:48 UTC 時点)/ 衛星画像: NASA Blue Marble