Convertir KML a TCX

Aquí puedes convertir KML a TCX gratis y sin cuenta: suelta el archivo arriba y en un par de segundos tienes el resultado listo para descargar. La conversión ocurre en tu propio navegador, así que el archivo no se sube nunca. Funciona igual en Windows, macOS y Linux que en iPhone y Android, y sigue funcionando aunque cortes la conexión.

  • Dónde se ejecuta En tu navegador. El archivo no se sube.
  • Reconstruido TCX funciona de otra manera que KML. No es la degradación gradual de un códec con pérdida: lo que TCX puede expresar se reproduce fielmente, y lo que no tiene equivalente allí no sobrevive en absoluto.
  • Límite de tamaño Hasta 100 MB por archivo, gratis y sin cuenta.
  • Conviene saberlo Las posiciones, la altitud y las marcas de tiempo sí viajan. Los datos de sensores, los estilos y las imágenes incrustadas no.

Hasta 100 archivos a la vez. Mezclar formatos no es problema.

La prueba de una línea que conviene hacer primero

Abre el KML en un editor de texto y busca la palabra `when`. Si aparece, el archivo contiene una geometría con marcas de tiempo reales y esta conversión va a producir una actividad sensata. Si no aparece —y en cualquier cosa dibujada a mano no va a aparecer—, lo que tienes es una forma sin reloj, y el TCX que salga de ahí será un entrenamiento que afirma haber ocurrido a medianoche del 1 de enero de 1970 y haber durado nada.

Eso no es un fallo que haya que sortear: es lo que contiene el origen. Un TCX es el registro de una sesión de entrenamiento, y una sesión se define por cuándo empezó y cuánto duró antes que por dónde pasó. Una línea dibujada sobre un mapa no tiene ninguna de las dos propiedades, y ningún conversor puede suministrarlas sin inventárselas.

Qué escribe exactamente la fecha de reserva

El esquema TCX exige un atributo `StartTime` en cada `<Lap>` y un `<Id>` en cada `<Activity>`, y ambos son marcas de tiempo. Sin horas en el origen no hay nada que leer, así que se escribe el inicio de la era Unix —`1970-01-01T00:00:00.000Z`— en los dos, y `TotalTimeSeconds` sale como cero porque la diferencia entre la primera y la última marca no se puede calcular.

El archivo resultante es válido según el esquema, y por eso se sube en lugar de ser rechazado. Lo que hace después es menos ordenado. Una plataforma que ordene por fecha lo coloca cincuenta y tantos años antes que todo lo demás; un cálculo de carga de entrenamiento sobre una sesión de cero segundos o divide entre cero o la descarta; y cualquier ritmo derivado de distancia partida por tiempo queda indefinido. Nada de eso es una avería: es la aritmética de un archivo que dice que no duró nada.

El caso en que esta conversión es exactamente la correcta

La extensión de Google para datos grabados guarda dos listas paralelas: marcas de tiempo y posiciones, con las coordenadas separadas por espacios en lugar de por comas, al revés que el resto del formato. Se lee como un caso propio y no como una línea cualquiera, y esas marcas de tiempo se trasladan al elemento `<Time>` de cada punto del TCX.

Cuando es eso lo que tienes, todo lo de aguas abajo funciona como debe: el inicio de la vuelta sale del primer punto, la duración es el tiempo transcurrido real y la actividad aterriza en el sitio correcto del diario de entrenamiento. Es un camino genuinamente útil para quien graba con un programa que exporta KML y tiene que entregar archivos de entrenamiento, y es la razón por la que esta conversión existe en lugar de estar prohibida.

La distancia se mide sobre lo que dibujaste, no sobre lo que rodarías

Una vuelta de TCX tiene que declarar una distancia en metros y un KML no guarda ninguna, así que la cifra se calcula sumando la distancia de círculo máximo entre vértices consecutivos sobre una esfera de 6.371.000 metros de radio. Frente a un cálculo elipsoidal eso se desvía unas pocas partes por mil, y no es el error que debe preocuparte aquí.

El error que sí importa es la forma de la entrada. Una línea dibujada a mano tiene un vértice donde hiciste clic, de modo que cada curva ha quedado sustituida por la cuerda recta que la atraviesa. Un puerto con quince lazadas trazado con seis clics es medible y apreciablemente más corto que la carretera, y la actividad presentará esa cifra menor como un hecho. Una ruta ajustada a la red viaria por un planificador de verdad no arrastra ese problema.

Los campos que salen con valores neutros porque el KML no opina

Tres declaraciones se escriben con valores fijos porque nada en un KML les corresponde. El deporte de la actividad es `Other`, ya que el esquema sólo admite una lista corta y una línea dibujada no dice nada sobre la disciplina. La intensidad es `Active` y el método de disparo es `Manual`, que son las lecturas honestas para una vuelta que ningún dispositivo empezó ni paró.

Los tres conviene corregirlos después de importar si la actividad se va a quedar. Casi todas las plataformas permiten cambiar el tipo a posteriori, y el cambio importa más de lo que parece: los modelos de carga, las zonas de ritmo y la detección de mejores marcas están indexados por disciplina, así que una sesión archivada como `Other` queda discretamente fuera de casi todos. La intensidad y el disparo son cosméticos en comparación.

Qué pasa con las chinchetas del archivo

Un entrenamiento no tiene concepto de punto de interés, así que cuando el KML contiene líneas, las chinchetas sencillamente no se escriben. No hay ningún elemento de TCX que las alojara, e inventarse uno produciría un archivo que no valida para ningún lector.

Un KML hecho enteramente de chinchetas sí se atiende en lugar de rechazarse: los puntos se leen como una sola traza en el orden del documento, lo que produce una actividad que afirma un recorrido entre ellos. Si eso significa algo depende de qué eran las chinchetas. Una serie de controles a lo largo de un recorrido se convierte en algo reconocible; un puñado de sitios sin relación se convierte en una actividad que describe un viaje que nadie hizo, a una distancia que nadie recorrió, fechada en 1970.

Los ceros de altitud aterrizan en el campo de altitud

El tercer valor de una coordenada KML se convierte en la altitud del punto. Google Earth, al dibujar una línea pegada al terreno, escribe ese valor como `0` en todos los vértices porque el motor de dibujo lo ignora, de modo que un TCX convertido lleva con frecuencia altitud cero de principio a fin.

Una plataforma de entrenamiento que lea ese archivo informará de cero desnivel y de un perfil plano, que es la interpretación correcta de los números que le han dado. Cuando el KML omite del todo el tercer valor —cosa que hacen a menudo las exportaciones de mapas personalizados—, no se escribe ningún elemento de altitud, y entonces la mayoría de las plataformas rellenan la elevación con su propio modelo del terreno, produciendo una respuesta mejor de la que habrían dado los ceros. La ausencia es más útil que el valor falso, que es una frase poco habitual de poder escribir.

Y el orden de las coordenadas, que es donde todos se equivocan

Conviene saberlo si vas a inspeccionar el archivo a mano: en un KML las coordenadas se escriben longitud primero y latitud después, al revés que en el resto de formatos de este ámbito. Al escribir el TCX se separan en sus dos elementos con nombre, así que la ambigüedad desaparece, y las coordenadas se anotan con seis decimales, unos once centímetros sobre el terreno.

Esa precisión es varios órdenes de magnitud mayor de la que tiene el trazo que dibujaste con el ratón, y merece la pena tenerlo presente antes de sacar conclusiones de la cifra de distancia. Seis decimales describen con exactitud milimétrica una línea que se decidió a golpe de clic.

Pocos vértices producen una secuencia inverosímil

Más allá de la distancia, el número de vértices decide qué aspecto tiene la actividad una vez dentro del diario. Una salida grabada tiene un punto por segundo; una ruta dibujada puede tener uno por kilómetro. Las gráficas construidas con lo segundo están hechas de un puñado de muestras, y cualquier velocidad por punto que una plataforma quisiera calcular a partir de tiempos inexistentes sencillamente no se calcula.

El resultado es una actividad que se dibuja como una línea sobre el mapa y como un hueco vacío en todo lo demás: sin gráfica de ritmo, sin perfil, sin parciales. Es un reflejo justo de un archivo con cuarenta coordenadas y ningún reloj, y es el argumento práctico más claro para tratar la cosa como una ruta en vez de disfrazarla de sesión.

El formato de ruta que encaja con lo que realmente tienes

Si el KML es un plan, conviértelo a GPX y cárgalo como ruta o recorrido. Todas las plataformas y todos los dispositivos tienen esa función —cada marca la llama de una manera— y ninguno exige hora de inicio ni duración, porque un plan no debe tenerlas. La línea navegará, los puntos de interés irán con ella y nada en el archivo afirmará ser una medición.

La actividad que quieres existirá después, grabada por el aparato que siga el recorrido, con tiempos y datos de sensor reales. Ése es el orden para el que se construyeron estas herramientas, y da bastante menos trabajo que importar una sesión fabricada y corregirle a mano la fecha, el tipo y la duración.

Se convierte en la pestaña, decidas lo que decidas

El KML se analiza y el TCX se escribe en este navegador. Ninguna petición lleva el archivo a ninguna parte, cosa que el panel de red confirma durante una conversión, y la página sigue funcionando sin conexión una vez cargada.

En una ruta planificada la sensibilidad no es la misma que en una grabada, pero tampoco es nula. Una línea dibujada dice dónde piensa estar alguien, y una capa de mapas personalizados con visitas de clientes, viviendas por enseñar o puntos de inspección es información comercial reservada antes que información personal. Convertir en local significa que el plan no adquiere una copia en el disco de un tercero como efecto secundario de cambiarle la extensión.

Cómo convertir KML a TCX

  1. Suelta tu archivo KML en esta página, o haz clic para elegir uno.
  2. Elige TCX como destino. La conversión ocurre en tu navegador y el archivo no se sube.
  3. Descarga el archivo TCX terminado.

KML frente a TCX: qué cambia

KML frente a TCX
KMLTCX
Nombre completoKeyhole Markup LanguageTraining Center XML
Extensión de archivo.kml.tcx
Tipo de medioapplication/vnd.google-earth.kml+xmlapplication/vnd.garmin.tcx+xml
Publicado por primera vez2007
Publicado porKeyholeGarmin
EspecificaciónOGC KML 2.3Training Center XML
LicenciaEstándar abiertoPublicado, no estandarizado
Situación actualVigenteVigente
Se abre en el navegadorNingún navegadorNingún navegador
Considerado en su lugarKMZ, GPXGPX, FIT

Abrir el resultado

Los programas de siempre no coinciden: KML se abre en Google Earth, QGIS y ArcGIS, y TCX en Garmin Connect, Strava y TrainingPeaks, así que quien reciba el resultado necesita alguno del segundo grupo.

Para qué sirve cada formato

Los dos apuntan a trabajos distintos: KML a los mapas y TCX a el registro deportivo. Conviene sopesarlo antes, porque la razón de ser de uno suele ser la razón por la que el otro resulta incómodo.

KML es el formato de Keyhole. Está recogido en OGC KML 2.3, y conviene conocerlo si el archivo tiene que sobrevivir a la herramienta que lo escribió.

TCX viene de Garmin y es de 2007, recogido en Training Center XML. Garmin Connect, Strava y TrainingPeaks lo leen.

De KML a TCX: preguntas frecuentes

¿Se sube a algún sitio mi archivo KML?

No. Esta conversión ocurre por completo en tu navegador, así que el archivo no sale de tu dispositivo. Puedes comprobarlo tú: abre la pestaña de red de las herramientas de desarrollo y convierte algo. Verás la propia página y las peticiones de estadística y publicidad con las que se paga este servicio, y ni una sola que lleve tu archivo.

¿Convertir KML a TCX es gratis?

Sí. Sin cuenta, sin marca de agua y sin cupo diario que se gaste: se ejecuta en tu propio equipo, así que puedes volver tantas veces como quieras. El navegador procesa archivos de hasta 100 MB, 100 a la vez.

¿Se pierde calidad al convertir KML a TCX?

KML y TCX describen el contenido de maneras radicalmente distintas. La conversión es por tanto una reconstrucción y no una copia: fiel, pero no idéntica byte a byte. Las posiciones, la altitud y las marcas de tiempo sí viajan. Los datos de sensores, los estilos y las imágenes incrustadas no.

¿Tengo que instalar algo para abrir un archivo TCX?

Para la conversión no: ocurre en el navegador que ya tienes abierto. Para abrir el resultado necesitas después el programa con el que tu dispositivo muestra normalmente Training Center XML.

Más sobre estos formatos