图灵
> Goal:用户给一段文字 / 站序 / 车次信息 → 自动识别站点 → 沿真实高铁走廊生成「走向示意图」或「车次卡片」→ 默认红白虚线,三铁律保证可读性。
关于图灵(这是什么 / 为什么叫图灵 / 图标)
- 这是什么:对外名「图灵」,内部代号
railmap,是一个铁路线路示意图生成器(Skill 形态)。完整背景见references/介绍.md。 - 为什么叫"图灵":延续「名人 + 功能」的起名传统(类比"达芬奇密码"画图、"李白 = 润笔"写诗)。在裴秀、墨子、鬼谷子、广舆图、图灵宝典等候选里,最终锁定"图灵"——与计算、图学气质相合,又简短好记。
- 图标:视觉标识为图灵卡通头像(深蓝毛衣 + 红领带),属本地可选视觉资产;SkillHub 合规版要求零二进制,图标不随包分发。
资产地图(本 skill 自带,开箱即用)
| 资源 | 路径 | 用途 |
|---|---|---|
| 主程序 | railmap.py |
出图入口,全部逻辑在此 |
| 线路库构建 | build_lines.py |
把 rail_lines.json 站链解析成坐标(改线路库后重跑) |
| 站点/城市坐标库 | geo_data.json |
高铁站 + 全国市/县中心(GCJ-02),约 4000 点 |
| 干线站链库 | rail_lines.json |
八纵八横 + 长三角城际命名线路(手工录入) |
| 干线坐标库 | rail_lines_geo.json |
build_lines.py 产物,运行期读取 |
| 图标(本地资产) | assets/(不打包) |
图灵卡通头像等本地可选视觉资产;SkillHub 合规版零二进制,不随包分发 |
| 详细使用说明 | references/使用说明.md |
完整参数、FAQ、铁律细则 |
| 背景介绍 | references/介绍.md |
命名由来、定位、图标说明 |
铁律(不可关闭,默认执行)
- 车次信息永不遮挡线路 —— train 模板自动下移底图/避让落位,线路+站点+站名总在信息栏之下。
- 一律不带时刻表 —— 用户给的 12306 截图/时刻表只提取站序与车次信息进顶部信息栏,图上绝不画时刻表卡片。
- 底图其余城市/地名注记带一层浅高斯模糊 —— 弱化背景、突出前景线路与站点(强度随画布自适应)。
调用方式
工具自带全部数据(脚本同目录),直接运行即可。输出图务必用 --out /workspace/...png,保证用户可见。
# 走向示意图(默认)
python3 ~/.codebuddy/skills/tuling/railmap.py \
--stations "黄山北,九华山,安庆,合肥西,商丘,雄安,北京西" \
--title "G3976 黄山北—北京西 走向示意图" \
--watermark "@洋见江东" \
--out /workspace/图灵_G3976.png
# 车次卡片(红信息栏 + 灰底图 + 红发光线路,无时刻表)
python3 ~/.codebuddy/skills/tuling/railmap.py --style train \
--stations "合肥西,商丘,雄安,北京西" \
--train-code "G3976" --dep-time "09:03" --arr-time "15:03" \
--bureau "北京局集团" --year "2026年四季度图" \
--watermark "@洋见江东" --out /workspace/图灵_G3976_card.png
> 若用户习惯用历史工作区 /workspace/railmap,可先同步再跑:
> cp -r ~/.codebuddy/skills/tuling/{railmap.py,build_lines.py,*.json} /workspace/railmap/
参数速查
- 通用:
--stations "站1,站2,..."(必填) ·--title·--watermark·--out·--line red/black/blue/green·--base grey(灰底) ·--line-style dashed/twin/trunk/rail/classic(默认 dashed) ·--coord "站:lng,lat;..."(+--wgs) ·--side "站:l/r/t/b"·--corridor on/off(默认 on) - train 专用:
--style train·--train-code·--dep-time·--arr-time·--dist·--speed·--bureau·--year·--trainset
升级 / 更新流程
- 在本目录改工具或数据(改线路库后跑
python3 build_lines.py重建坐标)。 - 跑
bash package.sh vX.Y "<优化点;多条用;分隔>" "标题":自动追加 CHANGELOG、刷新版本号、刷新 updated 日期、自动同步数据、打包 zip 到/workspace。 - 详细变更记录在
CHANGELOG.md。
新高铁开通时的数据更新(打包自动触发)
- 把新线路按真实地理顺序加进
rail_lines.json,如"新线名": ["站A","站B",...]。 - 跑
bash package.sh时自动:重建rail_lines_geo.json+ 把新线路里出现、库里却无精确坐标的站按所在市县中心登记进geo_data.json(持久化)+ 报告仍缺的站。 - 若某新站所在市县也未收录(自动登记仍缺),用
python3 railmap.py --coord "站名:lng,lat" --save-station补一次精确 GCJ-02 坐标(高德拾取坐标器可取)。
> 不必手动同步数据——打包这一步兜底。三铁律与默认样式保持不变。