No tiene que ver con el mapa, porque el trazado está el GPX. Lo que pasa es que el GPX solo son puntos y hay muchas maneras de calcular la distancia recorrida entre dos puntos. Una manera, la más obvia, es calcular la distancia entre dos puntos en línea recta. La otra, la más precisa, es interpolar una curva entre varios puntos y calcular la distancia recorrida por la curva, que seguro será siempre igual o mayor que la línea recta, además de más preciso. El siguiente motivo es simplemente el error acumulado del algoritmo de cálculo. Supongamos que los dos sistemas calculan la distancia en base a las distancias entre puntos en línea recta. Dependiendo de cómo redondee la distancia de cada tramo entre los dos puntos cada algoritmo el resultado final diferirá ligeramente. Por ejemplo, si un algoritmo se queda en dos decimales cortando el resto (redondeo a la baja) o si se queda dos decimales redondeando al más próximo según el tercer decimal habrá un pequeño error de hasta 0,01m por tramo. Si hay 1000 puntos en un track eso puede dar una diferencia de hasta 10m en ese track.
Sin ánimo de polémica... 20 metros de diferencia en 70000 metros... 1 metro por 3500 metros ... un 0,o3 % de error... Tenías que haber visto los errores de principios de siglo, sin Galileo, sin Glonass, con el **** WAAS o EGNOS, sin la banda L5. Y tan contentos que estábamos. Haciendo geocaching era una risa... Me estoy haciendo viejo...