GpxFix Blog

How GpxFix Reconstructs Indoor Track Runs — even when GPS drops out

By on . Last updated .

The problem: GPS → indoors → no signal

Many runners start their session outside, often from their workplace, then jog to an indoor stadium or track. Once inside, the phone or watch typically loses GPS signal. Some runners also cool down afterward by jogging back home. The result can be a workout file with a large gap where it appears you were standing still for the entire indoor portion of the run. Depending on the device you use, this can break pace calculations, distort total distance, and leave the visual route map looking incomplete or incorrect.

Some sports watches can automatically track both indoor and outdoor running within a single activity, while others require you to manually switch between ‘indoor’ and ‘outdoor’ modes. Outdoor running relies on GPS, whereas indoor running typically uses the watch’s accelerometer to estimate distance based on stride length and cadence—methods that vary in accuracy. However, even watches that automatically switch between indoor and outdoor modes cannot track your precise path on an indoor running track.

You could of course stop your sports watch when you move indoors and start a treadmill session instead. Most sports watches can estimate distance and pace fairly accurately when running on a treadmill or under a closed roof. The downside is that you end up with three separate workouts if you also run home afterward. And for most people, having one continuous session in Strava is far preferable to splitting the activity into three different workouts.

What GpxFix does

GpxFix attempts to recover the missing portion of your workout by:

  1. detecting if you passed a known indoor track,
  2. checking whether GPS dropped out for an extended period while heart-rate data continued, and
  3. reconstructing your movement using reference GPS profiles for that indoor track.

Currently supported track: the indoor track at Bislett Stadium, Oslo, Norway.

How the detection works (step by step)

  1. Approach detection: GpxFix scans your recorded GPS path to see if your route passed close to the known entrance/approach geometry of a supported indoor track.
  2. Signal loss check: if GPS points stop for a prolonged stretch, the app flags that segment as “missing.”
  3. Sensor corroboration: GpxFix confirms the missing segment is likely real running by inspecting heart-rate (HR) data — continuous HR while GPS is absent strongly indicates you were still exercising.
  4. Track match: if approach and HR checks match a supported track (e.g. Bislett), GpxFix chooses the best reference lap/profile for interpolation.
  5. Interpolate along the track: using time, HR-derived effort cues, and typical lap times, GpxFix places you on the indoor track at each missing timestamp to reconstruct distance, pace, and position.

Technical details — interpolation & timing

Reconstruction balances three inputs:

  • Timestamps: the missing interval’s start and end times anchor the reconstruction.
  • Heart rate and cadence (if available): HR can be used to estimate relative speed/effort and refine lap timing when GPS is absent.
  • Reference GPS profiles: a map of the track (a precise lat/lng loop) and historical lap times for typical paces are used to convert elapsed time into progressed distance along the loop.

Example: if you entered the indoor track at 16:35 and GPS resumed at 17:10, with steady heart rate consistent with running, GpxFix distributes the elapsed time along the track loop(s) to create plausible lap-by-lap positions and cumulative distance.

Why heart rate helps

Heart rate is the key to distinguishing sitting in a café from continuing to run inside. Continuous elevated HR during the GPS gap makes it far more likely the missing segment represents active running — which justifies reconstructing distance rather than leaving a gap.

User experience — what you see

When GpxFix reconstructs a missing segment you will typically see:

  • The map is updated with a clean loop inside the stadium area rather than a complete stop.
  • Corrected distance and pace statistics for the session (total distance increases if laps were missed by GPS).

Limitations and safety checks

GpxFix uses conservative rules to avoid fabricating runs:

  • It only reconstructs when approach geometry, prolonged GPS loss, and continuous HR all point to indoor running.
  • It uses trusted reference data for the track (lane geometry and loop length) — when reference data is missing or unreliable, no reconstruction is attempted.
  • Reconstruction assumes running on the track layout; if the runner actually walked elsewhere indoors, the result could be incorrect. That’s why we annotate reconstructed segments.
  • We have no way of knowing what direction you went, so the reconstructed path direction may be in the opposite direction. For most indoor stadiums there is a predefined running direction and in these cases we use that to determine the likely path.

Privacy & data

Reconstruction uses only data already present in your activity file (GPS points, timestamps, heart rate). No extra data is collected and no data is stored on our side.

Future improvements

Planned enhancements include:

  • support for more indoor tracks and stadiums,
  • better use of cadence/accelerometer where available to refine lap timing, and
  • manual review controls (approve/adjust reconstructed laps before saving).

Closing thoughts

To summarize, GpxFix lets you combine outdoor and indoor activities in one workout.

As always, we recommend being transparent. If you are going to upload the workout to Strava you should mention that the track was restored with GpxFix. Note that the reconstruction is an estimate based on typical lap times and may not reflect your exact performance indoors.

Other blog posts

Share to