Unir várias trilhas GPX
A travessia de três dias, o relógio que dividiu a atividade, o celular que morreu no meio do caminho: aqui os pedaços viram um só arquivo, alinhados pelo horário e não pelo nome do arquivo.
Quando você acaba com vários arquivos, e por que colar um no outro não funciona
O caso não é “tenho dois arquivos”: quase sempre é um destes quatro. A travessia de vários dias, em que o relógio salva uma atividade por dia e no fim você tem cinco delas em vez do percurso. A atividade dividida pela pausa: você parou para comer, apertou o stop e, quando recomeçou, nasceu um novo arquivo. O celular que morreu no meio do caminho, que começou a gravar do zero assim que você o ligou no carregador portátil. E o ciclocomputador que salva um arquivo a cada vez que é ligado, de modo que um pedal com três paradas vira quatro arquivos.
Os quatro terminam do mesmo jeito: o portal onde você quer enviar a trilha espera uma única atividade, e você tem cinco. Colar os arquivos um depois do outro em um editor de texto não funciona, porque um GPX não é uma lista de linhas: é um documento XML com estrutura própria, e dois documentos grudados em sequência não são um documento. É preciso desmontá-los e montá-los de novo, e é isso que esta página faz, dentro do seu navegador, sem os arquivos saírem do dispositivo.
Aceita GPX e TCX, inclusive compactados em .gz, que é o que sai de um relógio Garmin ou de um portal de trilhas. O que sai é sempre um GPX, porque é o formato que todo mundo lê.
A ordem é a do relógio, não a dos nomes
Este é o primeiro erro, e é silencioso. Se os arquivos se chamam pedal (1), pedal (2) e pedal (10), em ordem alfabética o dez fica no meio, entre o um e o dois: um programa que ordena pelo nome junta os pedaços na ordem errada, e sai uma trilha que pula para a frente e depois volta. No mapa você vê na hora; nos números de altitude e distância não, e são esses números que você depois conta para os outros.
Aqui a ordem é lida dentro dos arquivos: cada ponto gravado traz o seu horário, e os pedaços são alinhados pelo horário de início. O nome do arquivo não conta, e nem deve contar: é algo que o celular decide, não você.
Quando os horários não existem a página avisa em vez de adivinhar. Acontece com rotas exportadas de um planejador, que são uma linha desenhada em um mapa e não uma gravação: ali não há “antes” e “depois” para ler, então fica a ordem em que você carregou os arquivos, e você pode corrigi-la com as setas. Adivinhar seria pior: uma ordem errada que se declara errada dá para ver, uma ordem errada apresentada como certa não.
Duas formas de unir, e não são a mesma coisa
Um segmento por arquivo é a forma recomendada, e mantém o intervalo como intervalo. Dentro do GPX os pedaços ficam separados, e quase todo programa que calcula o tempo em movimento pula os intervalos entre um segmento e o seguinte: a noite passada no refúgio não entra no tempo total e o trecho entre o fim de um dia e o início do outro não é desenhado.
Um único segmento junta tudo em uma linha contínua. É a escolha certa quando o intervalo é um soluço, quando o relógio falhou por trinta segundos e os dois pedaços se tocam. É a errada quando há uma noite entre um arquivo e o outro, porque o programa traça uma linha reta de onde você estava até onde reapareceu, e esses quilômetros em linha reta entram no total como se você os tivesse caminhado.
A diferença não é uma opinião, é um número. Nos mesmos dois dias dos arquivos de teste, o modo de segmentos separados dá 4,33 km e o modo de segmento único dá 5,30 km: quase um quilômetro do nada, que é justamente o trecho em linha reta entre o ponto onde terminou a gravação do primeiro dia e aquele onde começou a do segundo. É por isso que a página, antes de você escolher, diz para cada junção quantos metros em linha reta e quanto tempo há: com esses dois números na frente a escolha leva um segundo.
O que não se perde no caminho
Esta é a parte que separa uma união de verdade de uma feita só para inglês ver, porque o dano é invisível: o arquivo abre, a trilha está lá, o mapa está certo, e os dados do treino sumiram. Dentro de cada ponto gravado, além de altitude e horário, viajam as extensões: frequência cardíaca, cadência, potência, temperatura. Aqui elas são copiadas ponto a ponto, e no fim a página diz em quantos pontos as encontrou, então se o número for zero você sabe antes de enviar e não depois.
O mesmo vale para os waypoints, ou seja, os pontos que alguém marcou à mão: o refúgio, a nascente, a bifurcação onde todo mundo se perde. São a única coisa no arquivo que uma máquina não escreveu, e uma união que os joga fora apaga o único trabalho humano que havia ali. Os que aparecem em dois arquivos com o mesmo nome e as mesmas coordenadas entram uma vez só.
E os campos que quase ninguém olha, mas que vêm do receptor, também são mantidos: hdop, sat, fix, ou seja, quantos satélites estavam sendo captados e quão boa era a recepção naquele ponto. Para você não servem, servem aos programas que depois precisam decidir em quais pontos confiar.
O arquivo que sai é GPX 1.1, e isso não é uma afirmação só em palavras: o teste desta ferramenta entrega o arquivo produzido ao esquema oficial, que é a própria especificação, e exige que ele seja aceito. Isso é necessário porque dentro de um ponto a ordem dos campos é obrigatória, e um arquivo com os campos em outra ordem abre perfeitamente bem em um editor de texto e é recusado pelos portais, que ao recusar nunca explicam por quê.
O que ela não faz, sem rodeios
Não inventa pontos. Onde há um buraco, o buraco fica: a página não interpola, não traça uma curva plausível entre o fim de um pedaço e o início do seguinte, não reconstrói o trecho que falta. Se você escolher o segmento único, a linha reta é traçada pelo programa com que você abre o arquivo, e você sabe disso de antemão porque foi avisado aqui.
Não limpa o ruído do GPS. Se uma trilha tem aquele clássico pico de cinquenta metros porque você estava sob um telhado, o pico fica. Para ver o que há dentro de uma trilha (distância real, ganho de altitude com um limiar contra o ruído, inclinações e o perfil de elevação), a página certa é o Analisador de trilhas GPX.
Não faz o trabalho inverso. Dividir uma trilha em pedaços é outro ofício e não está aqui. E ela não mexe nas altitudes: se o seu relógio erra por vinte metros, elas saem erradas por vinte metros também depois, porque corrigi-las exigiria ter um modelo do terreno e inventar a diferença.