ATLAS Stops

ATLAS is the official registry of Swiss public transport stops. We download and filter it to extract boarding platforms. We do GTFS stop_id to sloid mapping for GTFS route integration.

Note

The scheduler checks the ATLAS and GTFS source validators before preprocessing. When both sources are unchanged, the pipeline can reuse the existing ATLAS + GTFS artifacts; otherwise it reruns the combined preprocessing job. The shared preprocessing step exists because of the GTFS stop_id <-> ATLAS sloid mapping layer. More info in 7.3 Background Scheduler.

Last ATLAS data download: 2026-06-27 03:53
Last GTFS data download: 2026-06-27 03:53

Filtering Pipeline

flowchart LR A["Raw download<br/>62,250"] -->|"UIC number (85...)<br/>−578"| B["61,672"] B -->|"Geography<br/>−5,418"| C["56,254"] C -->|"Validity<br/>−0"| D["56,254"] D -->|"Type<br/>−1,256"| E["54,998<br/>BOARDING_PLATFORMs"]

Filters Applied

# Filter Criterion Before Eliminated Kept
1 UIC number uicCountryCode == 85 62,250 578 61,672
2 Geography Inside Swiss border polygon 61,672 5,418 56,254
3 Validity validTo >= today 56,254 0 56,254
4 Type trafficPointElementType == BOARDING_PLATFORM 56,254 1,256 54,998

ATLAS filtering snapshot: 2026-06-27 03:53.

Note

Some stops have Swiss UIC codes but are physically outside Switzerland. We use switzerland.geojson with GeoPandas for precise filtering.

trafficPointElementType Values

The raw ATLAS dataset contains exactly two types:

Type Count after filters % Kept
BOARDING_PLATFORM 54,998 88.4 % 54,998
BOARDING_AREA 1,256 2.0 % 0 (filtered out)

Output File

data/raw/stops_ATLAS.csv key columns:

Column Description Example
number UIC reference (7-digit) 8503000
sloid Swiss Location ID ch:1:sloid:8503000:1
designationOfficial Official stop name Zürich HB
designation Platform identifier 1, A, Nord
wgs84North / wgs84East Coordinates 47.3782 / 8.5401
validFrom / validTo Validity period 2020-01-01 / 9999-12-31
servicePointBusinessOrganisationAbbreviationDe/Fr/It/En Operating company SBB/CFF/FFS

The filtered ATLAS coordinates are reused downstream in two places:

  • during the main OSM <-> ATLAS stop matching pipeline (stored in the database via stops_matched)
  • during the GTFS stop_id <-> sloid matching phase in get_atlas_gtfs.py (stored in the database via gtfs_stop_identity_resolution)

Downstream Usage

  1. GTFS integration + GTFS stop_id <-> sloid mapping -> 1.2 GTFS
  2. Routes tab diagnostic map -> 6.6 Routes Pages
  3. Matching pipeline -> 2. Matching process
Data update in progress
Elapsed: -- ETA: -- Phase: idle