Movement replay
Playback shows the actual snapshots saved at each time, without inventing intermediate positions. All display times use America/Toronto. Select a route or vehicle to draw its track.
Vehicles at the playback time
This list follows the map's route, vehicle, movement and stale-position filters. Up to 200 markers are listed; narrow the route to see its vehicles.
| Vehicle | Route | Status | Speed (km/h) | Position age (s) | Latitude | Longitude | Position time |
|---|
Vehicles reporting over time
Fresh vehicles in each saved snapshot, for the current selection.
Reported speed distribution
Unique fresh observations. Zero and near-zero speeds are included.
What the selected window shows
Routes and the vehicles serving them
Click a route to filter the map and vehicle table. A vehicle can appear on more than one route during the collection.
| Route ID | Vehicles | Trips | Unique observations | Distance (km) | Mean speed (km/h) | Stationary samples | First position | Last position |
|---|
Vehicle histories
Click a vehicle to isolate its track. Distance excludes long gaps, route/trip changes and implausible jumps. The table shows up to 200 matches; use search to find any vehicle. Exports include all matching vehicles.
| Vehicle ID | Route IDs | Trips | Observations | Distance (km) | Mean speed | Maximum speed | Stationary samples | First position | Last position |
|---|
Data quality and collection coverage
These figures describe the entire saved collection, independent of filters.
Methods, interpretation and source
- Source: saved TTC GTFS Realtime VehiclePositions snapshots from TTC BusTime. This collection can contain buses, streetcars and other reported TTC vehicles; vehicle type is not assigned from IDs.
- Fresh means an observation timestamp is between 0 and 90 seconds before its download time. Summaries use observations fresh in at least one selected snapshot. The map can optionally show stale positions.
- Observations are deduplicated by vehicle ID and observation timestamp. For conflicting records at the same key, the first captured coordinates and metadata are retained. Raw snapshots remain unchanged.
- Distance sums great-circle segments between consecutive unique positions of the same vehicle, route and trip. Only intervals up to 120 seconds and implied speeds up to 120 km/h are accepted. This is an approximate sampled path length, affected by GPS noise and missed turns; it is not odometer distance. Unknown-route segments may contribute to the separate unknown-route group.
- Mean speed and stationary share are observation-weighted, not time-weighted. Stationary means reported speed ≤ 1 km/h. Missing or implausible reported speed (< 0 or > 120 km/h) is excluded. Stationary samples do not establish passenger dwell time, congestion or delay.
- Trip IDs and stop IDs are retained as text. A trip count means distinct reported trip IDs, not completed trips. TTC Surface GTFS S1000538 (declared coverage September 6–October 31, 2026) supplies scheduled paths and stops, filtered to service active September 22. Trip matching requires both route ID and trip ID. Route-level views use representative active trip patterns for both directions. Downloaded September 23; the feed is not proof of what was published on September 22 or of actual diversions. Route 600 has no match in this surface feed. Headways and punctuality are not calculated.
- Vehicle gaps over 120 seconds indicate missing observations, not necessarily a service interruption. A route-ID change does not by itself establish an operational reassignment.
- The embedded dataset is a fixed analysis copy, not a live connection. It contains all snapshots listed in its embedded source manifest at build time. The map library and observations are embedded; online street tiles require internet. With the basemap off, tracks, coordinates and analytics remain usable offline.