Developer Deep Dive

How accurate is iPhone GPS for skiing?

What your phone gets right on the mountain, where it quietly struggles, and why there's a little bit of Einstein in every run you track.

7 min read  ·  Curious minds welcome

If you build a ski tracking app, there's one question you end up living with: how much can you actually trust the GPS in an iPhone? It's a fair question. When an app tells you that you did 23 runs, hit 68 km/h, and descended 6,400 vertical metres, you want to know whether those numbers are real or just confident-sounding guesses.

The honest answer is: iPhone GPS is impressively good at some things, surprisingly weak at one important thing, and the best tracking apps quietly work around that weakness using a sensor most people don't even know their phone has. Let's go through it - no engineering degree required.

How GPS works, in 60 seconds

High above you - about 20,000 km up - a constellation of satellites is constantly broadcasting one simple message: "here's exactly where I am, and here's exactly what time it is." That's it. They never listen, never reply, never know you exist.

Your iPhone picks up these signals and does a clever bit of maths. Radio signals travel at the speed of light, so by measuring how long each satellite's message took to arrive, your phone knows how far away each satellite is. With distances to at least four satellites, it can pin down its own position - a technique called trilateration. Think of it as the phone saying: "I'm exactly 21,300 km from this satellite, 22,150 km from that one…" and finding the one spot on Earth where all those distances are true.

Modern iPhones actually listen to several satellite systems at once - the American GPS, Europe's Galileo, Russia's GLONASS, and others - which is why your blue dot is noticeably better than it was a decade ago. More satellites in view means better geometry and a more confident fix.

The part where Einstein shows up

Here's the bit that still amazes me as a developer. GPS positioning depends entirely on extremely precise timing - light travels about 30 cm in a single nanosecond, so a tiny clock error becomes a real positioning error. And it turns out the atomic clocks on GPS satellites don't tick at the same rate as clocks on Earth.

Two of Einstein's theories are quietly fighting it out up there:

Special relativity says that because the satellites are racing around the Earth at about 14,000 km/h, their clocks tick slightly slower than ours - by roughly 7 microseconds per day.

General relativity says that because the satellites sit far from Earth's mass, where gravity is weaker, their clocks tick slightly faster - by roughly 45 microseconds per day.

General relativity wins the tug-of-war: the net effect is that satellite clocks run about 38 microseconds per day fast compared to clocks on the ground. Thirty-eight millionths of a second sounds like nothing - but multiply it by the speed of light and you get positioning errors that would grow by roughly 10 kilometres every single day if nobody corrected for it. Your ski app would place you in the next valley by lunchtime.

Fun fact

The satellite clocks are deliberately tuned to tick at the "wrong" rate before launch, so that once they're in orbit, relativity bends them back to exactly the right one. Every time you check your max speed after a run, you're benefiting from physics published in 1905 and 1915.

Latitude & longitude: the good news

For horizontal position - where you are on the map - iPhone GPS is genuinely excellent, especially on a ski slope. Under open sky, a modern iPhone typically lands within about 3–5 metres of your true position, and recent Pro models with dual-frequency GPS can do even better.

And a mountainside is close to ideal GPS territory. Unlike a city, there are no glass towers bouncing signals around and no tunnels blocking the sky. You're standing on an open, elevated slope with a huge view of the heavens - which, from a satellite's perspective, makes you an easy customer. (Dense tree runs and narrow gorges are the exception; terrain can block part of the sky and the fix gets a little wobblier.)

A few metres of error is nothing over the length of a run. If you ski a 2 km descent, a 4-metre wobble at the edges changes your distance by a fraction of a percent. Your route on the map, your downhill distance, your top speed - all of these are built on the strong side of GPS.

Altitude: the weak spot

Now for the uncomfortable truth: GPS is noticeably worse at telling you how high you are. Vertical error is typically two to three times larger than horizontal error - so the same phone that knows your position within 4 metres might only know your altitude within 10–15 metres, and it can drift around while you stand perfectly still in a lift queue.

The reason is geometry. To measure your altitude well, the phone would ideally hear from satellites below you as well as above. But there's a planet in the way. Every satellite your phone can see is somewhere in the sky overhead, so the maths is well-braced horizontally and poorly braced vertically - a bit like trying to judge the depth of a pool while only ever looking at it from above.

For a ski tracking app, this is a real problem. Altitude isn't a nice-to-have statistic - it's the backbone of everything interesting:

Counting your runs means detecting when you switch from going up (lift) to going down (skiing). Your total descent is literally a sum of altitude changes. Even telling a lift ride apart from a gentle traverse leans on elevation. If the altitude signal is jumping around by 10–15 metres, a naive app might count phantom mini-runs while you're standing still, or miss the start of a real one.

The barometer: the quiet hero

Luckily, your iPhone has a second altitude sensor that most people never think about: a barometer. Every iPhone since the iPhone 6 contains a tiny pressure sensor, and air pressure changes very predictably with altitude - climb about 8 metres and the pressure drops by roughly one hectopascal.

For measuring changes in altitude, the barometer is in a different league from GPS. It can resolve differences of well under a metre - it can practically tell which floor of a building you're on. Where GPS altitude wanders, the barometric reading moves smoothly and immediately as you descend. Drop into a run and the pressure sensor knows it within seconds, no satellites required.

The barometer has one quirk: it measures pressure, and pressure also changes with the weather. If a front rolls in during your ski day, the sensor's idea of "sea level" slowly drifts. That's why it's brilliant at relative altitude (how far you just descended) and unreliable for absolute altitude (your exact elevation above sea level) over a full day.

So the recipe used by good tracking apps - Snowmate included - is to let each sensor do what it's best at: GPS anchors your absolute position and elevation, while the barometer provides the crisp, responsive altitude changes that make run detection and vertical descent stats trustworthy. Fused together, you get numbers far better than either sensor alone.

Developer note

This is also why a run counter based purely on GPS altitude tends to be flaky, and why the barometer is one of the most underrated pieces of hardware in your pocket on a ski day.

No signal? No problem

One last thing that surprises a lot of people: GPS does not need an internet connection. Remember, the satellites only broadcast and your phone only listens - there's no account, no data plan, no network involved in working out where you are.

This matters more at a ski resort than almost anywhere else. Mobile coverage in the mountains is famously patchy: fine at the base station, gone behind the ridge, one hopeful bar at the summit. None of that affects tracking. Your phone can sit in airplane mode all day and still record every run with full accuracy - which, as a bonus, also saves battery, since the phone isn't burning energy searching for a signal it can't find.

(The small print: a connection helps GPS get its first fix faster, because the phone can download satellite positions over the network instead of waiting to hear them from space. And map tiles need to load from somewhere - so the route line is recorded offline, but the pretty map underneath it may want to wait until you're back on Wi-Fi.)

So, can you trust the numbers?

Here's the short version of everything above. Your route on the map and your distance: very trustworthy. Your top speed: solid, especially with a clear view of the sky. Raw GPS altitude on its own: shaky. Altitude changes measured with the barometer: excellent - and that's what your run count and total descent should be built on.

So when a well-built tracking app tells you that you did 23 runs and 6,400 vertical metres, those aren't guesses. They're the result of atomic clocks, two theories of relativity, a constellation of satellites, and a tiny pressure sensor all quietly agreeing with each other in your jacket pocket. Not bad for a device that's mostly used for photos of the lunch menu.

If you'd like to put all this hardware to work, our guide on how to track your ski & snowboard runs on iPhone covers the practical side - keeping your battery alive in the cold and choosing an app that fits how you ride. And if you want one that does the GPS-plus-barometer fusion for you, Snowmate records your runs, speed, and descent automatically - but whichever app you choose, at least now you'll know exactly what those numbers are made of.