如何利用开放数据将浏览器变成情报指挥中心
间谍电影中经常出现巨大的屏幕,上面有一个 3D 地球仪,操作员可以实时追踪飞机、切换到街道监控摄像头、指向卫星。这通常看起来像是昂贵的 Hollywood 特效。但实际上,几乎所有这些信号都是开放的,并且正在以未加密的形式传输。

God's Eye View 项目由开发者 Bilawal Sidhu 创建,基于逼真的 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 秒提供一次飞机位置。客户端故意用一个轮询间隔的延迟来渲染移动,并对点进行插值,用航位推算填充间隙。
- 高度锚定。物体不会漂浮在空中或沉入地下。应答器高度相对于大地水准面重新计算,并与当前多边形地形网格匹配。
- 轨道计算。卫星坐标使用 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/ # Модули загрузки данных по каждому слою
数据源和运行成本
大多数图层无需注册和密钥即可使用:航空数据通过 OpenSky 和 adsb.lol,地震数据通过 USGS,卫星数据通过 CelesTrak,广播电台通过 Radio Browser,以及数据中心和海底电缆数据库。
要运行 3D 地形本身,你需要一张启用了 Map Tiles API 的 Google Maps API 密钥。Google 每月提供 1000 个免费会话。每个会话可持续长达三小时的活动观看时间,这对于个人实验来说绰绰有余。语音助手需要一个有效的 OpenAI 令牌。

快速开始
需要 Node.js 24 或 26 版本。
克隆仓库并配置环境变量:
git clone https://github.com/bilawalsidhu/gods-eye-view.git
cd gods-eye-view
cp .env.example .env
打开文件 .env,插入 GOOGLE_MAPS_API_KEY,然后运行项目:
npm install
npm run dev -- --host localhost --port 4173
之后,界面可在 http://localhost:4173 访问。默认情况下,服务器仅监听本机的本地地址,因此你的 API 密钥不会泄露到本地网络。
谁会发现这很有用
首先,对于想要了解 WebGL、3D tiles、CesiumJS 库和地理空间流处理的 Web 开发者来说,这是一个极好的教程。代码编写没有不必要的抽象,每个图层的逻辑都隔离在 src/data/ 文件夹中,语音智能体的实现清楚地展示了如何将多模态 LLM 与 3D 场景连接起来。
如果你正在构建自己的监控系统、无人机仪表盘,或者对开源情报分析感兴趣,这个项目将为你自己的图层和可视化提供一个坚实的框架。
相关项目