麦卡托投影地图上的 3D 飞机追踪器
3D Airplane tracker on Mercator map

原始链接: https://github.com/jamalrfordii-arch/Vanguard-Map

Vanguard Map 是一款高性能的实时 3D 可视化工具,基于 Three.js 和原生 ES 模块构建,无需任何框架或构建步骤。它通过渲染 150 万个点的地形云,用于追踪全球船舶交通 (AIS)、飞机、卫星及海洋基础设施。 该平台具有交互式影院级界面,支持海洋模拟及昼夜循环。用户可通过提供 aisstream.io 的 API 密钥来切换实时数据,并可选用 Cesium Token 以获取高分辨率地形。其架构采用模拟时钟和一个通过 DOM 事件进行通信的模块化“管理器”系统,确保了代码的简洁与解耦性能。 主要功能包括: * **时间控制:** 可跳转至任意日期/时间或调整模拟速率。 * **场景模拟:** 支持编写合成交通数据,或记录与回放实时 AIS 数据。 * **物理强制约束:** 内置不变性门控,可检测欺骗行为或遥测错误。 * **可访问性:** 开源且基于浏览器,仅需简单的本地服务器即可运行。 Vanguard Map 已针对 Chrome 进行优化,鼓励社区贡献,并欢迎用户通过 GitHub 提交性能基准测试报告或功能建议。如需开始使用,请克隆仓库并启动本地服务器。

Hacker News 最新 | 过往 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 在墨卡托投影地图上追踪3D飞机 (github.com/jamalrfordii-arch) 4 分,由 Lawyer24 发布于 2 小时前 | 隐藏 | 过往 | 收藏 | 讨论 | 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

A real-time 3D map of the world's moving things: live ship traffic (AIS), aircraft, satellites, submarine cables, ports, chokepoints, and space weather — rendered as a 1.5M-point terrain cloud with day/night, ocean simulation, and cinematic camera work. Built with Three.js and plain ES modules. No build step, no framework.

Live demo — no signup needed: click VIEW DEMO on the opening screen for synthetic traffic, or paste a free aisstream.io key for live global ship data.

demo

git clone https://github.com/jamalrfordii-arch/Vanguard-Map.git
cd Vanguard-Map
npx serve .        # or: python -m http.server 3000

Open http://localhost:3000 in a Chromium browser with hardware acceleration.

Live ship data (free): the app prompts for an aisstream.io API key on first load — free signup, the key stays in your browser's localStorage.

High-res terrain tiles (optional): get a free token at cesium.com/ion → Access Tokens, then in DevTools: localStorage.setItem('vg1_cesium_token', 'YOUR_TOKEN'). Without it the map uses the point-cloud terrain at all zoom levels.

Flights & AI copilot (optional): require the local proxy — node flight-proxy.js in a second terminal. Without it those layers stay quiet; everything else works.

The map runs on a simulated clock and pluggable data sources — DevTools console:

simClock.setTime('2026-05-10T12:00:00Z')   // scrub the world to any moment
simClock.setRate(60)                        // 1 real second = 1 sim minute
vg1Scenario.load('./scenarios/hormuz-demo.json')  // inject scripted synthetic vessels
vg1Scenario.record(); vg1Scenario.save()    // capture live AIS to NDJSON
vg1Scenario.replay('./captures/x.ndjson')   // replay a capture
vg1Invariants.stats()                       // physics-violation ledger (spoof/teleport detection)

Synthetic vessels use reserved 999… MMSIs and are scripted in scenarios/*.json.

node tests/invariants.test.mjs

One manager per domain (aisManager, flightManager, satelliteManager, …), communicating only via vg1:* DOM events — no cross-imports. All position reports pass a physics invariant gate (invariants.js) before they can move an entity. See CLAUDE.md for the full module map and contribution rules.

Open a GitHub Issue — bug reports, feature ideas, and "this ran at N fps on my machine" reports are all useful.

联系我们 contact @ memedata.com