Ir para o conteúdo
Toova
Todas as Ferramentas

Codificador e Decodificador de Geohash

Privado por design — roda inteiramente no seu navegador

No modo encode, informe latitude e longitude (com slider de precisão) para gerar um geohash. No modo decode, cole um hash para ver as coordenadas do centro e os limites sudoeste/nordeste da célula. Útil para índices espaciais, consultas por proximidade e armazenamento pseudonimizado de localização.

O que um geohash realmente codifica

O geohash intercala os bits de longitude e latitude e codifica o resultado em base32 com um alfabeto custom (0-9 e b-z sem a/i/l/o). Cada caractere carrega 5 bits de precisão, alternando entre refinamento de longitude e latitude. A saída é uma string curta e URL-safe cujo prefixo mapeia diretamente para contenção espacial: todo geohash começando com "dr5ru" mora dentro da célula chamada dr5ru.

Precisão e tamanho da célula

Em precisão 1 o mundo se divide em 32 células de aproximadamente 5.000 km de largura. Precisão 5 (~ 4,9 km no equador) é o tamanho típico para agrupar a nível de bairro. Precisão 9 (~ 5 m) é a granularidade certa para um único edifício. Precisão 12 chega a ~ 4 cm e raramente é necessária fora de trabalhos de levantamento. As células encolhem conforme se aproximam dos polos.

Por que usar geohashes

Prefixos de string indexam bem em PostgreSQL, Redis, DynamoDB e SQLite. Para achar pontos dentro de 5 km de um alvo, calcule o geohash do alvo na precisão 5 e procure por correspondências de prefixo — muito mais barato que consultas de distância geodésica. O efeito de borda da célula é real, então pipelines em produção também consultam as oito células vizinhas. O geohash é mais simples e antigo que S2/H3 e segue sendo a opção mais leve para proximidade em rota quente.

Perguntas Frequentes

Por que precisão 5 cobre uma cidade inteira?
Cada caractere carrega 5 bits, então precisão 5 = 25 bits ≈ células de 4,9 km × 4,9 km perto do equador. Cidades com poucos quilômetros cabem dentro de uma célula, daí muitos apps de mobilidade ou delivery agruparem motoristas e pedidos por geohash de precisão 5 para casar rápido.
Dois pontos próximos com geohashes diferentes — bug?
Não, é uma característica da grade. Pontos que ficam em lados opostos da borda da célula não compartilham prefixo mesmo a 1 m de distância. Em produção é comum consultar o hash alvo mais as oito células vizinhas (um anel 3×3).
Qual é o alfabeto do geohash?
0-9 mais b-z sem a, i, l, o. A exclusão dessas letras evita confusão com 0/1 em fontes de baixo contraste. É um base32 com esse alfabeto custom, diferente do base32 da RFC 4648.
Como o geohash se compara a S2 e H3?
O geohash é o mais simples e antigo dos três. S2 e H3 usam grades esféricas ou hexagonais que lidam melhor com distorção nos polos. Para a maioria dos casos de proximidade em apps o geohash já basta; para navegação e roteamento em escala planetária, S2/H3 compensam.
Dá para indexar geohashes em PostgreSQL com segurança?
Sim. Trate o hash como coluna text com índice btree e buscas por prefixo (LIKE 'dr5ru%') ficam muito rápidas. Para consultas espaciais complete com PostGIS se precisar; para a maioria dos casos prefixo basta.
O Toova registra as coordenadas que eu codifico?
Não. Encode e decode rodam em JavaScript nesta página. As coordenadas e o hash resultante nunca chegam num servidor da Toova.