Converter GPX para KML

Aqui você converte GPX para KML 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.

  • Onde roda No seu navegador. O arquivo nunca é enviado.
  • Reconstruído KML funciona de um jeito diferente de GPX. Não é a degradação gradual de um codec com perda: o que KML consegue expressar é reproduzido fielmente, e o que não tem equivalente ali não sobrevive de jeito nenhum.
  • Limite de tamanho Até 100 MB por arquivo, de graça e sem conta.
  • Vale saber Posições, altitude e marcações de tempo vão junto. Dados de sensores, estilos e imagens incorporadas não.

Até 100 arquivos de uma vez. Formatos misturados não são problema.

KML quando você vai continuar editando, KMZ quando vai enviar

Os dois destinos abrem no Google Earth e mostram a mesma rota, então a escolha entre eles é sobre o que acontece depois, não sobre a aparência. KML é um documento XML único que você abre em qualquer editor de texto, compara com a versão de ontem, carrega como camada vetorial no QGIS ou no ArcGIS, e edita com um script. É por isso que esta página existe separada da de KMZ.

Se o que você precisa é anexar a trilha a um e-mail, entregar a um colega ou subir a algum lugar que pediu um arquivo do Google Earth, a forma comprimida é a resposta melhor e custa só a editabilidade. O mesmo conteúdo medido aqui encolhe por um fator de cerca de cinco depois de zipado. Escolha KML quando o arquivo é um documento de trabalho e KMZ quando é uma entrega.

A gravação vira forma, e o relógio fica para trás

Um ponto de trilha GPX carrega um elemento de horário, e é isso que faz um GPX ser uma gravação em vez de um desenho: o arquivo sabe não só por onde a linha passa, mas quando cada parte dela foi alcançada. Um LineString do KML não tem equivalente. É uma lista de coordenadas e nada mais, então os horários são descartados na conversão e não podem ser recuperados da saída.

A consequência é concreta. O controle deslizante de tempo do Google Earth, que deixa você percorrer uma trilha e vê-la se desenhando, não aparece num arquivo convertido — esse recurso depende de um elemento gx:Track com valores paralelos, e esta conversão escreve um LineString comum. Guarde o original ao lado do KML; eles não são intercambiáveis, e o KML é a versão com perda.

A elevação é escrita nas coordenadas e desenhada no chão de qualquer jeito

Onde um ponto de trilha GPX carregava um valor de elevação, a coordenada escrita para ele é um trio, e a terceira posição guarda os metros. Onde não carregava, a coordenada é um par — o normal para uma rota planejada num navegador em vez de gravada num relógio. Então o perfil de elevação de uma caminhada gravada sobrevive byte a byte, e uma rota planejada não tem nada ali para encontrar.

O Google Earth não vai desenhar isso, e o motivo é um único elemento ausente. Altitude em KML não significa nada sem um modo de altitude dizendo como interpretar, e quando nenhum é declarado o padrão é fixar no chão — a altitude é ignorada e a linha é colocada sobre o terreno. É o padrão certo para uma trilha, já que uma altitude de GPS varia dezenas de metros.

A marca de "seguir o terreno", e a linha que cortaria a montanha

Cada LineString é escrito com uma marca de tesselagem, e ela existe para corrigir uma falha visual específica. Fixado no chão sem tesselagem, o Google Earth coloca cada vértice no terreno e depois desenha um segmento reto entre vértices consecutivos. Atravessando um vale ou por cima de uma crista, esse segmento reto passa abaixo da superfície, e a trilha desaparece na encosta e reaparece do outro lado.

Com a tesselagem ligada, o renderizador subdivide cada segmento e segue o terreno entre os vértices, então a linha permanece visível ao longo de todo o comprimento. O custo é mais geometria para o renderizador processar, imperceptível para alguns milhares de pontos e perceptível se você carregar uma dúzia de trilhas longas de uma vez.

A longitude passa na frente da latitude na saída

O GPX escreve latitude e longitude como atributos separados no ponto de trilha, nomeados de forma que não há ambiguidade. O KML escreve as duas como uma string separada por vírgula na ordem longitude, latitude, altitude, o oposto de quase todo outro formato desta família e a fonte clássica de mapas que aparecem no meio do oceano.

A conversão trata dessa troca, e há um jeito rápido de se convencer disso. Abra o KML num editor de texto e olhe a primeira coordenada: para qualquer lugar no Brasil, o primeiro número vai ser negativo, entre -30 e -75, e o segundo entre -35 e 5. Se o número maior vem primeiro, algo trocou de volta, e todo ponto do arquivo está errado do mesmo jeito.

Waypoints salvos chegam como pinos nomeados

Um waypoint GPX é um ponto que alguém marcou de propósito — um cume, uma fonte de água, uma vaga de estacionamento, o portão que estava trancado. Cada um vira seu próprio Placemark contendo um Point, mantendo o nome que tinha, então aparecem no Google Earth como pinos nomeados na barra lateral em vez de serem fundidos na linha.

Essa separação vale a pena porque waypoints e pontos de trilha significam coisas diferentes. Um ponto de trilha é uma amostra que o aparelho tirou numa programação; um waypoint é uma decisão que uma pessoa tomou. Mantê-los como recursos KML distintos significa que você pode esconder a rota e manter os pinos, ou arrastar um pino para corrigi-lo, sem tocar na linha gravada.

Quais nomes atravessam, e qual metadado GPX não atravessa

Três nomes são carregados. O nome dentro do bloco de metadado GPX vira o nome do Document do KML, que é o que aparece no topo da barra lateral no Google Earth. O nome de cada trilha vira o nome do seu Placemark. O nome de cada waypoint vira o nome do seu pino.

O resto do cabeçalho GPX não atravessa. Autor, direitos autorais, o link de volta ao serviço de gravação, a descrição, as palavras-chave e a caixa delimitadora são todos definidos no GPX 1.1 e nenhum é escrito no KML. Nem as extensões por ponto onde relógios guardam frequência cardíaca e cadência. Se algo disso é a proveniência que você precisa manter, guarde o arquivo GPX junto do KML.

Sem elemento de estilo, então o Earth desenha o próprio padrão

A saída não contém nenhum elemento de estilo. O Google Earth, portanto, aplica sua aparência de linha padrão, e toda trilha convertida fica igual a todas as outras — exatamente o que você quer quando está prestes a re-estilizar, e um pouco inconveniente quando está carregando oito trilhas de uma vez e quer distingui-las.

Adicionar estilo depois é simples nas duas direções. No Google Earth, clicar com o botão direito no placemark e escolher as propriedades ajusta cor e espessura e salva de volta no arquivo. Num editor de texto, um único bloco de estilo com cor e espessura de linha, referenciado por cada placemark, faz o mesmo e é fácil de aplicar por script numa pasta inteira de trilhas convertidas.

Um arquivo menor que continua sendo texto simples

O KML é substancialmente menor que o GPX de origem, o que surpreende quem espera que uma conversão custe bytes. Medido numa trilha de 7.200 pontos — duas horas gravadas a cada segundo, com elevação e horário em cada ponto — o GPX tinha cerca de 950 KB e o KML cerca de 258 KB. A sobrecarga de tags XML é o motivo: o GPX repete marcação ao redor de cada amostra, enquanto um LineString declara suas coordenadas uma vez só.

Parte dessa economia é o descarte dos horários, então não é vantagem de graça. O que você mantém é um arquivo ainda legível e editável: dá para abrir, achar um ponto perdido que o GPS jogou num campo dois quilômetros longe, apagar essa linha e salvar. Fazer a mesma edição num GPX significa apagar quatro linhas em vez de uma.

A trilha é convertida aqui, não enviada a lugar nenhum

A leitura do GPX e a escrita do KML acontecem nesta aba do navegador. Nenhuma requisição carrega o arquivo até um servidor, o que o painel de rede mostra durante uma conversão, e a página continua funcionando offline uma vez carregada. Não há fila de envio e nenhuma cópia fica para trás.

Para um arquivo de rota isso é uma garantia mais forte do que parece. Um GPX de relógio geralmente começa e termina na casa de quem gravou, e os horários dizem em que manhãs a casa ficou vazia. Mesmo com os horários descartados no caminho para KML, a forma de um trajeto regular de trabalho ou de treino identifica uma pessoa e um endereço para quem olhar num mapa.

Como converter GPX para KML

  1. Solte o seu arquivo GPX nesta página, ou clique para escolher um.
  2. Escolha KML como destino. A conversão acontece no seu navegador e o arquivo não é enviado.
  3. Baixe o arquivo KML pronto.

GPX ou KML: o que muda

GPX comparado com KML
GPXKML
Nome completoGPS Exchange FormatKeyhole Markup Language
Extensão do arquivo.gpx.kml
Tipo de mídiaapplication/gpx+xmlapplication/vnd.google-earth.kml+xml
Publicado pela primeira vez2002
Publicado porTopografixKeyhole
EspecificaçãoGPX 1.1OGC KML 2.3
LicençaPadrão abertoPadrão aberto
Situação hojeAtualAtual
Abre no navegadorNenhum navegadorNenhum navegador
Considerado no lugarTCXKMZ

Abrir o resultado

QGIS lê tanto GPX quanto KML, então dá para comparar o resultado com o original sem um segundo programa.

Para que serve cada formato

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.

KML vem da Keyhole, descrito em OGC KML 2.3. Google Earth, QGIS e ArcGIS leem o formato.

De GPX para KML: perguntas frequentes

Meu arquivo GPX é enviado para algum lugar?

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.

Converter GPX para KML é grátis?

É. 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.

Perde qualidade ao converter GPX para KML?

GPX e KML 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. Posições, altitude e marcações de tempo vão junto. Dados de sensores, estilos e imagens incorporadas não.

Preciso instalar alguma coisa para abrir um arquivo KML?

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 Keyhole Markup Language.

Mais sobre esses formatos