尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A live open-data map of Greater London: TfL roads, Thames crossings, Tube, rail, buses, river, cycles, weather, air quality and planning. London port of HK Traffic Intelligence.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Live: labs.palapple.com/smartldn · by Peter Choi, Anchor Point (LinkedIn)
A live map of Greater London that puts the open data London already publishes in one place: the TfL road corridors, the Thames crossings, Tube, Elizabeth line, Overground, DLR, tram, bus and river arrivals, road works and incidents, traffic cameras, Santander Cycles, weather and flood warnings, air quality, planning applications, and the Congestion Charge and ULEZ zones.
SmartLDN is a London port of HK Traffic Intelligence by Keith Li, a Hong Kong smart city dashboard released under the MIT License. The map engine, the moving trains, the stop plates and the ranked Intel panel are his work. The data layer, the layers and the copy were rebuilt for London.
Roads. Each of the 24 TfL road corridors (the North and South Circulars, the radial A roads, the Inner Ring, the cross routes, and the Blackwall and Silvertown tunnels) is drawn in the status TfL publishes: Good, Serious, Severe or Closed. TfL does not publish live road speeds, so the colour is a status, not a speed. Road works and incidents come from the TfL traffic control centre, each placed at its own point with severity, closures, timing and the latest update. About 800 JamCams show a still, and a ten-second clip on request.
Thames crossings. The header reads the four crossings east of Tower Bridge: Rotherhithe Tunnel, Blackwall Tunnel, Silvertown Tunnel and the Woolwich Ferry. Each shows the status TfL publishes for it. There is no open journey-time feed for these crossings.
Rail. Tube, Elizabeth line and Overground trains move along their lines, together with DLR, trams and the Uber Boat river buses. Tube and Elizabeth line trains are followed by the train number TfL publishes. Elsewhere a train's position is estimated from the published minutes and the distance between stations, because TfL does not publish one. Station cards show the next departures, the line status, lift outages and, for Tube stations, how busy the station is against a usual day.
National Rail. London's 433 National Rail stations appear from city zoom. A station card reads its live departures from Darwin: time, destination, platform, operator, train length and any delay or cancellation, with station notices and lift alerts. Opening a departure lists the stops still ahead with live times. At stations shared with the Tube, Elizabeth line or Overground, the card links to the TfL card too. The Transit tab carries the status of the 18 operators that run into London.
Buses. From district zoom, every bus in view moves on the map from its live GPS position, gliding between reports, with its route and destination on a plate at street level. Opening a London bus shows where it started, its next stops with times from TfL (matched by registration), and its route highlighted on the map. Bus stops show their routes, and a stop card reads the live arrivals.
City. Santander Cycles docks are coloured by bikes available. Air quality comes from the London Air Quality Network. Planning applications from all 35 London planning authorities show sites where work has started, and applications validated in the last four months. The Congestion Charge zone, the London-wide ULEZ, and the Dartford, Blackwall and Silvertown charge points are drawn as a reference layer.
Weather. Met Office warnings that reach Greater London, with their areas drawn on the map, Environment Agency flood warnings within Greater London, the temperature in central London, and the heaviest recent rain at the London gauges.
Search. The box under the header finds a station, place, street, address or postcode in Greater London. Picking a result flies the map there and drops a pin.
Intel. When several things need attention at once, the Intel panel ranks them: a dead feed, a severe incident, a suspended line, a closed crossing, a severe corridor, serious works, a flood warning, or very high air pollution. The tabs are Ranked, Roads, Transit, Weather, Systems and Updates.
| On the map | Open data |
|---|---|
| Road corridor status | TfL Unified API /Road |
| Corridor shapes | OpenStreetMap ways for each corridor's road numbers, clipped to the bounds TfL publishes (built by scripts/build-london-data.mjs) |
| Road works and incidents | TfL /Road/all/Disruption |
| Traffic cameras | TfL JamCams, /Place/Type/JamCam |
| National Rail stations, departures and calling points | Rail Data Marketplace: NationalRail Knowledgebase Stations, Darwin Live Departure Board and Service Details (free keys, RDM_STATIONS_KEY, RDM_LDB_KEY, RDM_SERVICE_KEY). National Rail Enquiries |
| National Rail operator status | TfL /Line/Mode/national-rail/Status |
| Tube, Elizabeth line, Overground, DLR, tram, river bus arrivals | TfL /Line/{ids}/Arrivals |
| Station and line network | TfL /Line/{id}/Route/Sequence (built by scripts/build-london-data.mjs) |
| Line status | TfL /Line/Mode/{modes}/Status |
| Lift outages | TfL /Disruptions/Lifts/v2 |
| Station busyness | TfL /Crowding/{naptan}/Live |
| Bus stops and arrivals | TfL /StopPoint search and |
TfL, Environment Agency, Met Office, GLA and London Datastore data are used under the Open Government Licence v3.0. Powered by TfL Open Data. The full Hong Kong to London mapping, including what London does not publish, is in docs/london-data-mapping.md.
You need Node.js 22.
npm install
cp .env.example .env.local
npm run dev
Open http://127.0.0.1:4317. Put a free TfL key from api-portal.tfl.gov.uk in .env.local as TFL_APP_KEY. It runs without one, but TfL limits anonymous use to about 50 requests a minute. Live bus positions need a free key from the Bus Open Data Service as BODS_API_KEY; without it the map shows stops and arrivals but no moving buses.
| Command | What it does |
|---|---|
npm run dev | Next.js on port 4317 |
npm run lint | ESLint |
node --test src/lib/*.test.ts | Unit tests |
node scripts/build-london-data.mjs [rail] [corridors] [zones] | Rebuilds the static files in data/ from TfL, OpenStreetMap and the London Datastore |
npm run dev:vinext | The Cloudflare-oriented dev server on port 4318 |
The site runs as a Cloudflare Worker (vinext). Every visitor reads one shared copy of each feed: trains about every fifteen seconds, road status and line status every minute, disruptions every two minutes, and the rest less often. Upstream services see the same traffic whether one person or a thousand have the map open.
TFL_APP_KEY, BODS_API_KEY, METOFFICE_NSWWS_KEY and METOFFICE_SITE_KEY as Worker secrets: npx wrangler secret put TFL_APP_KEY, and the same for the others.SMARTLDN_VISITS_KV_ID before building (see cloudflare.config.ts). It counts opens only, without cookies.npm run build:vinext, then deploy through your usual Wrangler flow.The Tube, Elizabeth line and Overground arrivals, and the London bus positions, are each several megabytes per refresh, so the Workers Paid plan's CPU allowance is the comfortable fit.
These are worth knowing before relying on the map:
/api/streetworks/sns); the map layer follows once the feed is approved.SmartLDN is an independent open-source project. It is not an official TfL, Greater London Authority or Met Office service; check TfL before you travel. Powered by TfL Open Data. Contains public sector information licensed under the Open Government Licence v3.0.
The site sets no cookies of its own. It counts visits with Cloudflare Web Analytics, which uses no cookies and keeps no identifiers. It can also use Google Analytics for more detail, but only if you accept on the first visit: until then no Google script runs and no analytics cookie is set, and declining changes nothing about the map. You can change your answer any time under Updates, which also deletes the analytics cookies. Analytics cookies are kept to this site's path, never the wider palapple.com domain. Your layer and basemap choices are kept in your own browser so the map opens the way you left it. Map tiles load from OpenFreeMap and Esri, which see the request as any tile server does.
MIT, see LICENSE. SmartLDN keeps the original copyright notice. If you fork or reuse the work, please credit HK Traffic Intelligence and Keith Li as well as this project.
/StopPoint/{id}/Arrivals| Live bus positions | DfT Bus Open Data Service SIRI-VM, filtered to Greater London (TfL buses report as operator TFLO) |
| Santander Cycles | TfL /BikePoint |
| Weather warnings | Met Office Weather DataHub NSWWS warnings API, with warning areas (free key, METOFFICE_NSWWS_KEY); without a key, the warnings RSS for London & South East |
| Flood warnings and rainfall | Environment Agency real-time flood-monitoring API |
| Temperature | Met Office Weather DataHub Site-Specific "Global Spot" hourly forecast for central London (free key, METOFFICE_SITE_KEY); without a key, Open-Meteo |
| Air quality | London Air Quality Network, Imperial College London |
| Planning applications | GLA Planning London Datahub |
| Congestion Charge and ULEZ zones | London Datastore |
| Street map and buildings | OSM Bright and OSM Liberty, served by OpenFreeMap, from OpenStreetMap contributors |
| Search: places, streets, addresses | Photon by komoot, on OpenStreetMap data |
| Search: postcodes | postcodes.io. Contains OS data © Crown copyright and database right; contains Royal Mail data © Royal Mail copyright and database right; source: Office for National Statistics, licensed under the Open Government Licence |
| Satellite photograph | Esri World Imagery. Imagery © Esri |