Converter KML para GPX

Aqui você converte KML para GPX 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 GPX funciona de um jeito diferente de KML. Não é a degradação gradual de um codec com perda: o que GPX 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.

Uma linha desenhada e uma gravada não são o mesmo objeto

Quase todo KML que acaba precisando desta conversão foi feito clicando. Alguém traçou uma rota no Google Earth, soltou pinos numa camada do Meu Mapas, ou exportou um plano de uma ferramenta cujo único export é KML. Esse arquivo descreve uma intenção: é aqui que a linha deveria passar. Um GPX de um relógio descreve um histórico: é aqui que o receptor estava, nesses instantes, nesta altitude.

A conversão move a geometria da primeira forma para a forma da segunda, e tudo que faz de uma gravação uma gravação simplesmente não está na origem para ser movido. Isso não é defeito do conversor, e vale entender antes de olhar o resultado e achar que algo deu errado: o perfil de elevação plano, a duração ausente e os cantos angulosos são propriedades do desenho, fielmente transportadas.

O que o arquivo contém: uma trilha, um segmento, GPX 1.1

Cada LineString vira um `<trk>` contendo um único `<trkseg>`, com um `<trkpt>` por vértice, num documento GPX 1.1. O nome do placemark vira o nome da trilha, então um aparelho que mostra uma lista de trilhas vai mostrar como você chamou a linha no Google Earth, não o nome do arquivo.

É deliberadamente uma trilha e não uma `<rte>`. GPX distingue os dois: uma rota é uma lista esparsa de pontos para navegar entre eles, uma trilha é uma linha densa para seguir. Aparelhos portáteis mais antigos tratam os dois de forma diferente, e alguns oferecem avisos de curva para uma rota e nenhum para uma trilha. Se seu aparelho especificamente quer uma rota, converter a trilha depois é trabalho do próprio software do aparelho — o Garmin BaseCamp faz isso — em vez de algo que uma conversão de formato deveria decidir por você.

Nenhum carimbo de hora, e onde isso trava

Um LineString guarda coordenadas e nada mais, então o GPX sai sem o elemento `<time>` em nenhum ponto de trilha. O arquivo é válido — tempo é opcional no GPX 1.1, e uma rota não tem porque reivindicar um —, e todo app de navegação vai carregar e seguir sem problema.

Onde isso morde é no upload. Uma plataforma que trata um GPX como atividade concluída precisa calcular duração e ritmo, e não consegue fazer isso sem dois carimbos para subtrair. Suba a rota desenhada como rota ou percurso, o recurso feito exatamente para esse arquivo, em vez de como atividade. Se um serviço recusar o arquivo reclamando de dado de tempo ausente, é isso que ele está avisando, e inventar carimbos produziria uma atividade que afirma uma velocidade que ninguém pedalou.

Os zeros na coluna de elevação, e o perfil plano que causam

Uma coordenada KML tem um terceiro valor opcional em metros. O Google Earth, ao desenhar uma linha grudada no terreno, escreve esse terceiro valor como `0` em cada vértice, porque a altitude não tem sentido quando o renderizador vai colocar a linha sobre o chão de qualquer jeito. A conversão pega o número ao pé da letra, então cada ponto de trilha ganha `<ele>0</ele>` e seu aparelho desenha um perfil plano ao nível do mar, sem subida nenhuma.

Um export do Meu Mapas costuma se comportar diferente, escrevendo só dois valores por coordenada, caso em que nenhum elemento `<ele>` é escrito — o resultado mais honesto, e que parece idêntico na maioria dos aparelhos. De qualquer jeito, a elevação precisa vir de outro lugar. A maioria dos planejadores de rota vai regenerar a partir de um modelo de terreno na importação, e esse número é melhor que o zero de qualquer forma, já que vem de um levantamento e não de um receptor balançando numa encosta.

Número de vértices: por que uma rota desenhada parece angulosa

A conversão escreve exatamente tantos pontos de trilha quanto o KML tinha vértices, e nunca interpola. Uma rota de um dia inteiro traçada clicando costuma ter de quarenta a duzentos vértices; a mesma rota gravada por um relógio a uma amostra por segundo tem trinta mil. Num mapa com pouco zoom, os dois parecem idênticos. Aproximando, a desenhada corta cantos, atravessa um rio onde não há ponte, e segue reto por uma curva fechada.

Isso importa mais para qualquer coisa que mede. Distância calculada sobre uma polilinha grosseira é sistematicamente curta, porque toda curva foi substituída pela sua corda, e uma descida de montanha com quinze curvas em ferradura pode perder uma fração relevante do comprimento. Se o número importa, planeje a rota numa ferramenta que se ajusta à rede de estradas ou trilhas — o resultado é mais denso e segue a geometria real.

Pinos viram pontos de interesse que o aparelho pode navegar até

Um Placemark contendo um `<Point>` vira um `<wpt>` GPX na mesma posição, mantendo o nome que tinha. Pontos de interesse são escritos antes das trilhas no arquivo, a ordem convencional e a que aparelhos portáteis esperam. Na maioria dos aparelhos, aparecem como pontos de interesse selecionáveis, navegáveis independentemente da rota.

Esta é frequentemente a metade mais útil da conversão. Uma camada de trinta pinos — pontos de água, portões, camping, pontos de encontro — vira trinta entradas rotuladas num relógio, o que nenhuma quantidade de olhar para uma linha de rota entrega. Os nomes são carregados literalmente, então vale encurtá-los antes de converter: uma tela mostrando onze caracteres corta «Ponto de reabastecimento de água perto da ponte» para algo inútil.

Áreas, formas agrupadas e o resultado vazio que produzem

Duas construções do KML voltam sem nada. Um `<Polygon>` — uma fronteira, uma área com permissão, uma região sombreada — guarda seu contorno dentro de elementos de fronteira aninhados que este leitor não abre, então uma área não contribui trilha nenhuma. Um `<MultiGeometry>`, que envolve várias linhas ou pontos dentro de um Placemark, é ignorado pelo mesmo motivo estrutural.

Se o arquivo inteiro for feito assim, a conversão para e avisa que nenhuma trilha ou ponto de interesse foi encontrado, o que é preciso e não uma falha de tentar. O contorno, quando é isso que você quer seguir, é reabrir o KML no Google Earth e redesenhar a fronteira como um caminho — um Polygon e um LineString parecem iguais na tela e são objetos diferentes no arquivo.

gx:Track, a única geometria KML que sabe que horas são

Se o KML veio de um export de GPS em vez de um desenho, ele pode ter um `gx:Track` em vez de um LineString: a extensão do Google, guardando uma lista de carimbos `<when>` junto com uma lista correspondente de posições `<coord>`. É lido como um caso distinto, e os carimbos são carregados diretamente para o elemento `<time>` de cada ponto de trilha GPX.

Essa diferença sozinha muda para que a saída serve. Um GPX convertido de um gx:Track é uma gravação, com duração e ritmo, e sobe como atividade igual a qualquer outra. O jeito rápido de saber que tipo de KML você tem é buscar `when` no arquivo — se a string estiver ali, espere carimbos no GPX; se não estiver, espere nenhum.

Pastas, nomes de documento e o que sobra no cabeçalho do GPX

Placemarks aninhados em elementos Document e Folder são encontrados percorrendo a árvore, o que é necessário porque um export do Meu Mapas põe cada camada na própria pasta e um KML de uma ferramenta de planejamento pode ter três níveis de profundidade. Os nomes das pastas em si não são carregados: GPX não tem agrupamento equivalente, e inventar um significaria adivinhar qual nível importava.

O que atravessa é o nome do Document, que vira `<metadata><name>` do GPX, e o nome de cada placemark, que vira o nome de sua trilha ou ponto de interesse. O arquivo é escrito com GPX 1.1 e um atributo de criador nomeando este conversor. Nada mais do cabeçalho do KML — descrições, definições de estilo, a posição de câmera LookAt — tem lugar num GPX.

Planejamento de rota é dado de localização, e fica na aba

O KML é lido e o GPX é escrito no seu navegador. Nenhuma requisição carrega o arquivo para lugar nenhum, o que dá para conferir no painel de rede enquanto a conversão roda, e a página funciona com a conexão desligada depois de carregada.

Uma rota planejada diz menos sobre você do que uma gravada, mas não muito menos. Uma linha desenhada ainda nomeia onde você pretende estar e quando, e uma camada do Meu Mapas com endereços de clientes ou visitas a imóveis é comercialmente sensível antes de ser pessoal. Converter localmente significa que o arquivo nunca vira o registro de outra pessoa, a única garantia que não depende de ler uma política de retenção.

Como converter KML para GPX

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

KML ou GPX: o que muda

KML comparado com GPX
KMLGPX
Nome completoKeyhole Markup LanguageGPS Exchange Format
Extensão do arquivo.kml.gpx
Tipo de mídiaapplication/vnd.google-earth.kml+xmlapplication/gpx+xml
Publicado pela primeira vez2002
Publicado porKeyholeTopografix
EspecificaçãoOGC KML 2.3GPX 1.1
LicençaPadrão abertoPadrão aberto
Situação hojeAtualAtual
Abre no navegadorNenhum navegadorNenhum navegador
Considerado no lugarKMZTCX

Abrir o resultado

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

Para que serve cada formato

KML é o formato da Keyhole. Está descrito em OGC KML 2.3, e vale conhecer se o arquivo precisa sobreviver à ferramenta que o escreveu.

GPX vem da Topografix é de 2002, descrito em GPX 1.1. Garmin BaseCamp, Strava e QGIS leem o formato.

De KML para GPX: perguntas frequentes

Meu arquivo KML é 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 KML para GPX é 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 KML para GPX?

KML e GPX 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 GPX?

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 GPS Exchange Format.

Mais sobre esses formatos