R Roam Get Roam

What should a GPS recorder do when the signal drops?

Every tracker meets a tunnel eventually. The difference between them is what they write down about the part they could not see — and the common answer, a straight line across the gap, is a number the app cannot stand behind.

You ride into a tunnel. For four minutes the receiver hears nothing. You come out the other side and the fixes resume. Your app now has two clouds of points with a hole between them, and it has to decide what to write down about the hole.

There are only three honest options, and most apps pick the first one.

Option one: draw a straight line

Join the last point before the outage to the first point after it and treat that line as ridden. It is the easiest thing to implement and it looks tidy, which is most of why it is the default.

It is also fiction. The app has no evidence about what happened in those four minutes. The straight line will cut through a hillside or across a river, and its length — whatever it is — gets added to your distance, where it is indistinguishable from distance you actually covered. On an urban route with a dozen short dropouts, that adds up quietly and in one direction: always upward, never down.

The worst case is not a tunnel at all. It is the phone that lost reception at the bottom of a valley, reacquired eleven kilometres later, and drew a perfectly straight eleven-kilometre line over a mountain you cycled around.

Option two: throw the ride away

Refuse to show anything you are not sure about. Nobody does this, and nobody should — an eighty-kilometre ride with four bad minutes in it is a good ride, and deleting it to protect a statistic is a poor trade.

Option three: record the hole as a hole

Keep the two segments separate, store the gap as a real object with both ends and a timestamp, do not interpolate anything across it, and do not add its straight-line length to the distance. Then say so on screen: this stretch is missing, it lasted four minutes, and the number below does not include it.

This is less tidy and considerably more useful. It means the distance figure is a floor rather than a guess — everything in it is something the receiver actually saw — and it means you can tell, afterwards, whether a ride is a clean measurement or one with holes in it. A slightly lower number you can trust beats a slightly higher one you cannot.

Roam takes this option. When the fixes stop, it closes the current segment and opens a new one, and the gap is stored in the two facts the closing point already carries, committed in the same transaction as that point — so a gap cannot exist half-written, even if the app is killed mid-tunnel. Gaps are never interpolated and their length is never counted as distance. The dashed stretch on the map and the sentence telling you how long the signal was gone are produced by the same function, so the picture and the number cannot drift apart.

The harder problem: a stop and an outage look identical

From a stream of coordinates alone, standing at a red light and losing reception are the same thing: the position stops changing, or stops arriving. Apps that guess wrongly in one direction pause your ride at the mouth of a tunnel and lose four minutes of elapsed time. Apps that guess wrongly in the other keep the clock running while you sit in a café, and report a two-hour ride at a moving average that makes no sense.

The way out is to stop asking the GPS. A phone has an accelerometer and it knows perfectly well whether it is being carried along at twenty-five kilometres an hour or sitting on a table, and that signal is completely independent of whether any satellite is audible. Roam uses the phone’s motion data for exactly this: to tell a genuine stop from a lost signal, so it does not pause your ride by mistake. It is the only reason the app asks for Motion & Fitness at all.

What to check in your own recorder

  1. Ride through a tunnel or a multi-storey car park, then look at the map. Is there a dashed section, or a suspiciously straight one?
  2. Compare the distance to a known route. Consistently high on urban rides is the signature of interpolated gaps.
  3. See whether the app tells you the outage happened at all. If it does not, you have no way to know which of your rides are clean.
  4. Stop for ten minutes somewhere with a clear sky and check whether the elapsed and moving times diverge sensibly.

None of this makes a phone into a survey instrument. A phone in a jersey pocket, under a wet jacket, next to a bag of tools, receives worse than a handlebar-mounted head unit with a proper antenna, and no amount of software fixes that. What software can do is be straight with you about which parts of the day it actually saw.

Frequently asked questions

Why does my GPS track cut through buildings?

Two different causes. Reflected signals in a street with tall buildings on both sides put individual fixes tens of metres off, which makes a jagged line. A single long straight segment through a block is different: that is an app joining two ends across a signal gap it has no data for.

Should distance include the tunnel I rode through?

It cannot be measured, so it can only be estimated or omitted. Adding a straight-line estimate silently mixes guessed distance with recorded distance in the same number. Omitting it gives you a distance that is slightly low and entirely made of things the receiver saw, plus a note about what is missing.

Why did my app pause my ride in a tunnel?

Auto-pause that works only from position data cannot distinguish "not moving" from "not hearing anything", so an outage reads as a stop. Using the phone’s motion sensors instead separates the two, because an accelerometer does not care whether a satellite is in view.

Does a signal gap mean the recording is ruined?

No. The parts either side are exactly as good as they were. What matters is whether the app tells you the gap is there and keeps it out of the totals, so you know what you are looking at.

A recorder that does not lose the ride

Roam commits every GPS fix to the phone the moment it arrives, marks signal gaps instead of drawing a straight line through them, and reads climb from the barometer rather than from GPS altitude. No account, no sign-in, no sync. Recording a ride, viewing it and replaying it are free.

Download on the App Store

Related guides

All guides