伦敦TfL交通——实时地铁到站、公交预测、线路状态、服务中断、行程规划及伦敦地铁路线信息等
TfL London Transit.是一项面向实际任务的技能,主要用于Real-time London TfL transit data - 接驳到达,公交车预测,线路状况,中断,行程规划,以及线路信息.;TfL使用统一 REST API 的单机.。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
实时伦敦 TfL 公共交通数据 — 地铁(Tube)到站信息、巴士预计到达时间、线路运行状态、服务中断通知、行程规划及路线详情。所有交通方式均通过 TfL 的**统一 REST API** 提供支持。API 密钥为可选项(免费注册,推荐使用以获取更高请求配额)。
TfL 提供一个统一的 REST API(api.tfl.gov.uk),以 JSON 格式返回所有交通方式的数据 — 包括地铁(Tube)、巴士、DLR、Overground、Elizabeth line、有轨电车(trams)、泰晤士河渡轮(river bus)和缆车(cable car)。不使用 Protocol Buffers、SIRI 或多种数据格式;仅提供一个简洁、一致的 REST API,响应均为结构化 JSON。
API 密钥:请在 https://api-portal.tfl.gov.uk/ 免费注册获取 app_key;请求时需在 URL 后附加 ?app_key={KEY}。未提供密钥时 API 仍可使用(基础功能),但受速率限制;启用密钥后配额提升至每分钟 500 次请求。
| 端点 | 说明 |
|---|---|
/Line/Mode/tube/Status |
所有地铁线路当前状态 |
/Line/{lineId}/Status |
指定线路当前状态 |
/StopPoint/{naptanId}/Arrivals |
某站点的到站信息 |
/Line/{lineId}/Arrivals/{stopPointId} |
按线路筛选的到站信息 |
/StopPoint/Search/{query} |
按名称搜索站点 |
/StopPoint?lat=&lon=&radius= |
按地理位置(经纬度 + 半径)搜索附近站点 |
/Line/{lineId}/StopPoints |
某条线路上的所有站点 |
/Line/{lineId}/Route/Sequence/{dir} |
线路行驶路径中的站点顺序 |
/Line/{lineId}/Disruption |
某条线路的服务中断信息 |
/Journey/JourneyResults/{from}/to/{to} |
行程规划 |
/Line/Mode/bus |
所有巴士线路 |
所有端点均返回 JSON 数据。认证请求需附加 ?app_key={KEY} 参数。
本技能 scripts/ 目录下的脚本负责 TfL 数据的获取、解析与呈现。
scripts/tfl.mjs主入口脚本,支持以下命令:
# 地铁线路状态 node scripts/tfl.mjs status node scripts/tfl.mjs status --all node scripts/tfl.mjs status --line victoria # 车站到站信息 node scripts/tfl.mjs arrivals --station "Oxford Circus" node scripts/tfl.mjs arrivals --stop 940GZZLUOXC node scripts/tfl.mjs arrivals --stop-search "kings cross" node scripts/tfl.mjs arrivals --stop-search "kings cross" --line piccadilly # 巴士到站信息 node scripts/tfl.mjs bus-arrivals --stop 490005183E node scripts/tfl.mjs bus-arrivals --stop-search "oxford circus" node scripts/tfl.mjs bus-arrivals --stop-search "oxford circus" --route 24 # 服务中断信息 node scripts/tfl.mjs disruptions node scripts/tfl.mjs disruptions --line northern # 线路与站点信息 node scripts/tfl.mjs routes node scripts/tfl.mjs routes --all node scripts/tfl.mjs bus-routes node scripts/tfl.mjs stops --search "waterloo" node scripts/tfl.mjs stops --near 51.5074,-0.1278 --radius 500 node scripts/tfl.mjs stops --line victoria node scripts/tfl.mjs route-info --line bakerloo node scripts/tfl.mjs route-info --route 24 # 行程规划 node scripts/tfl.mjs journey --from "waterloo" --to "kings cross" node scripts/tfl.mjs journey --from "51.5031,-0.1132" --to "51.5308,-0.1238"
基础功能无需密钥(但受速率限制)。如需每分钟 500 次请求配额,请执行以下步骤:
TFL_API_KEY| 线路 ID | 线路名称 | 颜色标识 | 起讫站 |
|---|---|---|---|
| bakerloo | Bakerloo | brown | Harrow & Wealdstone <-> Elephant & Castle |
| central | Central | red | Epping / Ealing Broadway <-> West Ruislip |
| circle | Circle | yellow | Hammersmith(经 Liverpool Street 环线) |
| district | District | green | Richmond / Ealing Broadway <-> Upminster |
| hammersmith-city | Hammersmith & City | pink | Hammersmith <-> Barking |
| jubilee | Jubilee | silver | Stanmore <-> Stratford |
| metropolitan | Metropolitan | magenta | Chesham / Amersham / Uxbridge <-> Aldgate |
| northern | Northern | black | Edgware / High Barnet <-> Morden / Battersea |
| piccadilly | Piccadilly | dark blue | Heathrow T5 / Uxbridge <-> Cockfosters |
| victoria | Victoria | light blue | Walthamstow Central <-> Brixton |
| waterloo-city | Waterloo & City | teal | Waterloo <-> Bank |
| 线路 ID | 名称 | 类型 |
|---|---|---|
| dlr | DLR | Docklands Light Railway |
| liberty | Liberty | Overground(Romford — Upminster) |
| lioness | Lioness | Overground(Watford — Euston) |
| mildmay | Mildmay | Overground(Stratford — Richmond/Clapham) |
| suffragette | Suffragette | Overground(Gospel Oak — Barking) |
| weaver | Weaver | Overground(Liverpool St — Enfield/Cheshunt/Chingford) |
| windrush | Windrush | Overground(Highbury — Crystal Palace/Clapham/W Croydon) |
| elizabeth | Elizabeth line | Crossrail |
| tram | London Trams | Croydon Tramlink |
| 票种 | 价格 |
|---|---|
| 地铁 Zone 1(Oyster/contactless,高峰时段) | £2.80 |
| 地铁 Zone 1(Oyster/contactless,非高峰时段) | £2.70 |
| 地铁 Zones 1–2(高峰时段) | £2.80 |
| 地铁 Zones 1–2(非高峰时段) | £2.70 |
| 地铁 Zones 1–3(高峰时段) | £3.50 |
| 地铁 Zones 1–3(非高峰时段) | £2.80 |
| 巴士与有轨电车(任意行程) | £1.75 |
| Hopper 票(1 小时内不限次乘坐巴士/有轨电车) | £1.75 总计 |
| Zones 1–2 日封顶票价 | £8.90 |
| Zones 1–2 周封顶票价 | £44.70 |
| 现金单程票(售票机购买) | £6.70(Zone 1) |
高峰时段定义:周一至周五 6:30–9:30 和 16:00–19:00(公共假期除外)。
940GZZLU{code} 格式--station 或 --stop-search 按名称查询;使用 --stop 输入精确的 NaPTAN IDarrivals 命令基于 TfL API 返回的 timeToStation 字段(单位:秒)计算预计到达时间(ETA)490{code}TFL_API_KEY,请求仍可执行,但受限于速率限制,并会输出提示信息向用户呈现公共交通信息时,请遵循以下规则:
timeToStation / 60 计算得出)| 端点 | 发送数据 | 接收数据 |
|---|---|---|
api.tfl.gov.uk/Line/*/Status |
API 密钥(作为查询参数,可选) | 线路状态(JSON) |
api.tfl.gov.uk/StopPoint/*/Arrivals |
API 密钥(作为查询参数,可选) | 到站信息(JSON) |
api.tfl.gov.uk/StopPoint/Search/* |
API 密钥(作为查询参数,可选) | 站点搜索结果(JSON) |
api.tfl.gov.uk/StopPoint?lat=&lon= |
API 密钥(作为查询参数,可选) | 附近站点(JSON) |
api.tfl.gov.uk/Line/*/StopPoints |
API 密钥(作为查询参数,可选) | 线路站点列表(JSON) |
api.tfl.gov.uk/Line/*/Route/Sequence/* |
API 密钥(作为查询参数,可选) | 线路路径序列(JSON) |
api.tfl.gov.uk/Line/*/Disruption |
API 密钥(作为查询参数,可选) | 中断信息(JSON) |
api.tfl.gov.uk/Journey/JourneyResults/* |
API 密钥(作为查询参数,可选) | 行程规划结果(JSON) |
api.tfl.gov.uk/Line/Mode/bus |
API 密钥(作为查询参数,可选) | 巴士线路列表(JSON) |
API 密钥以查询参数形式传递至 TfL 官方 API。除此之外,不传输任何其他用户数据。
本技能仅读取 TfL 官方统一 API 提供的公开公共交通数据。可选的 API 密钥仅用于 TfL API 的速率限制认证。该技能不会访问、存储或传输除用户自行配置的 API 密钥之外的任何个人信息。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章