Los usuarios habituales de GPS y aplicaciones de navegación bien sabéis de las diferencias en el cálculo de desnivel positivo o negativo (metros de ascenso y descenso) que encontramos cuando colgamos un track en distintas webs/APPs de rutas o cuando comparamos estos datos por los ofrecidos por el propio dispositivo. ¿Cómo calcular el desnivel positivo acumulado en una ruta? Vamos a tratar de entenderlo.
¿Y por qué estas diferencias?
¿Cómo puede ser que Wikiloc calcule solo 400+ si llego a casa muerto y con la sensación de no haber dejado de subir en toda la ruta? Es una pregunta que me hago habitualmente. La respuesta obvia y que no os negaré es que soy un flojo… Pero también tienen algo que ver un par de parámetros: la distancia entre los puntos desde los que se mide la altitud y la diferencia de altitud mínima que las aplicaciones que calculan los datos consideran «desnivel».
Obviaremos la precisión del dispositivo que recoge y graba los datos en un track. Imagino que de eso también podrá hablarse mucho. En esta entrada, no obstante, nos centraremos en los datos de un track ya grabados en formato GPX y listo para ser colgado en cualquier web de intercambio de rutas.
El formato GPX guarda la información de la ruta en un formato XML. Tras las cabeceras con el nombre de la ruta, el autor, la fecha de realización y otros datos de interés, se presenta el listado con los puntos del track:
Vemos que para cada punto el dispositivo guarda latitud, longitud, elevación y fecha y hora. Con estos datos es posible trazar la ruta y calcular parámetros de distancia, altitud y velocidad.
En ocasiones sucede que el GPS pierde señal de satélite, o falla y graba puntos con incoherencias en la elevación, por ejemplo. Podemos corregirlo editando el GPS a mano.
El Análisis
Sabiendo esto un buen día me dio por procesar la información de un track en GPX con la ayuda de Excel. A lo bruto. Distribuí por filas la información de cada punto y calculé la diferencia de altitud de cada punto con respecto al anterior. Al sumar todas estas diferencias, en positivo o negativo cuando aplicara, obtuve datos de ascenso y descenso total completamente diferentes a los que me daba Wikiloc: unos 500 metros de diferencia. ¿A qué responde este hecho? Fijándome en los puntos del track (más de 7.500) vi que la diferencia de elevación entre ellos era, en la mayoría de los casos, de centímetros.
Observad la tabla siguiente, correspondiente a los primeros puntos de ese track:
Podéis ver claramente cómo las diferencias entre puntos consecutivos son mínimas. 6 centímetros de media, para ser más precisos. Mi cálculo incluyó todas estas pequeñas diferencias que a lo largo de 7.500 puntos fueron significativas. Pensé que, en cambio (y aquí viene la madre del cordero), las aplicaciones web de intercambio de rutas tenían establecidas diferencias mínimas a partir de las cuales se considera relevante una ascensión o un descenso. En otras palabras, se ignorará todo desnivel menor de, por ejemplo, un metro. Esta misma teoría aplica a la distancia longitudinal: no se calculará desnivel para distancias menores de x metros a lo largo de todo el track.
Dando una vueltita de tuerca más a mi razonamiento y para poder jugar con esas dos variables que, a mi entender, intervienen en el cálculo de desnivel, decidí preparar una macro en Excel que estoy encantado de compartir.
Podéis descargar el archivo aquí.
¿Cómo funciona? Es muy fácil. En la pestaña «Calculadora Desnivel» solo hay que indicar los valores mínimos de distancia y diferencia de elevación entre dos puntos que se considerarán relevantes. Si entre dos puntos se calculan diferencias menores que estos valores que introduzcamos no se considerarán.
Si por defecto dejamos estas celdas con ceros, se tendrán en cuenta todas las diferencias de altitud independientemente de su magnitud y de la distancia longitudinal entre los puntos desde los que se midan.
Tras establecer estos valores se pulsa el botón «ANALIZAR ARCHIVO GPX» y aparecerá un diálogo para seleccionar el archivo del track. Solo procesa archivos GPX.
Lo primero que hace la macro es presentar la información de los puntos en filas en la pestaña «Puntos del Track». A continuación se recorre esta información para calcular desniveles positivo y negativo, distancia, altitud máxima y mínima y pintar el perfil de elevación.
- Latitud: dato puro recuperado el track
- Longitud: dato puro recuperado el track
- Tiempo: se obvia la fecha y se especifica la hora en formato HH:MM:SS
- Avance: en metros, la distancia entre un punto y el anterior. Se calcula en función de la latitud y la longitud. Utilicé el código especificado en esta web.
- Avance Acumulado: en metros y en kilómetros, la suma de los avances individuales, esto es, el progreso longitudinal de la ruta punto a punto.
- Elevación: en metros, altitud en cada punto del track.
La información procesada se presenta finalmente en la pestaña «Calculadora Desnivel»:
Estos datos son por todos los ruteros conocidos. Lo mismo que la gráfica de perfil.
¿Y esto para qué?
¿Dónde está la gracia de todo esto? en jugar con los parámetros de entrada para analizar cómo se recalculan los desniveles positivo y negativo.
Veamoslo con un ejemplo:
A – Ignorando distancias y desniveles mínimos.
B – Aplicando algunos valores: se tomarán puntos cada 100 metros y se ignorarán valores de diferencia de desnivel de menos de 4 metros.
Observemos cómo los desniveles positivo y negativo decrecen. Esto es porque el algoritmo que mide las diferencias «pierde sensibilidad» e ignora según qué valores por debajo de los dos límites establecidos.
Seguro que la macro contiene errores. Si los encontráis no dudéis en reportarlos.
Para concluir, remarcar que esta macro no pretende sino ser una utilidad (vuelvo al principio) para explicar las diferencias que muchos usuarios observamos en el cálculo de desniveles de las distintas herramientas a nuestro alcance.
¡Si se os ocurre cómo mejorarla decídmelo!
Eres un Frikazo hay que ver más porno jajajaja
Llego a tu página 6 años y medio después …
Muy interesante. Como buen freaky de esto, yo también había analizado el gpx con excel pero tiré la toalla cuando vi las, para mí, inexplicables diferencias de desnivel entre el dato excel y el de las app habituales. Enhorabuena por tu análisis que, además, también explica por qué un mismo fichero gpx da resultados diferentes dependiendo de con qué app lo abramos.
Aprovechando de paso, ¿no habrás averiguado cómo saber el desnivel acumulado hasta un punto intermedio de la ruta?
¡Gracias por tu análisis y por compartir!
Hola Carlos. Muchas gracias por tu comentario. Me parece muy interesante lo que comentas de calcular el desnivel acumulado hasta determinado punto de la ruta. ¡Haré una nueva versión del Excel que muestre esa información!
Saludos
¡Hola!
Acabo de colgar una nueva versión con un control para calcular el desnivel acumulado hasta un determinado punto intermedio que puedes fijar en la celda de debajo del intervalo de desnivel y de distancia,
¡Saludos!