Converter GPX para GeoJSON
Este conversor transforma waypoints, rotas e trilhas GPX de um aparelho de GPS, do Strava ou do Garmin Connect em feições GeoJSON, mantendo a elevação como terceira coordenada e descartando campos GPX vazios. O arquivo é convertido no seu navegador e não é enviado. Cada trilha vira um MultiLineString, extensões de frequência cardíaca, cadência e potência não são lidas, e os horários dos pontos só são mantidos se você incluir cada ponto da trilha.
Um arquivo não foi convertido corretamente? Escreva para [email protected], de preferência com um pequeno arquivo de exemplo, e o problema será corrigido.
O essencial
- Entrada: GPX (.gpx). Saída: GeoJSON (.geojson).
- Seus arquivos não são enviados: o trabalho é feito no navegador, no seu próprio dispositivo.
- Tamanho: sem limite fixo; arquivos muito grandes são limitados pela memória do dispositivo.
- Precisa de um navegador atual (Chrome, Edge, Firefox ou Safari) no computador, tablet ou celular; nada para instalar.
- Grátis e sem cadastro.
De GPX para GeoJSON: por que converter?
O GPX é o jeito padrão de tirar uma caminhada, um pedal ou uma corrida gravada de um aparelho de GPS, do Strava, do Garmin Connect ou do Komoot. Para mostrar esse percurso em um mapa Leaflet ou MapLibre, desenhar um perfil de elevação com D3 ou carregá-lo no PostGIS ou em outro banco de dados, o formato certo é GeoJSON. Este conversor lê os waypoints, as rotas e as trilhas (tracks) do GPX e os grava como feições GeoJSON, com a elevação de cada ponto como terceira coordenada. Arquivos GPX trazem uma longa lista de campos padrão que quase sempre estão vazios, como magvar, hdop ou link2_type; só os campos que têm valor são mantidos, para que as propriedades fiquem limpas. Tudo roda no seu navegador com o GDAL, e o arquivo não é enviado.
Como converter GPX para GeoJSON
- Arraste e solte seu arquivo .gpx na caixa ou clique para escolhê-lo.
- Confira a trilha no mapa e marque a caixa se também quiser cada ponto da trilha com seu horário.
- Clique em “Converter” e baixe o arquivo GeoJSON, ou um zip com um arquivo por tipo de dado.
O que muda na conversão
Um arquivo GeoJSON por tipo de dado
Um GPX pode conter waypoints, rotas e trilhas ao mesmo tempo, com campos diferentes para cada um. Eles viram arquivos separados, chamados waypoints.geojson, routes.geojson e tracks.geojson, dentro de um zip. Um arquivo que contém só uma trilha, como a maioria das exportações do Strava ou de um relógio, gera um único GeoJSON com o nome do GPX.
Uma trilha é um MultiLineString
Uma trilha GPX é formada por segmentos, e um novo segmento começa quando a gravação foi pausada ou o sinal foi perdido. Para manter essas lacunas, cada trilha vira uma feição MultiLineString com uma linha por segmento. Uma rota é um único LineString, e um waypoint é um Point.
Elevação como terceira coordenada
As elevações das tags ele viram o terceiro valor de cada coordenada, como a RFC 7946 permite, por exemplo [12.504, 55.77, 38]. Mapas web a ignoram, mas ela está lá para perfis de elevação e visualizações em 3D. Pontos sem elevação ficam com dois valores, e a elevação dos waypoints também é mantida como propriedade ele.
Horários exigem os pontos da trilha
Uma linha em GeoJSON não tem lugar para um horário por ponto. Marque “Incluir também cada ponto da trilha” para obter um arquivo extra, track_points.geojson, com uma feição Point por ponto gravado e seu horário, elevação, número da trilha e número do segmento como propriedades. Esse arquivo pode ser grande: um pedal de duas horas gravado a cada segundo tem mais de 7.000 pontos.
Extensões do aparelho não são lidas
Frequência cardíaca, cadência, potência e temperatura que relógios e ciclocomputadores guardam como extensões de cada ponto não fazem parte do resultado. Nomes, descrições, símbolos e tipos dos waypoints são mantidos.
Sobre os formatos
GPX
GPX (GPS Exchange Format) é o formato XML usado por aparelhos GPS e aplicativos como Garmin, Strava e Komoot. Ele guarda waypoints, rotas e trilhas (tracks), com hora e altitude opcionais. A versão em uso hoje é a 1.1, de 2004, publicada pela TopoGrafix.
- Waypoints são pontos isolados; uma rota é uma linha planejada por alguns pontos; uma trilha é o percurso gravado, muitas vezes com milhares de pontos.
- As trilhas podem ter data e hora e altitude em cada ponto.
- As coordenadas são sempre latitude e longitude WGS84.
- O GPX tem um conjunto fixo de campos (nome, descrição, símbolo, tipo e mais alguns); todo o resto precisa ir em extensões.
GeoJSON
GeoJSON é um formato de texto JSON para feições geográficas, padronizado como RFC 7946 em 2016. É o formato nativo de mapas web como Leaflet, MapLibre e Mapbox, e de muitas APIs.
- As coordenadas são longitude e latitude WGS84 (nessa ordem).
- Pontos, linhas e polígonos podem ser misturados em um mesmo arquivo.
- As propriedades podem ser qualquer valor JSON, sem limite de tamanho nos nomes de campo.
Perguntas frequentes
Meu GPX é enviado?
Não. Seu navegador converte o arquivo no seu próprio dispositivo. Nada é enviado a um servidor, o que mantém privados o endereço da sua casa e seus horários de treino.
Por que recebi um zip?
Seu GPX contém mais de um tipo de dado, por exemplo waypoints e uma trilha. Cada tipo vira seu próprio arquivo GeoJSON. O GeoJSON pode misturar pontos e linhas em um arquivo, então você pode juntá-los depois se o seu mapa precisar de um único arquivo.
Posso abrir o GeoJSON no geojson.io ou no QGIS?
Sim. O resultado segue a RFC 7946, com longitude e latitude em WGS84, que o geojson.io, o QGIS, o Leaflet, o MapLibre e o GitHub leem.
E os pontos da rota?
Os pontos de uma rota já são os vértices da linha da rota, então não são gravados de novo como feições separadas.