Some visualizations animate, pulse, and flash. If you're sensitive to motion or flashing, turn on Reduce motion in your system settings.

poopdeck.gl

NYC Yellow Cab Trips

Animated trails

Half a million OSRM-routed cab trips animated on the GPU as trails.

NYC TLC
About this demo

Every yellow-cab trip from New Year’s Day 2015, routed through the Manhattan street network with OSRM so each trip follows real streets rather than straight pickup-to-dropoff lines. Per-segment timing comes from OSRM’s duration annotations, so cabs are slower through midtown and faster on the FDR.

Animation runs entirely on the GPU: every vertex carries a timestamp, and a time-filter shader fades each trail in over the trailing window as the playhead advances — so half a million trips animate by updating one uniform, with no per-frame CPU work. The cyan trails fade toward their tails.

The same archive is cut several other ways in the fullscreen viewer: the trip heads alone, the pre-aggregated OD corridors, origin–destination arcs and a Quadbin OD summary. Montréal’s bike-share network gets the same treatment across a bundled flow map, street-routed corridors and a live feed.

How it was built
stt-generate nyc-rideshare --download 2015-01 --paths \
--max-trips 50000 --output nyc-taxi-paths.stt

Trips are routed through OSRM (OpenStreetMap road network). The processed OSRM graph is staged in stt:scripts/data-generation/osrm-data/ — start it with cd stt:scripts/data-generation && ./setup-osrm.sh run (Docker) before building.

Full recipes for every dataset live in the data-generation guide.

Related demos