Semarang runs 60+ traffic cameras and can read commercial probe data across every road. Neither, alone, tells you what traffic is doing citywide in real time. Calibrating one against the other does — and the first field data shows the two agree with reality.
Commercial probe data (HERE) covers every major road, but reports an abstract 0–10 “jam factor” — not a count, and not calibrated to Semarang’s motorcycle-dense traffic. CCTV measures real vehicles, but only at a handful of intersections.
The prototype joins them on shared road segments: use the cameras to learn what HERE’s numbers mean in real Semarang traffic, then apply that translation to the ~750 road segments that have probe coverage but no camera.
The city's traffic cameras broadcast live video — real vehicles at intersections.
Jam factor & speed for every major road — broad coverage, abstract units.
Counts and tracks vehicles per camera; yields real density & congestion level.
Records citywide HERE conditions to a time-windowed snapshot archive.
Matches cameras to segments, joins both sources on a 15-minute grid, then learns HERE jam factor → real density.
The translation from HERE → real traffic, with its evidence. Strengthens automatically as data arrives.
Apply the calibration to all ~5,000 segments — real-time congestion everywhere, then a unified dashboard.
The test: at each camera, does HERE’s jam factor move together with the density the camera actually measures? A positive rank correlation means yes. All eight cameras with enough data sit between +0.50 and +0.74 — a strong, consistent signal. (A ninth, newly added, is still gathering data and is held out until it stabilises.)
Eight cameras, one story: correcting the road-segment mapping (§ status note) made the per-camera agreement markedly more consistent — the three previously-weak cameras (Kaligarang, Tugumuda, Simpang Lima 2) roughly doubled to +0.50–0.74. A newly-added ninth camera (Ruas Kerapyak, ~60 observations) is collecting but held out of the fit until it accumulates enough data to characterise.
The right-hand chart is the decisive internal check: independent of HERE, the cameras recover the fundamental diagram of traffic flow — density climbs steadily while throughput peaks at capacity and then falls as the road jams. Reproducing this well-known signature is strong evidence the underlying measurements are real, not artefacts.
| Signal | First run | Latest | Reading |
|---|---|---|---|
| Network coverage | 755 | ~5,000 | ~7× more of the city (remapped) |
| Cameras in the fit | 5 | 8 | Wider road-type coverage |
| Jam ↔ density (rank) | +0.27 | +0.33 | Positive & stronger |
| Jam ↔ congestion band | +0.32 | +0.33 | Positive & steady |
| — on primary roads | +0.37 | +0.57 | Strong on major arterials |
| Congestion-band accuracy | 77% | 78% | ~7-pt lift over baseline |
Coverage grew ~7× and the per-camera agreement became markedly more consistent once the road-segment mapping was corrected; the pooled figures held roughly steady as the network — and the honesty of it — expanded. The calibration firms up on its own as data arrives, with no additional work.
The concept is validated: HERE tracks real Semarang congestion in the right direction, at every camera, and the measurements reproduce known traffic physics. What remains is scale and time, not a question of whether the idea works.
A few days of overlap, not weeks. The 1,537 observations span a strong but short window. The fit should not yet be projected across the full network — that waits for a multi-week run.
Breadth is not the same as trust. The estimate reaches ~5,000 segments, but only ~1,400 (primary/trunk — the classes the cameras cover) rest on a fitted relationship; the rest use a cruder city-wide fallback and are flagged lower-confidence.
A ninth camera is held out. Ruas Kerapyak (~60 observations, added 19 Jul) does not yet track HERE and is excluded from the fit until it accumulates enough data — it keeps collecting and rejoins automatically once it stabilises.
The detector is off-the-shelf. It under-counts motorcycles in dense traffic; a locally-tuned model would tighten the calibration further.
Next: accumulate several weeks of paired data, expand toward the full camera fleet, then stand up the live citywide congestion map (the “nowcast”) and a unified operations dashboard.