BVG (Berliner Verkehrsbetriebe) Route Planner

🚇 柏林实时公交地铁智能导航

柏林公共交通智能路线规划工具,基于 BVG 官方 API 提供实时换乘方案、到站预测与多选项对比

收藏
8.7k
安装
2.6k
版本
0.0.2
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

BVG Route Planner 是专为柏林公共交通设计的智能路线规划技能,接入 v6.bvg.transport.rest 官方 API,支持三种典型场景:(1) 两点间最优路线查询(支持地址、站点名或坐标输入),(2) 实时到站/发车信息查询,(3) 基于到达时间的反向行程规划(arrive-by/depart-at)。

使用时,系统首先通过 /locations/stops 接口解析起止点为 6 位 IBNR 站点编码(注意:必须提取基础数字,剔除 `::` 后缀及前缀),随后调用 /journeys 获取 3 套备选方案,按行程时长、换乘次数、步行距离综合排序。输出包含:总行程时间、换乘次数、步行距离、预估到发时间,以及分步骤导航(含步行段距离/时长、乘车线路方向、下车站点及站台信息)。

关键实现细节:

  • IBNR 编码处理:从 /stops 返回的 id 字段提取纯 6 位数字(如 900110001),去除 de:11000: 前缀和 ::N 后缀
  • URL 编码强制:所有查询参数须经 urllib.parse.quote() 处理,德语特殊字符(ö→%C3%B6、ü→%C3%BC、Ä→%C3%84)及空格必须正确编码
  • 实时更新:返回 refreshToken 支持通过 GET /journeys/:ref 获取延误信息
  • 简单到站查询:调用 /stops/:id/departures?duration=20 返回最近 3 班车次

显著优点

  • 官方数据源:直接对接 BVG 运输联盟 API,时刻表与实时延误信息权威可靠
  • 多维度优化:同时考虑时间、换乘复杂度、步行负担,提供 2-3 套差异化方案
  • 灵活时间模式:支持"最晚出发"和"最早到达"两种逆向规划,适应弹性出行需求
  • 实时刷新机制:内置 refreshToken 可主动获取延误更新,避免静态规划的失效风险
  • 结构化输出:同时提供人类可读导航与机器友好 JSON(含站点 ID、行程标识),便于二次开发

潜在局限与风险

  • 地理局限:仅覆盖柏林 BVG 管辖区域(S-Bahn、U-Bahn、公交、有轨电车、区域渡轮),跨区域行程可能不完整
  • 德语字符敏感:URL 编码要求严格,特殊字符处理不当会导致查询失败
  • API 稳定性依赖:v6 版本虽为当前稳定版,但 BVG 官方 API 可能调整或限流
  • 坐标解析精度:模糊地址匹配依赖 /locations 接口,同名地点可能需人工确认
  • 夜间时段覆盖:部分线路(尤其是夜间公交 N 线)时刻表更新频率较低

适合人群

  • 柏林常住居民及通勤者(需频繁查询最优换乘)
  • 游客与短期访客(地址→景点路线规划)
  • 时间敏感型出行者(赶航班、会议等需 arrive-by 规划)
  • 开发者(需要结构化交通数据构建周边应用)

常规风险提示

| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 数据时效性 | 实时延误可能滞后 1-2 分钟 | 出发前使用 refreshToken 主动刷新 |
| 站点编码错误 | 使用完整 ID 而非基础 IBNR 会导致 API 报错 | 严格遵循 6 位数字提取规则 |
| URL 编码遗漏 | 德语地名未编码返回空结果或错误站点 | 强制对所有字符串参数执行 quote 编码 |
| 行程中断 | 施工改道、临时停运未实时同步 | 关注 BVG 官方公告,预留备选方案 |
| 隐私暴露 | 精确地址查询可能泄露敏感位置 | 优先使用站点名而非精确门牌号 |

安全与可信度评估

来源为 BVG 官方开放 API(transport.rest 社区封装),属德国公共运输标准化数据接口,数据源可信度 T1(官方/权威)。无用户认证或敏感权限要求,仅涉及公开时刻表查询,安全等级 S+。实现时需重点防范:输入注入(通过严格 URL 编码)、API 响应异常(健全超时与降级处理)。

BVG (Berliner Verkehrsbetriebe) Route Planner 内容

references文件夹
scripts文件夹
手动下载zip · 4.8 kB
API.mdtext/markdown
请选择文件