Ir al contenido
Toova
Todas las herramientas

Codificador y Decodificador Geohash

Privacidad por diseño — se ejecuta completamente en tu navegador

En modo encode ingresa latitud y longitud (con un slider de precisión) para obtener un geohash. En modo decode pega un hash y ve las coordenadas del centro y los límites suroeste/noreste de su celda. Útil para índices espaciales, búsquedas por proximidad y almacenamiento pseudonimizado de ubicaciones.

Lo que un geohash realmente codifica

El geohash entrelaza los bits de longitud y latitud y codifica el resultado en base32 con un alfabeto personalizado (0-9 y b-z sin a/i/l/o). Cada carácter aporta 5 bits de precisión, alternando longitud y latitud. La salida es una cadena corta y URL-safe cuya relación de prefijo representa contención espacial: cualquier geohash que empiece con "dr5ru" cae dentro de la celda llamada dr5ru.

Precisión y tamaño de celda

Con precisión 1 el mundo se divide en 32 celdas de unos 5.000 km de ancho. Precisión 5 (~ 4,9 km en el ecuador) es ideal para agrupar a nivel de barrio. Precisión 9 (~ 5 m) es la granularidad de un edificio. Precisión 12 baja a unos 4 cm pero rara vez se necesita fuera de trabajos topográficos. Las celdas se encogen al acercarse a los polos.

Por qué usar geohashes

Los prefijos de cadena se indexan bien en PostgreSQL, Redis, DynamoDB y SQLite. Para encontrar puntos a menos de 5 km de un objetivo, calcula su geohash a precisión 5 y busca por prefijo — mucho más barato que consultas de distancia geodésica. El efecto de borde de la celda existe, por eso los pipelines productivos también consultan las ocho celdas vecinas. Geohash es más simple y antiguo que S2/H3 y sigue siendo lo más ligero para proximidad en ruta crítica.

Preguntas frecuentes

¿Por qué la precisión 5 cubre una ciudad entera?
Cada carácter aporta 5 bits, así que precisión 5 = 25 bits ≈ celdas de 4,9 km × 4,9 km cerca del ecuador. Ciudades de pocos kilómetros caben dentro de una celda; por eso muchas apps de movilidad y delivery agrupan conductores y pedidos por geohash de precisión 5 para emparejarlos rápido.
Dos puntos cercanos con geohashes distintos — ¿es un bug?
No, es una característica de la rejilla. Puntos a ambos lados del borde de la celda no comparten prefijo aunque estén a 1 m. En producción se suele consultar el hash objetivo más las ocho celdas vecinas (un anillo 3×3).
¿Qué alfabeto usa el geohash?
0-9 más b-z sin a, i, l, o. Esa exclusión evita confusiones con 0/1 en fuentes poco contrastadas. Es base32 con ese alfabeto personalizado, distinto del base32 de la RFC 4648.
¿Cómo se compara el geohash con S2 y H3?
El geohash es el más simple y antiguo de los tres. S2 y H3 usan rejillas esféricas o hexagonales y manejan mejor la deformación cerca de los polos. Para la mayoría de casos de proximidad a nivel de app, geohash basta; para navegación a escala planetaria, S2 y H3 valen la pena.
¿Se pueden indexar geohashes en PostgreSQL con seguridad?
Sí. Trata el hash como columna text con índice btree y las búsquedas por prefijo (LIKE 'dr5ru%') vuelan. Para consultas espaciales completa con PostGIS; en la mayoría de casos el prefijo basta.
¿Toova registra las coordenadas que codifico?
No. Encode y decode se ejecutan en JavaScript en esta página. Las coordenadas y el hash resultante nunca llegan a un servidor de Toova.