Codificador / Decodificador de Polyline
Codifique coordenadas em uma string polyline do Google ou decodifique uma de volta para lat/lng e GeoJSON, direto no seu navegador. Sua rota fica no seu dispositivo.
As coordenadas e as strings polyline que você cola são codificadas e decodificadas localmente no seu navegador e nunca são enviadas; nada do que você insere é armazenado em um servidor.
Quer ver a rota em um mapa? Abra o Visualizador de Coordenadas no Mapa.
Sobre Codificador de Polyline
Este codificador e decodificador de polyline trata o Encoded Polyline Algorithm Format do Google inteiramente no seu navegador. No modo Codificar, cole um "lat, lng" por linha — ou um GeoJSON LineString — e obtenha a string codificada compacta que as APIs de Directions retornam para uma rota. No modo Decodificar, cole uma polyline codificada e leia de volta a lista de coordenadas mais um GeoJSON LineString pronto para usar que você pode soltar em um mapa. Um seletor de precisão alterna entre 5 (o padrão do Google Maps) e 6 (usado por OSRM, Valhalla e Mapbox), que é a razão usual pela qual uma rota decodificada cai no lugar errado. As polylines empacotam um caminho inteiro em uma curta string ASCII, então isso é útil quando uma API te entrega uma rota codificada e você precisa de coordenadas simples, ou vice-versa. Tudo é calculado no seu dispositivo e a rota que você cola nunca é enviada.
Recursos
- Codifique uma lista de coordenadas lat/lng em uma string Encoded Polyline do Google
- Decodifique uma polyline de volta para coordenadas e um GeoJSON LineString equivalente
- Alterne a precisão 5 (Google Maps) ou 6 (OSRM, Valhalla, Mapbox) para os dois sentidos
- Aceita "lat, lng" por linha, ou um GeoJSON LineString / Feature como entrada de codificação
- Emite um GeoJSON LineString que você pode colar direto em um mapa ou no geojson.io
- Sinaliza uma decodificação com precisão errada, a causa clássica de uma rota cair ~10x fora
- Copie a string codificada, a lista de coordenadas ou o GeoJSON com um clique
- Carregue um exemplo canônico para ver o formato antes de colar sua própria rota
Como usar Codificador de Polyline
- Escolha Codificar para transformar coordenadas em uma polyline, ou Decodificar para expandir uma.
- Escolha a precisão 5 (Google) ou 6 (OSRM/Valhalla) para corresponder à sua fonte de dados.
- Cole coordenadas (um "lat, lng" por linha ou um GeoJSON LineString), ou uma polyline codificada.
- Leia a string codificada, ou a lista de coordenadas e o GeoJSON LineString, nos resultados.
- Copie qualquer saída para seu mapa, requisição de API ou arquivo de dados.
Exemplo
Entrada
38.5, -120.2
40.7, -120.95
43.252, -126.453
Saída
_p~iF~ps|U_ulLnnqC_mqNvxq`@
A rota canônica de três pontos da documentação do Google, codificada com precisão 5.
Erros comuns e solução de problemas
- Uma rota decodificada está deslocada ou escalonada cerca de dez vezes distante demais. — A precisão está incompatível. O Google e o Google Maps usam 5; OSRM, Valhalla e Mapbox usam 6. Ajuste o seletor de precisão para corresponder ao que produziu a string.
- Os pontos decodificados parecem plausíveis, mas o mapa desenha a linha no mar. — As polylines e esta ferramenta armazenam a latitude primeiro, mas as posições do GeoJSON são [longitude, latitude]. Use a saída GeoJSON como está, em vez de trocar os pares você mesmo.
- A decodificação para com uma mensagem "malformed polyline". — A string foi truncada ou copiada com caracteres extras. Copie a polyline inteira e remova quaisquer aspas ao redor ou escapes de JSON como uma barra invertida duplicada.
Perguntas frequentes
- O que é uma polyline codificada do Google?
- É uma codificação ASCII compacta de um caminho de pontos de latitude/longitude, definida pelo Encoded Polyline Algorithm Format do Google. As APIs de Directions e Roads retornam rotas assim porque a string é muito mais curta do que uma lista completa de coordenadas, e ela decodifica de volta para os pontos exatos.
- Devo usar precisão 5 ou 6 para minha polyline?
- Use 5 para o Google Maps e a API Google Directions, e 6 para OSRM, Valhalla, GraphHopper e Mapbox. A precisão 6 mantém uma casa decimal extra, então uma string codificada em 6 mas decodificada em 5 cai cerca de dez vezes fora — sempre corresponda à ferramenta que criou a polyline.
- Como converto uma polyline codificada para GeoJSON?
- Mude para Decodificar, cole a polyline, e a ferramenta gera um GeoJSON LineString Feature junto com a lista simples de coordenadas. O GeoJSON já usa a ordem [longitude, latitude], então você pode colá-lo direto no geojson.io, no Leaflet ou em uma biblioteca de mapas.
- Posso codificar um GeoJSON LineString em uma polyline?
- Sim. No modo Codificar você pode colar um GeoJSON LineString, ou um Feature ou FeatureCollection que envolva um, e a ferramenta lê suas coordenadas e retorna a string codificada. Você também pode colar linhas "lat, lng" simples se não tiver GeoJSON.
- Meus dados de rota são enviados para algum lugar quando eu codifico ou decodifico?
- Não. A codificação e a decodificação rodam inteiramente no seu navegador usando o algoritmo padrão, então as coordenadas e as polylines que você cola são processadas no seu dispositivo e nunca são enviadas para um servidor.
Ferramentas relacionadas
Todas as ferramentas de ArrayKit