ProbeDensity
Traffic density estimation from mobile probe traces
ML Pipeline
Intern Project Demo

One probe vehicle, one clean monitoring surface.

Start here when you need a fast project check. The page surfaces runtime health, the latest map signal, and the shortest paths into the live demo flows without making you hunt across separate pages first.

Live Status

Runtime snapshot

Health and latest map feed are fetched together so the page shows one consistent snapshot.

Waiting for first snapshot.

System Status

Service Health

Live readout from the running FastAPI application.

Status
Loading
Model
-
Features
-
Residual Mode
-
Open Health

Map Feed

Latest Link Feed

A quick view of how many links are currently available in the map layer.

Links Returned
Loading
Latest Sample
-

If the database is empty, the map switches to a local demo layer backed by the Seoul centerline GeoJSON.

Quick Actions

Move from snapshot to the right surface.

Open the main demo pages from here once the runtime snapshot above looks healthy.

Demo Flow

How the pieces connect

Expand for the four-step path from phone collection to map review.

1. Mobile collection
The phone page sends GPS, speed, heading, and acceleration to /ingest at 1 Hz.
2. Link attribution
Incoming points are matched against the local Seoul road centerline layer.
3. Density estimation
Link-based accumulation (1km target) triggers prediction with multi-probe ensemble and stores link-level results.
4. Map review
The map page colors links and exposes history and detail panels for presentation.

Failure Modes

What this page tells you when something breaks

Expand for the recovery behavior behind health failures, empty map data, and slow refreshes.

Health request fails
The health panel keeps the last successful values, marks the section as unavailable, and prompts a retry.
Map feed is empty
The page distinguishes “no rows yet” from request failure so you can demo an empty DB without confusion.
Slow refresh
The snapshot button disables while requests are in flight to prevent overlapping fetches.
Partial outage
Health and map feed fail independently, so one broken endpoint does not blank the whole console.