R Roam Consigue Roam

Por qué el desnivel del GPS sale mal, y qué arregla un barómetro

La vertical es lo que peor mide un receptor de satélite, y la forma en que se totaliza el desnivel convierte esa debilidad en un error grande y siempre positivo. Por qué un sensor de presión es mejor instrumento, y dónde falla también él.

Haces una vuelta llana junto a un canal. La app te dice que has subido cuatrocientos metros. Tu ruta no tuvo nada de raro; el número se montó de una forma que garantiza que salga demasiado alto.

La vertical es el eje débil

Un receptor de satélite resuelve tu posición a partir de la geometría de los satélites que alcanza a oír, y esa geometría es intrínsecamente asimétrica. En horizontal los satélites te rodean, así que los errores procedentes de direcciones opuestas se cancelan en parte. En vertical todos los satélites están por encima de ti —la Tierra tapa a los que estarían por debajo— y no hay nada al otro lado con lo que cancelar. El resultado es una regla empírica que se sostiene desde hace décadas: el error vertical es más o menos entre dos y tres veces el horizontal.

Hay un segundo problema, independiente del anterior. El GNSS informa de forma nativa de la altura sobre un elipsoide matemático, no sobre el nivel del mar, y la diferencia entre ambos varía en decenas de metros según el punto del planeta. Los receptores aplican una corrección del geoide, y los modelos no coinciden, que es parte del motivo por el que dos dispositivos en la misma cima no se ponen de acuerdo sobre su altitud.

Por qué sumar lo empeora, y siempre en el mismo sentido

El desnivel positivo no es una medición. Es una suma: recorres las muestras de altitud y vas acumulando cada subida. Esa operación tiene una propiedad desafortunada: el ruido contribuye a ella, y contribuye únicamente en positivo.

Supón que la altitud real es completamente plana y que tus muestras oscilan unos pocos metros arriba y abajo. Cada oscilación hacia arriba se cuenta como ascenso. Cada oscilación hacia abajo no cuenta nada, porque el descenso no resta del desnivel positivo. Toma una muestra por segundo durante dos horas y un sensor que simplemente es ruidoso habrá fabricado cientos de metros de ascenso sobre un camino de sirga perfectamente horizontal.

Por eso las apps aplican un umbral e ignoran los cambios menores de cierto número de metros. Ayuda, y trae su propio error: sube el umbral lo bastante para acallar el ruido y dejarás de contar también las subidas pequeñas y auténticas de las que está hecha una carretera rompepiernas.

Qué hace distinto un barómetro

Todos los iPhone recientes llevan un sensor de presión. La presión del aire cae con la altura de una forma bien conocida —muy a grandes rasgos, un hectopascal cada ocho o nueve metros cerca del nivel del mar— y el sensor es lo bastante sensible como para resolver cambios muy por debajo del metro.

Y lo fundamental: es un instrumento completamente independiente. Sus errores no tienen nada que ver con la geometría de los satélites, ni con los cañones urbanos, ni con la cubierta arbórea, ni con el modelo de geoide, y su ruido a corto plazo es muchísimo menor que el ruido vertical del GNSS. Para el trabajo concreto de detectar «¿estoy subiendo ahora mismo?», que es la única pregunta que hace en realidad el desnivel positivo, es el mejor sensor con diferencia.

Roam lee el sensor de presión, guarda la altitud barométrica junto a la del GPS en cada punto y prefiere el valor barométrico siempre que exista. Se conservan las dos columnas, así que no se tira nada.

Dónde falla el barómetro

Mide presión, no altura, y la presión cambia por motivos que no tienen nada que ver contigo.

Lo sensato es usar el barómetro para el desnivel y tratar cualquier altitud absoluta suelta como aproximada. En iOS, además, el sensor vive detrás del permiso de Movimiento y forma física, lo que significa que una app puede perder el acceso a él sin que nada se rompa de forma visible.

El fallo que nadie detecta

El error interesante no es un número equivocado. Es un número ausente que parece normal. Si la columna barométrica está vacía durante toda una ruta, una app que simplemente recurra a la altitud GPS informará de una cifra de aspecto plausible, y nada en pantalla indicará que el buen sensor no llegó a participar.

Eso pasó en la propia historia de esta app: la altitud barométrica era nula en los nueve mil puntos de una ruta y no había forma de saber cuál de cinco motivos posibles se aplicaba, porque el sensor sencillamente nunca se había llegado a construir, y un sensor ausente es indistinguible de uno mudo. El arreglo consistió en darle un nombre a cada motivo y registrarlo en el momento en que se toma: no hay hardware en este dispositivo, el permiso nunca se pidió, el permiso se denegó, está restringido por un perfil de gestión o un control parental, está desactivado en los ajustes de la propia app, o arrancó y luego falló. Cada uno tiene un remedio distinto, y dos de ellos son un interruptor que está en manos del ciclista.

Qué hacer con tus propios números

  1. Haz una ruta llana y mira el desnivel que te informa. Cualquier cosa por encima de unas pocas decenas de metros en una hora sobre terreno realmente plano es ruido sumado.
  2. Compara dos dispositivos en la misma ruta. Cuenta con que los totales no coincidan, y con que el barométrico salga más bajo y más estable.
  3. No compares el desnivel entre apps como si fuera una magnitud medida. Umbrales distintos y suavizados distintos producen respuestas distintas a partir de datos idénticos.
  4. Trata la altitud absoluta como una cifra orientativa y el desnivel como la cifra fiable, que es justo lo contrario de lo que intuye casi todo el mundo.

Preguntas frecuentes

¿Por qué me sale tantísimo desnivel con el GPS?

Porque el desnivel es una suma de cambios hacia arriba, y el ruido vertical del GPS contribuye solo hacia arriba. Cada oscilación en positivo se cuenta como ascenso y cada oscilación en negativo no cuenta nada, así que una hora de muestras ruidosas fabrica desnivel sobre terreno llano.

¿Es más preciso el desnivel barométrico que el del GPS?

Para el desnivel, bastante más: resuelve cambios de menos de un metro y sus errores no tienen relación con la geometría de los satélites. Para la altitud absoluta solo es tan bueno como su calibración, porque el tiempo atmosférico mueve la presión que mide.

¿El tiempo atmosférico afecta a la altitud barométrica?

Sí. Un frente al pasar puede mover la presión al nivel del mar lo suficiente como para leerse como cien metros o más a lo largo de un día. En una salida corta la deriva es menor; en un viaje de varios días importa, y por eso el sensor se usa para el cambio relativo y no para la altura absoluta.

¿Por qué dos apps dan desniveles distintos de la misma ruta?

Sensores distintos, umbrales de ruido distintos y suavizados distintos. El desnivel no es una medición, sino la salida de un algoritmo, así que la misma ruta en bruto produce legítimamente totales diferentes, y compararlos entre apps significa muy poco.

Un registrador que no pierde la ruta

Roam confirma cada posición GPS en el teléfono en el instante en que llega, marca los huecos de señal en lugar de trazar una línea recta por encima, y lee el desnivel del barómetro y no de la altitud GPS. Sin cuenta, sin iniciar sesión, sin sincronización. Grabar una ruta, verla y reproducirla es gratis.

Descargar en el App Store

Guías relacionadas

Todas las guías