オープンソースデータでブラウザをインテリジェンスコマンドセンターに変える方法
スパイ映画では、大型の画面に3Dグローブが表示され、オペレーターが航空機をリアルタイムで追跡し、街の監視カメラに切り替え、衛星を指し示すシーンがよく登場します。 обычно это выглядит как дорогая голливудская графика. しかし、実際には、これらの信号はほとんどがオープンで、暗号化されていない形式で今すぐ送信されています。

開発者のBilawal Sidhuが作成したGod's Eye Viewプロジェクトは、フォトリアリスティックな3Dグローブをベースに、複数のオープンソースデータを単一のブラウザウィンドウに統合しています。著者は人気のYouTube動画シリーズを展開し、何百万もの再生数を獲得し、すべてのソースコードをMITライセンスで公開しました。
このプロジェクトできること
通常、空間情報(OSINT/GEOINT)を収集するには、複数のタブを開く必要があります:航空機追跡にはFlightradar24、船にはMarineTraffic、衛星カタログにはCelesTrak、道路カメラサイトなど。在这里,所有的图层都整合在一个地方。

ライブで探索できる興味深い機能の一部を以下に示します:
- コックピットビュー。空中の任意の航空機を選択し、ボタンを押すと、その航空機と一緒に飛行できます。カメラは下方の地形をフレームに保ちながら、天気の概要と近くの連絡先が一緒に表示されます。

- 3Dシーンへの道路カメラ投影。オースティン、ロンドン、カルフォルニアの約800台のパブリックカメラは、別々のプレイヤーで開くだけでなく、交差点の形状に、可視性円錐と一緒に投影されます。

- 衛星軌道と宇宙ミッション。グローブは国際宇宙ステーションを含む数百の衛星の位置を計算し、軌道を绘制し、最近のロケット打ち上げをリプレイします。

-
センサーシェダーフィルター。ホットキーで画像を暗視(NVG)、熱画像(FLIR)、またはCRTモニターモードに切り替えできます。
-
ニューラルネットワークによる音声コントロール。OpenAIキーを接続すると、アプリケーションを音声で制御できます。エージェントは座標、現在のカメラパースペクティブを理解し、オブジェクト間の距離を測定でき、地図の上に区域境界を描画することもできます。

内部構造
ReactやVueなどの重いフロントエンドフレームワークは使用されていません。スタックは驚くほどシンプルです:バニラJavaScript、Viteビルドツール、CesiumJS地理空間エンジン。3D惑星自体はGoogle Photorealistic 3D Tilesを使用してレンダリングされます。
アーキテクチャは、生の地理空間データの可視化の問題に対する著者の解決策として興味深いものです:
- 更新頻度が低い場合のスムーズさ。ほとんどの無料APIは航空機の位置を15〜30秒ごとに配信します。クライアントは意図的に1ポーリング間隔の遅延で動きをレンダリングし、補間点でポイントを補い、デッドレコニングでギャップを埋めます。
- 高さの固定。オブジェクトは空中に浮いたり地下に沈み込んだりしません。トランスポンダーの高さはジオイド相对于再計算され、現在の多角形地形メッシュと照合されます。
- 軌道計算。衛星の座標はグリニッジ恒星時同期を使用してSGP4アルゴリズムでローカルに計算されるため、パースペクティブを変更しても軌道リングがジッターしません。
- 主要なセキュリティとレート制限。有料API(OpenAI、AISStream、TomTom)へのすべてのリクエストはバックエンドでプロキシされ、キャッシュとリクエスト消費に関する厳格なレート制限が設定されています。
src/
├── main.js # Инициализация CesiumJS и слоев
├── ui.js # Панели управления, HUD, стили
├── hud.js # Интерфейс телеметрии
├── mapStackController.js # Переключение подложек (Google 3D / Bing / OSM)
├── iconOrientation.js # Проекция курсовых углов техники на экран
├── voice/ # Интеграция с OpenAI Realtime API
└── data/ # Модули загрузки данных по каждому слою
" alt="Architecture diagram">
データソースと起動コスト
ほとんどのレイヤーは登録やキーを必要としません:OpenSkyとadsb.lolによる航空、USGSによる地震、CelesTrakによる衛星、Radio Browserによるラジオ局、データセンターと海底ケーブルデータベース。
3D地形を実行するには、Map Tiles APIが有効になったGoogle Maps APIキーが必要です。Googleは月1000回の無料セッションを提供しています。各セッションは最大3時間のアクティブ視聴持續し、個人での実験には十分です。音声アシスタントには動作するOpenAIトークンが必要です。

クイックスタート
Node.jsバージョン24または26が必要です。
リポジトリをクローンし、環境変数を設定します:
git clone https://github.com/bilawalsidhu/gods-eye-view.git
cd gods-eye-view
cp .env.example .env
" alt="Clone and configure">
ファイル.envを開き、GOOGLE_MAPS_API_KEYを挿入して、プロジェクトを実行します:
npm install
npm run dev -- --host localhost --port 4173
" alt="Run project">
その後、インターフェースはhttp://localhost:4173でアクセスできます。デフォルトでは、サーバーはマシンのローカルアドレスでのみリッスンするため、APIキーがローカルネットワークに漏れることはありません。
誰が役立つのか
まず第一に、これはWebGL、3Dタイル、CesiumJSライブラリ、地理空間ストリーム処理を理解したいWeb開発者にとって優れたチュートリアルです。コードは不必要な抽象化なしで書かれており、各レイヤーのロジックはsrc/data/フォルダーに分離されており、音声エージェントの実装はマルチモーダルLLMを3Dシーンに接続する方法を明確に示しています。
独自の監視システム、ドローンダッシュボードを構築している場合、またはオープンソースインテリジェンス分析に興味がある場合は、このプロジェクトが独自のレイヤーと可視化のための堅実なフレームワークとして機能します。
関連プロジェクト