墨卡托地图上的3D飞机追踪器
速览
该资讯介绍了一种在墨卡托地图上显示三维飞机位置的追踪器。它可能利用地理信息与航空数据,将飞机以3D模型形式叠加到平面地图上。这一技术可用于航空监控或可视化展示,提升位置感知的直观性。
AI 深度解读
背景
实时追踪全球移动物体(船舶、飞机、卫星等)的数据可视化工具并不少见,但大多数方案要么依赖商业平台,要么需要复杂的构建流程。今天介绍的 Vanguard Map 是一个完全开源、纯前端实现的 3D 实时地图,在墨卡托投影上以 150 万个点构成的点云地形为底图,叠加了船舶(AIS)、飞机、卫星、海底电缆、港口、咽喉要道以及空间天气等多层实时数据。项目使用 Three.js 和纯 ES 模块编写,无需构建步骤、无需框架,仅需一个静态服务器即可运行。
核心内容
Vanguard Map 是一个基于浏览器的 3D 交互式地图,主要面向实时观测全球移动物体。其核心特性包括:
- 实时船舶交通(AIS):首次加载时会提示输入 aisstream.io 的免费 API 密钥,密钥存储在浏览器本地存储(localStorage)中,无需登录即可开始接收全球实时船舶数据。
- 飞机追踪:需要启动本地代理
node flight-proxy.js才能启用飞机图层和 AI 副驾驶功能,否则该图层保持静默。 - 卫星追踪、海底电缆、港口及咽喉要道、空间天气等图层均为内置,无需额外配置。
- 地形渲染:默认使用 150 万个点构成的点云地形,支持日夜循环、海洋模拟及电影级镜头控制。可选高分辨率地形瓦片,需在 Cesium Ion 获取免费令牌,并通过 DevTools 设置
localStorage.setItem('vg1_cesium_token', 'YOUR_TOKEN')。 - 无需构建:项目基于 Three.js 和纯 ES Modules(
import/export),无 webpack、vite 等构建步骤,无框架依赖。 - 模拟时钟与可插拔数据源:地图运行在模拟时钟上,可通过 DevTools 控制台直接调整时间:
simClock.setTime('2026-05-10T12:00:00Z')跳转到任意时刻;simClock.setRate(60)让模拟时间加速(1 秒等于 1 模拟分钟)。 - 脚本化场景与回放:支持加载预设合成船舶场景(如
./scenarios/hormuz-demo.json),也可录制实时 AIS 数据为 NDJSON 格式,并回放捕获文件。 - 物理不变性检查:所有位置报告在更新实体前都会经过
invariants.js物理不变性检查模块,用于检测位置欺骗或瞬移,可通过vg1Invariants.stats()查看违规记录。 - 模块化管理:每个领域(船舶、飞机、卫星等)有独立的 Manager(如
aisManager、flightManager、satelliteManager),它们之间仅通过vg1:*自定义 DOM 事件通信,无跨模块直接导入。
运行方式非常简单:
git clone https://github.com/jamalrfordii-arch/Vanguard-Map.git
cd Vanguard-Map
npx serve . # 或 python -m http.server 3000
然后在支持硬件加速的 Chromium 浏览器中打开 http://localhost:3000 即可。首次加载时会提示输入 API 密钥(可选),不输入也可查看演示数据。
项目还提供了测试脚本 node tests/invariants.test.mjs 用于验证物理不变性逻辑。详细贡献规则和模块地图参见 CLAUDE.md。
关键要点
- 纯前端、零构建:使用原生 ES Modules 和 Three.js,无需任何构建工具或框架,只需一个静态文件服务器即可运行。
- 实时数据多层叠加:整合船舶(AIS)、飞机、卫星、海底电缆、港口、咽喉要道、空间天气等多层数据,可自由开关。
- 模拟时钟系统:支持时间跳转和加速,可回放历史时段或模拟未来场景,适合教学和研究。
- 可插拔数据源与录制回放:脚本化场景与实况录制/回放机制,支持自定义合成数据(使用 999… 系列虚拟 MMSI 标识)。
- 物理不变性检查:内置位置欺骗和瞬移检测模块,所有实体移动前需通过验证,保障数据真实性。
- 模块化事件驱动架构:各领域 Manager 通过 DOM 自定义事件通信,无循环依赖,易于扩展和维护。
- 可选增强功能:高分辨率地形需要 Cesium Ion 令牌;飞机与 AI 副驾驶需要本地 Node.js 代理。
- 开源自由:完整源代码托管在 GitHub,欢迎提交问题报告、功能建议以及在不同机器上的性能反馈(N fps)。
意义与影响
Vanguard Map 展示了一种轻量级、高可定制性的实时数据可视化思路。它不依赖大型框架或云服务,通过纯前端技术即可构建出媲美专业气象/海事平台的 3D 地图,降低了类似项目的参与门槛。其模块化事件架构和物理不变性检查为数据完整性提供了保障,尤其适合需要验证数据源真实性(如对抗 AIS 欺骗)的科研或安全场景。模拟时钟与录制回放功能让研究者可以回溯历史事件或测试假设场景,而无需依赖实时数据流。对于开源社区而言,该项目提供了一个干净、可复用的实时世界地图模板,鼓励更多人尝试基于 Web 的实时地理可视化应用。
