没买船讯会员,自己做了面只盯几艘船的物流屏
本文同步自 X Articles:原帖
为什么做
因为没买船讯会员,买不起,全球船位热力我用不了。我只需要盯住手里几票货:那几艘船现在大概在哪、刚才走过哪一段路线。
做完的标准是:屏上能看见自己那几艘在哪、走过哪一段;不假装知道船期,也不假装装实时。
你将得到什么
- 一条已挂着跑的链路:AISStream → 服务端短连采集 → ships.json → MapLibre
- 三条「不做」落到画面上长什么样(示意弧、断档灰、不搞全球热力)
- 三个开源仓入口,方便跟做地图或拖尾,也可整段扔给 AI 对照
- 一份升级菜单(未动手)和查阅日为 2026-10-26 的公开价对照
怎么做
从 AISStream 的 WebSocket 进来,服务端短连采一下,落成一份船位数据 ships.json,再交给 MapLibre 画上大屏。这套已经挂着在跑了。
规模锁死:屏幕上只有几艘,不超过五艘;船号自己手维护;镜头默认落在中国和东亚附近。
船还在走的时候,历史点连成彗星拖尾,能看到这票货刚才走过哪一段。货签、船名尽量不压死船标。
把下面几句扔进 AI,就能对照复现边界(别让它编船期,也别让它补卫星档):
- 用公开 AIS(AISStream WebSocket),服务端短连采集,写成 ships.json,MapLibre 铺屏
- 维护不超过五艘;镜头默认中国/东亚
- 前方虚线弧徽标写死「示意 · 非船期」;断档灰、虚线、末次可靠时间;禁航速×距离推算到港
- 不接卫星 AIS,不画全球热力;不写生产域名和密钥

界面为实机演示动效,演示数据。

公开 AIS WS → ships.json → MapLibre

界面为实机演示动效,演示数据。
坑与边界
先说清楚的是:这个使用开源信息的问题是靠的是陆地基站。近岸密一点;到了远洋,可能好几天没点。卫星那档这套没有(查询花不起)。官方也写明白:没 SLA、没回放。听到什么显示什么,不补戏。
三条不做,写死在屏上。
不画假的到港时间。 AIS 里的目的港和到港时间,多半是船长手填,会改、会错,不能当船期。禁了「用航速乘距离推算到港」。天数环只取船上报的或我手填的,都空就显示「—」,旁边注「船长手填,非船期」。前头虚线弧中点徽标写死「示意 · 非船期」。航线是船公司的,到港时间是算的,这两样都不画。只画船报过的点和手工补的点。
断线了也不装实时。 远洋有时候两天都听不见新点,船就灰掉,线改虚线,旁边挂末次可靠时间。明明断了还用动画漂成在动,那是装实时,不做。
不做给所有人看的热力图。 远洋本来就空洞,点连不上,热力再好看跟这几票货没关系。少盯几艘,画面反而清楚;追不上就老实标断档。
需要查询卫星就特别贵,价额查询如下:
Datalastic / VesselFinder 这类自助 API:远洋空洞疼的时候,可以对断档的船拉一次「未知位置」补一刀,界面上仍标明数据源。
公开价(VesselFinder API 文档 / Datalastic 官方博客对照表,查阅于 2026-10-26):
- VesselFinder prepaid 约 1 万 credits / €330、2 万 / €625、5 万 / €1470(12 个月有效,不含 VAT)
- Datalastic 月费约 Starter €199、Experimenter €569、Developer Pro+ €679(14 天试用;定价页 FAQ 中档亦称 Growth,顶档亦称 Developer Pro,金额以博客表为准)
船司 Track & Trace(比如 Maersk):手头有真实箱号或提单的时候,可以把「货的里程碑」和「船的 AIS」分栏显示。门槛多是开发者账号与凭证;本轮没核到可写的公开自助价,正文只写询价 / 合同。
Kpler(陆地 + 卫星 AIS):真要远洋密覆盖再谈。无公开自助价表,走销售 / 合同。

升级路径价表对照(查阅于 2026-10-26)。
出处与版本
想跟做地图或拖尾,可以先看这三个仓:
- maplibre-gl-js(本屏底图引擎)
- deck.gl(拖尾类图层常拿它试)
- marine-eye(MapLibre + 实时 AIS,栈跟我这边最像)