Stop Sync: ATLAS ↔ OSM
This project provides a systematic pipeline to identify, analyze, and resolve discrepancies between public transport stop data from ATLAS (Swiss official data) and OpenStreetMap (OSM).
Purpose
Switzerland has two valuable sources of public transport data:
- ATLAS: The authoritative dataset from the Swiss Federal Office of Transport, containing official traffic points, platform designations, and timetable associations.
- OpenStreetMap (OSM): A community-maintained, freely available geographic database with rich attribute data.
By systematically comparing these datasets, we can:
Improve data quality and detect anomalies for both datasets by identifying missing stops, incorrect locations, or outdated attributes.
Current Statistics
Note: Statistics are automatically synchronized with the matching pipeline and updated on each data import.
| Metric | Value |
|---|---|
| ATLAS Platforms | 54,882 |
| Matched Pairs | 60,863 |
| Match Rate | 88.7% |
| Unmatched ATLAS | 6,200 |
| Unmatched OSM | 7,987 |
System Workflow
The system is designed to re-import base data periodically (e.g., daily) to stay synchronized with ATLAS and OSM updates. The database is fully rebuilt on each run.
The database is wiped and rebuilt on every pipeline run.
Documentation Sections
| Section | Content |
|---|---|
| 1. Download and Process Data | Data sources, filters, file formats (includes 1.4 Route-Route Matching) |
| 2. Matching Process | Multi-stage matching algorithm (includes 2.4 Stop-stop matching using routes) |
| 3. Problems | Problem detection and prioritization |
| 4. Database | Schema, import process, and persistence |
| 5. Web App | Interactive map interface |
| 6. System Architecture | Docker services, scheduler timing, status API, and security |
| 7. CI and Tests | GitHub Actions, test setup, and local checks |
Source Code
The complete source code is available at: github.com/openTdataCH/stop_sync_osm_atlas