Cookies para estatística e publicidade
Usamos cookies de estatística e de publicidade, ambos enviados ao Google. Recusar não muda nada do que você vê.Ler a página de privacidade
Aqui você converte GPX para CSV de graça e sem conta: solte o arquivo acima e em poucos segundos o resultado está pronto para baixar. A conversão acontece dentro do seu próprio navegador, então o arquivo nunca é enviado. Funciona igual no Windows, no macOS e no Linux e também no iPhone e no Android, e continua funcionando mesmo se você cortar a conexão.
Até 100 arquivos de uma vez. Formatos misturados não são problema.
Eles são convertidos um após o outro e baixados juntos em um ZIP.
GPX para CSV
Um arquivo GPX é XML aninhado. Um elemento de trilha guarda um ou mais segmentos, e cada segmento guarda uma lista longa de pontos com latitude e longitude como atributos e elevação e hora como filhos. Uma planilha não tem como expressar esse aninhamento, então a conversão achata tudo: cada ponto vira uma linha, na ordem em que o aparelho gravou.
Esse achatamento é a troca inteira. Você ganha uma tabela que dá para ordenar, filtrar, plotar e entregar ao pandas; perde a capacidade de remontar o GPX original com o agrupamento intacto. Uma pedalada de duas horas gravada a cada segundo dá 7.200 linhas, que qualquer planilha abre sem reclamar.
O cabeçalho é `type,name,latitude,longitude,elevation,time`, sem sétima coluna. `type` é `track` ou `waypoint`. `name` é o nome da trilha ou do ponto salvo ao qual a linha pertence, repetido em cada linha para que um filtro funcione sem precisar de busca cruzada. `latitude` e `longitude` são graus decimais, `elevation` são metros como o GPX declarou, e `time` é o horário exatamente como foi registrado.
Velocidade, distância, inclinação e ritmo ficam de fora de propósito, mesmo sendo calculáveis. Cada um desses valores exige uma decisão de suavização — sobre quantas amostras, descartando quais pontos fora da curva — e um valor inventado por essa decisão parece idêntico, numa planilha, a um valor medido. A distância entre linhas consecutivas é uma linha de conta assim que a tabela está na sua frente, e aí a escolha é sua e visível.
Um GPX divide a trilha em segmentos onde o receptor perdeu o sinal, e esses limites de segmento são descartados: os pontos saem como uma sequência única de linhas, então um trecho num túnel não corta silenciosamente o conjunto em dois. Se precisar achar essas lacunas de novo, elas aparecem na coluna de hora como um salto entre linhas consecutivas.
Rotas são tratadas do mesmo jeito: uma rota é uma linha planejada em vez de gravada, e seus pontos saem marcados como `track`, porque numa tabela não há outra categoria honesta para eles. Pontos salvos vêm primeiro, marcados como `waypoint`, cada um com seu nome preservado.
A maioria dos relógios grava mais que posição. Frequência cardíaca, cadência, temperatura e potência vão num bloco de extensões dentro de cada ponto, geralmente sob o esquema da Garmin. O leitor aqui pega latitude, longitude, elevação e hora e para por aí, então nenhum desses valores aparece na CSV e nenhuma coluna é criada para eles.
Vale saber isso antes de planejar uma análise em cima deles, porque a saída parece completa. Se dados de sensor forem o que você realmente precisa, nenhuma conversão deste site vai entregar isso numa tabela — a rota TCX tem a mesma limitação. O caminho honesto é ler o bloco de extensões você mesmo, ou exportar o treino direto da plataforma que gravou.
Latitude e longitude são gravadas com exatamente seis casas decimais, cerca de 11 centímetros no equador. Não é um número redondo escolhido por estética: um receptor GPS de consumo tem erro de posição de vários metros a céu aberto, e bem pior sob árvores ou entre prédios, então uma sétima ou oitava casa descreveria o receptor, não o solo.
A consequência é que um GPX com pontos gravados na precisão total de um número de ponto flutuante volta arredondado, e uma comparação com a origem mostrará diferenças na oitava casa. Para uma trilha de consumo, isso é arredondar ruído. Para dados de levantamento topográfico seria uma perda real, e dados de levantamento não são o que esta conversão serve.
A elevação é copiada exatamente como o GPX escreveu, sem arredondamento e sem conversão de unidade: a especificação diz metros acima do elipsoide WGS 84, então `512.4` no arquivo continua `512.4` na célula. Os horários também são copiados literalmente, no formato ISO 8601 original.
Um efeito colateral útil: ISO 8601 ordena corretamente como texto puro, então classificar a tabela pela coluna de hora funciona mesmo numa ferramenta que não reconheceu a coluna como data. A pegadinha correspondente é que um ponto sem horário deixa a célula vazia em vez de preenchê-la com zero, e exportações mistas acontecem — uma trilha com hora ao lado de pontos marcados manualmente, que não têm nenhuma.
Duas coisas dão errado quando uma tabela de coordenadas é aberta com duplo clique. Numa configuração regional com vírgula decimal, `48.137154` é lido como texto em vez de número, e a coluna de latitude inteira fica alinhada à esquerda e inútil para gráficos. E a coluna de hora costuma ser reinterpretada como data-hora no fuso local, deslocando silenciosamente uma trilha em UTC por uma hora ou mais.
As duas coisas se evitam importando em vez de abrir direto: o assistente de importação de texto do Excel permite definir a origem do arquivo e marcar colunas individualmente. No pandas nada disso acontece — `read_csv` lê o arquivo direto, e `parse_dates=["time"]` produz horários com fuso, porque o deslocamento já está na string.
A leitura e a escrita acontecem inteiramente nesta aba do navegador. Nenhuma requisição carrega o GPX para lugar nenhum, algo verificável no painel de rede enquanto a conversão roda, e a conversão funciona com a conexão desligada depois que a página carregou.
Um GPX não é um documento sobre um assunto qualquer: é uma lista dos lugares exatos onde você esteve e dos minutos exatos em que esteve lá. O primeiro e o último ponto de um percurso costumam ser o endereço de casa. A CSV é ainda mais exposta que a origem, porque é legível por qualquer pessoa que abra uma planilha — guarde-a onde você guarda o GPX.
| GPX | CSV | |
|---|---|---|
| Nome completo | GPS Exchange Format | Comma-Separated Values |
| Extensão do arquivo | .gpx | .csv |
| Tipo de mídia | application/gpx+xml | text/csv |
| Publicado pela primeira vez | 2002 | 1972 |
| Publicado por | Topografix | — |
| Especificação | GPX 1.1 | RFC 4180 |
| Licença | Padrão aberto | Padrão aberto |
| Situação hoje | Atual | Atual |
| Abre no navegador | Nenhum navegador | Nenhum navegador |
| Considerado no lugar | KML, TCX | XLSX, JSON, Parquet |
Os programas de sempre não se cruzam: GPX abre em Garmin BaseCamp, Strava e QGIS, e CSV em Microsoft Excel, LibreOffice Calc e pandas, então quem receber o resultado precisa de algum do segundo grupo.
Os dois miram trabalhos diferentes: GPX em mapas e o registro esportivo, CSV em mover dados entre programas. Vale pesar isso antes, porque o motivo de um existir costuma ser o motivo de o outro ser incômodo.
GPX é o formato da Topografix, publicado em 2002. Está descrito em GPX 1.1, e vale conhecer se o arquivo precisa sobreviver à ferramenta que o escreveu.
CSV e de 1972, descrito em RFC 4180. Microsoft Excel, LibreOffice Calc e pandas leem o formato.
CSV foi publicado em 1972 e GPX em 2002. O mais antigo costuma ser o arquivo mais seguro para entregar; o mais novo faz o mesmo com menos bytes.
Não. Esta conversão acontece inteiramente no seu navegador, então o arquivo não sai do seu aparelho. Você mesmo pode conferir: abra a aba de rede das ferramentas de desenvolvedor e converta alguma coisa. Você verá a própria página e as requisições de estatística e de publicidade com que este serviço é pago, e nenhuma que leve o seu arquivo.
É. Sem conta, sem marca d’água e sem cota diária para gastar: roda no seu próprio aparelho, então você pode voltar quantas vezes quiser. O navegador processa arquivos de até 100 MB, 100 por vez.
GPX e CSV descrevem o conteúdo de maneiras radicalmente diferentes. A conversão é, portanto, uma reconstrução e não uma cópia: fiel, mas não idêntica byte a byte. Uma linha por ponto registrado. Tudo o que o arquivo guardava além de posição, altitude e hora não cabe numa tabela.
Para a conversão, não: ela acontece no navegador que você já tem aberto. Para abrir o resultado você precisa depois do programa com que o seu aparelho normalmente exibe Comma-Separated Values.