mergeStationaryRuns
fun mergeStationaryRuns(positions: List<Position>, radiusMeters: Double = TRACK_STOP_RADIUS_METERS): List<TrackRun>(source)
Collapses each run of consecutive fixes that stays within radiusMeters of the run's first fix into one TrackRun. positions must be oldest-first, and so is the result.
Distance is measured from the run's first fix, not the previous one, so a slow drift still breaks into new points. A fix missing either ordinate is never merged.