# Seoul traffic · 2026-10-28

Actual OSM road geometry; synthetic traffic. Linux, Python 3.12, Eclipse SUMO 1.28.0. No live traffic or autonomous vehicle connection. All cases simulate 1,800 seconds at 0.5-second steps, with FCD snapshots every 3 seconds. The measured marked-trip outcomes are 244.0 / 247.0 / 184.5 seconds for light-fixed / busy-fixed / busy-reroute.

## Repeat the archived input

Download this directory's `requirements.lock`, `traffic.py`, `map-source.json`, `seoul.net.xml.gz`, and `seoul.osm.xml.gz`. Keep files together, then:

```sh
python3 -m venv venv
venv/bin/python -m pip install -r requirements.lock
mkdir map
gzip -dc seoul.net.xml.gz > map/seoul.net.xml
gzip -dc seoul.osm.xml.gz > map/seoul.osm.xml
cp map-source.json map/
venv/bin/python traffic.py map NEW_OUTPUT_DIRECTORY
```

The runner refuses an existing output directory. Use the archived input for exact reproduction; a fresh download can change. A separate Linux rerun matched all three complete parsed replays, including every vehicle position, speed, marked-car trip and route history: [reproduction-check.json](reproduction-check.json).

## Source and network conversion

The [source record](map-source.json) contains the retrieval time, bounding box, Overpass query and SHA-256. `fetch-map.py` is the retrieval recipe. Longitude 126.967–126.991, latitude 37.561–37.581. Included complete ways can extend outside this box. The converted network spans approximately 2.9 × 2.7 km, with 2,205 passenger lanes and 40 traffic-light junctions.

```sh
venv/bin/netconvert --osm-files map/seoul.osm.xml \
  --keep-edges.by-vclass passenger --geometry.remove --ramps.guess \
  --junctions.join --tls.guess --tls.discard-simple --tls.default-type static \
  --remove-edges.isolated --output.street-names true --output-file map/seoul.net.xml
```

SUMO can infer missing lane/speed/turning attributes and signal plans. These defaults are not verified real Seoul operations. The converter warnings are archived in `netconvert.log.gz`.

## Controlled scenarios

Demand seed 20261028 produces 600 connected background routes with departures 1.5 seconds apart; the light scenario uses every fifth trip. Marked vehicle: City Hall area (126.9774, 37.5657) → Anguk area (126.9850, 37.5764), departing at 120 seconds. Nearest routable edges are Sejong-daero and Yulgok-ro. Its initial fastest path is computed from the imported road speeds.

Driving seed 27; type `car`; sigma 0, speedFactor 1, speedDev 0, accel 2.6, decel 4.5, length 5 m, gap 2.5 m, maximum speed 13.89 m/s. Car following/lane changing are SUMO rules. The two busy scenarios have byte-identical background trip elements; only the marked vehicle receives a rerouting device in the third scenario (period 30 seconds; travel-time adaptation 10 seconds). Changes in traffic interactions can follow its route change.

No learning, real-time feeds, sensor perception, pedestrians, weather or real driving. One demand seed cannot establish a general traffic improvement. Faster routing includes modeled route costs and signal/queue interactions; it does not isolate congestion as the only cause.

The initial setup attempt lacked pyproj and produced no traffic. A preliminary run used SUMO's varying speed factors; its confounded comparison was excluded. All published runs were repeated with controlled speed/noise. Both original attempts remain in the private Linux run directory; they were not silently overwritten. Three published cases and three separate reproduction cases each executed successfully; all published scheduled trips arrived, with zero reported collisions and teleports.

## Full evidence

- [Results, environment, commands and source/network hashes](results.json)
- [Complete publication package manifest](package-manifest.json), [original run file manifest](manifest.json), [Demand](demand.json), [Browser road network](network.json)
- Light: [trajectory](light-fixed-fcd.xml.gz), [trips](light-fixed-tripinfo.xml.gz), [executed routes](light-fixed-executed-routes.xml.gz), [statistics](light-fixed-statistics.xml.gz), [input routes](light-fixed-routes.xml.gz), [log](light-fixed-sumo.log.gz)
- Busy fixed: [trajectory](busy-fixed-fcd.xml.gz), [trips](busy-fixed-tripinfo.xml.gz), [executed routes](busy-fixed-executed-routes.xml.gz), [statistics](busy-fixed-statistics.xml.gz), [input routes](busy-fixed-routes.xml.gz), [log](busy-fixed-sumo.log.gz)
- Busy rerouting: [trajectory](busy-reroute-fcd.xml.gz), [trips](busy-reroute-tripinfo.xml.gz), [executed routes](busy-reroute-executed-routes.xml.gz), [statistics](busy-reroute-statistics.xml.gz), [input routes](busy-reroute-routes.xml.gz), [log](busy-reroute-sumo.log.gz)

Road database and derived network © OpenStreetMap contributors, [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/); see [OSM attribution](https://www.openstreetmap.org/copyright). The renderer uses local geometry and no map tiles. [SUMO OSM import documentation](https://sumo.dlr.de/docs/Networks/Import/OpenStreetMap.html), [SUMO installation](https://sumo.dlr.de/docs/Installing/index.html).
