把 3.5 万颗卫星,装进浏览器里的一颗地球
地球卫星全息镜像 · ORBITAL MIRROR 直达:https://orbital.sakaay.com
抬头看天,一颗星星划过;低头看屏幕,你可能是在看另一颗。 ORBITAL MIRROR 把这件事搬到了浏览器:不做示意图,不做静态图, 而是把全球 35,466 个在轨目标放进一颗可以随手旋转的全息地球里, 每一颗的位置都在动,每一次点击都会告诉你它是谁。

它展示的是什么
数据来自 Space-Track 的全量 GP(3LE)星历与 CelesTrak 的 SATCAT 卫星目录,前端用 SGP4/SDP4 在本地做轨道递推:
| 维度 | 规模 |
|---|---|
| 在轨目标 | 35,466(载荷 19,661 / 碎片 12,329 / 残骸 2,267) |
| 默认显示 | 20,870 个有效载荷,碎片默认隐藏 |
| 国家 / 组织 | 107 个 |
| 空间站与飞船 | 18 个(ISS 舱段、天和、问天、梦天、神舟、天舟……) |
| 空间望远镜 | 20 台(哈勃、钱德拉、韦伯、慧眼、悟空、夸父……) |
卫星是"谁在飞",因此每颗目标都带着归属方(SpaceX、中国星网、 上海垣信、CASC、NOAA、ESA……)、任务类型(通信 / 导航 / 对地观测 / 军事侦察 / 气象 / 观测 / 科学 / 空间站 / 试验 / 碎片)与轨道类型 (LEO / MEO / GEO / HEO)。
一颗会呼吸的地球
它不是一个转起来的贴图球。晨昏线按当前时刻实时求解太阳直射点, 夜面压暗、昼夜分界线泛着琥珀色;地球自转轴按 23.44° 倾角 给出南北极,底栏实时显示"☀ 直射 xx.x°N/S",春分秋分约 0°、 夏至 +23.44°、冬至 −23.43°。把时间轴拉到 ×600, 你就能看着夜半球一寸寸扫过大陆。

0° 本初子午线用金色高亮、180° 用淡蓝、赤道用青色, 配合 15° 经纬网,找位置这件事终于不再靠猜。
望远镜会变成地上的金色星标
20 台空间望远镜与天文卫星在地球上被标成 金色星标, 点星标就能直接打开详情;每台望远镜的详情里还附有 1–6 张 NASA 公共领域观测成果图,带中文标题、中文简介与出处机构, 点开大图可左右翻看,也能跳回 NASA 原站。

输入"哈勃""钱德拉""悟空""慧眼"这类中文别名也能搜到—— 搜索框把大众叫法和官方编号做了映射,回车即相机飞过去。
"今晚看什么",是真的能看
把观测地点设成你所在的城市(浏览器定位 / 12 个城市预设 / 手动经纬度 / 直接 Alt + 点击地球表面),右栏就能拿到两份清单:
- 当前可见:仰角 > 10° 且被太阳照亮的目标, 给出方位、斜距、估算星等与肉眼 / 双筒 / 望远镜的可见等级;
- 未来 6 小时过境:倒计时、最高仰角、方位、时长与推荐理由。

计算全部在本机完成:ECI 经 GMST 转 ECEF,再做站心 ENU 投影; "能不能看见"还要判断卫星是否被地球影子挡住——黑夜里的地影 目标其实看不见。星等是按 RCS 面积模型估算的参考值, 不是测光结果,这点站内也写清楚了。
玩起来的手感
- 筛选联动:选一个轨道(如 GEO),任务类型 / 国家 / 对象类型的 计数会一起变成该轨道下的真实数字,选国家亦然;
- 时间机器:实时 / 暂停 / ×1 ~ ×3600 加速,还能拖时间轴前后 回看 24 小时;
- 全局搜索:
/唤出,输名称、编号、公司、国家都能命中; - 跟随镜头:选中后按
F,相机贴着目标走; - 配色切换:按
C在国家 / 任务 / 轨道 / 对象类型之间切换; - 截图分享:一键导出 PNG,URL 参数可复现观测点、筛选、 时间与选中目标。
| 按键 | 作用 |
|---|---|
C | 切换配色 |
/ | 全局搜索 |
空格 | 暂停 / 继续时间 |
F | 跟随 / 取消跟随 |
R | 重置视角 |
Esc | 取消选中 |
背后的技术取向
- 零依赖、零构建:原生 ES Module + importmap, three.js 与 satellite.js 全部本地化,离线也能跑;
- 后台递推:万级 TLE 解析后由 Web Worker 每 200ms 批量推算, 主线程只负责渲染;深空目标单次成本更高,改成按帧预算轮转刷新, 保证帧率的同时 GEO 环始终位置正确;
- 自适应画质:FPS 掉下来自动降采样、关泛光,恢复后再升档;
- 自托管:零依赖 Node 服务,既能
node server.mjs本机跑, 也能局域网内用手机打开。
隐私与数据口径
页面不使用 Cookie、不引第三方脚本、不做统计与指纹,
只把观测点、设置等偏好存在浏览器 localStorage;
浏览器定位只在你点击时申请,坐标不出本机。
TLE/SATCAT 遵循 Space-Track 与 CelesTrak 的使用条款,
望远镜图像来自 NASA 公共领域并逐图标注出处。
需要说明的是,"所属公司"与"任务类型"是按名称、运营方、
轨道与发射年份推断的结果(约 85% 高置信),
无法归类的目标被如实放进"其他 / 未分类",而不是硬凑一个答案。
想自己跑一份
1node server.mjs --host 0.0.0.0 --port 5180
同一 Wi-Fi 下,手机访问启动日志里打印的局域网地址即可;
只想本机使用就 node server.mjs --port 5180。
打开 https://orbital.sakaay.com , 从一颗卫星开始,认识整个近地轨道。
