Add UK bus stop finder

This commit is contained in:
Edward Betts 2026-08-15 11:35:36 +01:00
parent 977008d6bd
commit a2e4292b46
12 changed files with 1569 additions and 0 deletions

View file

@ -107,6 +107,44 @@ when the server is running.
---
### UK Bus Stop Finder
A mobile-friendly map for finding the `naptan:AtcoCode` recorded on UK bus
stops in OpenStreetMap. Search by postcode, street, place, exact ATCO code, or
browser location. Searches are preserved in shareable `?q=...` or
`?lat=...&lon=...` URLs, and `latitude, longitude` can be entered directly in
the search box. Selecting a stop shows its tags and stop-area-aware bus route
relations. Stop results identify their transport mode (such as bus, rail or
tram), and moving the map at zoom level 15 or closer loads stops in the visible
area. Wider map views deliberately do not query Overpass.
Selecting a stop replaces the search parameters with a shareable stop URL such
as `?node=485403163` (or `?way=...` / `?relation=...` for other OSM object
types). Refreshing that URL fetches and reopens the same stop.
UK stop queries use the Britain-and-Ireland Overpass instance at
`overpass.atownsend.org.uk`, with `overpass.private.coffee` as an automatic
fallback when the primary service is unavailable.
Run it locally with:
```
pip install -e ".[web]"
flask --app uk_bus_stops.app run
```
The production URL is `https://openstreetmap.tools/uk-bus-stops/`.
Browser tests use Python Playwright. After installing the development extras,
install Chromium once and run the suite:
```
playwright install chromium
pytest tests/
```
---
## Licence
MIT License. Copyright (c) 2026 Edward Betts.