核心用法
MVG CLI 是一款面向慕尼黑公共交通的命令行工具,覆盖 MVG(Münchner Verkehrsgesellschaft)运营的 S-Bahn、U-Bahn、公交及有轨电车系统。核心功能包括:
- 站点与路线查询:支持模糊搜索站点、地址解析(如 "Hauptstr. 1, München"),并提供多模式路线规划(最快、少换乘、少步行)
- 实时出发信息:带步行时间偏移(
--offset)、交通工具过滤(--type/--exclude)及 JSON 机器输出 - S-Bahn 实时追踪:通过 geOps WebSocket 获取列车实时位置,支持全线路或单线(如 S3)监控
- 无障碍与辅助功能:轮椅无障碍路线筛选、步行速度调节(慢/正常/快)
- 服务预警:站点级或全网延误、施工信息推送
显著优点
1. 零认证门槛:直接调用 MVG 公开 API(bgw-pt/v3),无需注册或 API Key
2. 纯标准库依赖:核心功能仅依赖 Python 3 与 urllib,轻量无负担
3. 实时性强:S-Bahn 位置追踪基于 WebSocket 流式数据,延迟以毫秒级同步
4. 输出灵活:--json 标志支持脚本集成与自动化工作流
5. 地址级精度:支持街道门牌号输入,优于纯站点名搜索
潜在局限
- 非官方 API 风险:依赖
mvg.de内部端点,存在接口变更或限流可能,无 SLA 保障 - 地理限制:仅覆盖慕尼黑大区(MVV 范围),无法用于其他德国城市
- S-Bahn 实时依赖 Node:WebSocket 功能需额外 Node.js 环境与
ws模块,增加部署复杂度 - 数据精度:实时位置基于 geOps 第三方服务,极端情况下可能出现列车显示与实际位置偏差
- 无历史数据:仅提供当前与未来时刻表,不支持过去行程回溯
适合人群
- 慕尼黑通勤者:需快速查询 U/S-Bahn 出发时间、规划日常通勤路线
- 开发者与极客:偏好命令行交互、希望将公交数据集成至脚本或终端工作流
- 无障碍出行用户:轮椅路线筛选功能对 mobility-impaired 用户友好
- 铁路爱好者:S-Bahn 实时追踪功能满足对列车位置可视化的兴趣
常规风险
- 服务中断:非官方 API 可能因 MVG 后端调整而失效,需关注项目维护状态
- 隐私暴露:
nearby功能默认使用坐标,建议确认默认位置是否泄露敏感信息 - WebSocket 稳定性:实时追踪依赖外部 geOps 服务,网络波动时可能断连
- 路线规划误差:
plannedDeparture与plannedArrival字段易混淆,开发集成时需注意文档提示