Activities, filters & heatmap
Every imported workout ends up on the Activities page, and every GPS track on the Heatmap. Both views share the same filter bar, so a filter you build on one applies unchanged to the other.
The filter bar
The bar narrows the list by:
- Type and discipline — facets with counts, computed from your data.
- Year — a facet listing every year with data; picking one is shorthand for a date range covering that year.
- Date range — explicit
from/todates, or the presets7d,30d,90dand1y. - Ranges — distance, duration, elevation gain, average speed, heart rate and power, each as a min/max pair in your preferred units.
- Flags — virtual, e-bike, commute and race, each tri-state: any, only, or none.
- Sort — newest, oldest, longest distance, longest duration, most climbing, fastest average.
The list is paged; the filter and page live in the URL, so a filtered view can be bookmarked or shared with another user of the instance.
Heatmap
The heatmap (/heatmap) draws every GPS track the current filter matches as a
translucent line on one map. Routes you ride or run often accumulate and burn
brightest; a one-off detour stays faint. Click a track to open its activity.
The tracks come from the server's 30-second aggregates through a single request
to GET /api/activities/heatmap, which accepts the same filter parameters as
the activities feed. The response covers the newest 5000 matching activities
and flags when it had to truncate; narrow the filter if you hit that ceiling.
The activity page and its map
Each activity has an interactive map and a static map snapshot that Cairn renders server-side for feeds, notifications and share links. The interactive map uses a key-less vector style by default; self-hosters can point the web UI at their own style and the snapshot renderer at their own tiles, see Maps in Configuration.
Managing an activity
The Manage page of an activity (owner only) collects the maintenance actions:
- Export the activity as GPX, TCX or FIT. The export options let you strip
data before download: GPS, altitude, distance, speed, heart rate, power,
cadence, temperature and the title can each be excluded. The same choices are
available on the API as
GET /api/activities/{id}/export.gpx?exclude=gps,heart_rate,...(likewiseexport.tcxandexport.fit). Valid keys:gps,altitude,distance,speed,heart_rate,power,cadence,temperature,title; an unknown key is a400.GET /api/activities/{id}/export/optionsreturns which of them the activity has (available). - Regenerate map snapshot re-renders the static
map.png, for when the track changed after the snapshot was cached or a render failed (POST /api/activities/{id}/map/regenerate). - Merge policy and source handling, see Merging sources.
Related
- Importing activities — where activities come from.
- Segments & best-efforts — what is computed on every import.