--:--00
载入中…
最晚出门时间
--:--

行程

第一程

第二程

时间去哪了

此时段拥挤度 · 第一程

实际感受

今日提示

现在出发,预计到家
--:--

行程

第一程

第二程

末班车

行程进度

此时段拥挤度 · 第一程

--:--
下一班
--:--
下下班
--:--
--:--
点任意一列车 → 进入它的车内屏
--:--
下一站

全线站点与到站时刻(车内屏用)

只需要抄一班车的全程。程序存的是站间运行时分(第一站到各站差几分钟),不是那一班的绝对时刻——所以任何一班车都能套用,车内屏会按当前实际发车时刻推算位置。

站名可以只写一部分,能对上就行。时刻认 22:012201 这些写法。

小交路终点:在站名后加 *(如 黄田* 22:47)标出来,标了 * 的班次就开到这一站为止。

录入到站时刻表

照高德的「到站时刻表」抄。线路详情页 → 选方向 → 展开某个小时,把那一列时刻输进来。

只输分钟就行——选好上面的时段后,输 03 08 14 19 会自动补成 16:03、16:08…。也认 16:03到站16:031603 这些写法,可以直接连着一串粘进来。

时刻表是精确值,一旦录入,该时段就不再用间隔推算——高德那张表里间隔是 5、6、5、5…并不均匀,任何推算都还原不了。

大小交路:在时刻后加一个 *(如 22:39*39*)表示这班走小交路。小交路的终点在「全线站点」里用站名后加 * 指定(如 黄田* 22:xx)。车内屏会按本班实际交路显示「开往 XX」。

覆盖情况

该时段已存

照着高德抄两个数

分钟
分钟
填上面两个数
这是高德站点详情上直接写着的两个数。第二个减第一个就是行车间隔——这是唯一能直接教会程序间隔的输入。只填第一个也行,那样只学相位。

同一时段攒够 3 次就够了,之后这个时段再也不用录。

补充细节(可选)

补录过去某个时刻、或只想记拥挤度时用这里。两格都可留空,只填拥挤度也算一次有效观测。

两条线要分开录。选错「哪一程」会把两条线的数据混在一起。

拥挤度

分车厢 · 点格子切换 1–5 级,再点一次清空

数据覆盖度 · 全天 24 小时 × 4 程

格子越绿说明该时段数据越硬。空白=还在用设置里填的估计值。不用追求填满——你只会在少数几个时段坐车,把那几列填绿就够了。

学到了什么

最近录入

路线查询

常用地点

站点与步行

换乘步行时间要填准。它直接决定你赶不赶得上第二程——填少了程序会给你一个实际接不上的方案。大站换乘 4–8 分钟,同站台换乘 1–2 分钟。

运行图校准

能学相位,学不了间隔。被动观测下间隔在数学上不可辨识——所以间隔靠你在「录入」页手填。相位按环形统计估计,同一时段累计 3 次且一致性 ≥ 0.75 才生效。

跨设备同步

未开启同步
面板的拖拽上传不会部署 functions/——这是 Cloudflare 的已知限制。要用同步、站点获取、路线查询这三个接口,必须在本文件夹里执行一次 npx wrangler pages deploy .

另外需要建一个 D1 数据库并绑定为 DB,步骤见 functions/api/sync.js 顶部。没配置时上面会如实提示,其余功能一切照常。

房间号只是防止不同人的数据撞在一起,不是密码——这是公开地址,知道房间号就能读写。这里存的是到站时间和拥挤度,本来也不敏感。

线路站点名称

获取后,上面的车站输入框会有下拉补全,不用再手打。需要配置 AMAP_KEY(和路线查询共用同一个)。

数据

配置存在本机浏览器。iPad 和手机各存一份,用导出/导入同步。